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 可配置服務器上的設置。

值得一提的是,安裝了 Remote-SSH 之后,我們就可以在服務器上安裝其他插件,從而使用服務器的環境,相關文件放在 .vscode-server 目錄下。比如,我在我的服務器上裝了 Python,Pylance 和 Jupyter。

編輯器和調試
安裝以下插件可配置 vscode 的編輯器和調試環境
- Python:基本的語言支持和調試環境
- Pylance:語法高亮,基本可替代 Pycharm 的語法高亮
- Jupyter:代碼塊調試,vscode 原生支持
- vscode-icons:更精致的圖標,見圖知義
- TODO Highlight:高亮
TODO,補充功能
此外,還可以配置代碼規范,如 flake8。
最終,編輯器界面如下所示

上述界面實現了以下功能:
- 基於 Python + Pylance 的語言支持
- 基於 Jupyter 的當前目錄代碼塊調試
- 基於 Remote-SSH 的文件同步(直接編輯服務器文件)
- 可選擇 python 解釋器,可在命令行運行
- 美觀的文件目錄
此外是調試界面

上述界面實現了以下功能:
- 斷點調試
- 查看變量
- 控制台交互式調試
至此,似乎基本完成了對 Pycharm 的替代,但在實際使用過程中還發現以下問題:
- 通過 ssh 直接編輯服務器文件,導致本地沒有備份
- 暫缺類似 Pycharm 的單詞拼寫檢查、變量命名建議代碼規范建議
