我的编程环境
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 密匙对登录的配置方法参考这里
- 虚拟机配置和其他云服务器没什么区别,我的腾讯云服务器也配置成功,阿里云也应该差不多,同时强烈建议大家使用密匙对登录方式 (可以查看自己云服务商的文档)。