Fork me on GitHub

vscode 搭建类 Pycharm 开发环境

vscode 搭建类 Pycharm 开发环境

动机

Pycharm 是地表最强的 python 集成开发环境(IDE),但仍有以下缺点:

  • 臃肿,不适用于性能较差的笔记本
  • 远程调试功能需要付费,学生版工作后不能使用
  • 只支持 python,缺少灵活性

与之对应的,vscode 是地表最强的编辑器,因其体积小,运行快,可扩展性强而备受追捧。在微软爸爸的支持下,通过 vscode 搭建 python IDE 大有替代 Pycharm 的潜力。按个人理解,vscode 有以下关键逻辑:

  • 本身只做最简单的编辑器,一切的扩展由插件完成
  • 所有的配置均可通过文件完成,自定义程度高
  • Command Palette 可作为几乎所有功能的入口,包括安装插件和配置文件

既然要对标 Pycharm,我们首先要明白 Pycharm 为什么优秀。我根据自己的理解分为编辑器和调试两方面,核心功能如下:

  • 编辑器
    • 语法高亮
    • 自动补全
    • 代码规范
    • 跳转
    • 代码同步
  • 调试
    • 远程调试
    • 交互式调试
    • 代码块测试
    • 查看变量

以下从编辑器、调试这两大方面配置 vscode,使之具备和 Pycharm 类似的功能。

打造 python IDE

远程连接

在介绍编辑器和调试配置之前,先介绍远程连接,因为很多情况下我们需要使用服务器的环境。vscode 通过插件 Remote-SSH 实现远程连接。见名知义,该插件依赖于 ssh,可以实现文件同步和调用远程环境。ssh 需要输入密码,为使用方便,可配置 ssh 免密登录,linux 下可通过 ssh-copy-id 完成,windows 下则无该命令,不过也可以通过命令行实现

ssh 配置成功后效果图如下所示,左侧可显示已知服务器及项目,通过 Command Palette 可配置服务器上的设置。

ssh

值得一提的是,安装了 Remote-SSH 之后,我们就可以在服务器上安装其他插件,从而使用服务器的环境,相关文件放在 .vscode-server 目录下。比如,我在我的服务器上装了 Python,Pylance 和 Jupyter。

vscode-server

编辑器和调试

安装以下插件可配置 vscode 的编辑器和调试环境

  • Python:基本的语言支持和调试环境
  • Pylance:语法高亮,基本可替代 Pycharm 的语法高亮
  • Jupyter:代码块调试,vscode 原生支持
  • vscode-icons:更精致的图标,见图知义
  • TODO Highlight:高亮 TODO,补充功能

此外,还可以配置代码规范,如 flake8

最终,编辑器界面如下所示

editor

上述界面实现了以下功能:

  • 基于 Python + Pylance 的语言支持
  • 基于 Jupyter 的当前目录代码块调试
  • 基于 Remote-SSH 的文件同步(直接编辑服务器文件)
  • 可选择 python 解释器,可在命令行运行
  • 美观的文件目录

此外是调试界面

debug

上述界面实现了以下功能:

  • 断点调试
  • 查看变量
  • 控制台交互式调试

至此,似乎基本完成了对 Pycharm 的替代,但在实际使用过程中还发现以下问题:

  • 通过 ssh 直接编辑服务器文件,导致本地没有备份
  • 暂缺类似 Pycharm 的单词拼写检查、变量命名建议代码规范建议

其他 vscode 资源

通过 vscode 还可以配置 vimlatexmarkdown 等,潜力巨大。

posted @ 2021-01-27 23:14  Rotopia  阅读(3005)  评论(0编辑  收藏  举报