我的编程环境
Last updated: 2019/12/21 Published at: 2019/12/21
2022-04-08 更新
之前的方案在我用了 MacOS 以及对于 docker 的更加熟悉之后,有待更新,之后再写一篇我现在的编程方案的文章。
以下为原文
引言
从大一接触 Linux 以来,就喜欢上了在 Linux 上敲击命令行的感觉,也坚持用 linux 当主力机了有个一年,但是也逐渐发现了日常使用 Linux 的问题,毕竟还是得用 QQ,得用 office 交作业,虽然也很喜欢 latex,但大部分学校作业交的还是 doc,而不是 pdf,这些虽然在 Linux 上也有解决办法,但这些解决办法都不能让人满意。我对现在的使用方法还是挺满意的,也是最新的解决办法。
同时很多便利的软件并不支持 Linux,这也使得我变得爱折腾,例如想下百度网盘的东西,哪怕本身就是超级会员,也难以在 Linux 上完成,这使我尝试 Aira 下载,提取直链下载,虽然最后能下成,但还是麻烦。其他还有很多诸如此类的问题,解决办法都得绕圈子。这使我渐渐放弃了单纯 Linux 机器的想法。
回顾一下我使用 Linux 的发行版
- Ubuntu 用了最久的,真心习惯了,文档也丰富
- deepin 颜值高和移植的国产软件不少,但出 bug 很难找到解决办法
- Manjaro 颜值在线,Arch 系列,用过一阵子
- CentOS,虽然很多教程都是基于这个发行版,但是我真的喜欢不起来
- 服务器常年用 Ubuntu LTS
习惯 shell 的我,再用回 Windows,可以说是相当难受,虽然 Win10 的 Power Shell 有很大的进步,但还是找不回 Linux 的感觉。所以我选择了虚拟机的方案。
虚拟机解决方案
接下来说说我尝试过的虚拟机解决方案,目前用的也是基于虚拟机的环境。包括这篇文章的编写,也是在虚拟机中完成的。有兴趣的也可以尝试一下
Linux+Xserver
这个方法很简单,就是使用 X-server 软件,将 Linux 图形界面转发到 windows 上来,我之前用这个办法写 Python,Pycharm 在 Linux 上的界面是可以转发过来的,但这个方法也有不少问题,例如无法输入中文等。推荐的 X-server 软件是 Vcxsrv 同时,Pycharm 有自带的远程调试功能,可以调用远程的解释器来执行代码,相关文档在这里我现在也是一直用这个办法来写 Python 的。
Linux+VSCode
在这里再次吹一波 VSCODE,不亏是微软出品的编辑器,功能齐全,在非大型工程的表现极佳,我平时小型的代码,和配置文件的编辑,都会使用 VSCODE。同时 Markdown 也是在 VSCode 中编写的。VScode 新推出不久的 remote-development,真的是相当完美一个功能。
Visual Studio Code 远程开发允许使用容器,远程计算机或 Linux 的 Windows 子系统 (WSL) 作为功能齐全的开发环境。您可以:
- 在您部署到的同一操作系统上进行开发,或使用更大或更专业的硬件。
- 将开发环境沙盒化,以避免影响本地计算机配置。
- 使新贡献者易于上手,并使每个人都处于一致的环境中。
- 使用本地操作系统上不可用的工具或运行时,或管理它们的多个版本。
- 使用 Windows Linux 子系统开发 Linux 部署的应用程序。
- 从多台机器或位置访问现有的开发环境
- 调试在其他位置 (例如客户站点或云中) 运行的应用程序。
我觉得对于有多台电脑的人来时,第五点相当有吸引力。而其实我这么折腾也就是是为了第 2、3、5、6 点。
官方文档写的相当好,我这里搬运也没有什么意思。但鉴于文档的 remote-ssh 是基于 AWS 的服务器来做示范,我这里提一下用虚拟机的不同点:
- 本地虚拟机固定 IP 比较容易
- 使用 SSH 密匙对登录的配置方法参考这里
- 虚拟机配置和其他云服务器没什么区别,我的腾讯云服务器也配置成功,阿里云也应该差不多,同时强烈建议大家使用密匙对登录方式 (可以查看自己云服务商的文档)。