1. 程式人生 > >VSCode編輯器編寫Python代碼

VSCode編輯器編寫Python代碼

管理器 name 遠程調試 IT 經驗 描述 support 錯誤 上下文

  在學習Python的過程中,一直沒有找到比較趁手的第三方編輯器,用的最多的還是Python自帶的編輯器。由於本人用慣了宇宙第一IDE(Visual Studio),所以當Visual Studio Code出現時,心情有點小激動呢。從我的使用經驗出發,可以說VSCode用來寫Python真的是再合適不過了,你將體驗到絲滑的編程體驗和無限擴展的可能。而且,如果你的項目是包含多種語言的,比如Web開發,你不必再開多個編輯器和其他工具,因為這一切都可以在VSCode裏完成了。

搭建環境

  在VSCode中搜索擴展Python,就是這貨:

技術分享圖片

  安裝後,重新加載。上圖中我因為已經裝過了,所以顯示的是禁用、卸載按鈕。

  下面就可以愉快的和Python玩耍了。是不是超方便?

基本操作

  快在VSCode開始你的第一段Python代碼吧,Python插件自帶的Pylint功能會在你輸入的過程中給你自動提示,自動完成,以及錯誤提示。

技術分享圖片

  這裏需要提醒各位PythonER們,VSCode包括VS中,Tab都默認是4個空格。

  常用的幾個操作快捷鍵,估計VSer們都能無痛轉換:

  • 首先是F1/Ctrl+Shit+P萬能鍵,誰用誰知道
  • Ctrl+P:文件切換
  • Ctrl+空格:自動提示
  • F12/Ctrl+左鍵:跳轉到定義
  • Shift+F12:預覽定義
  • Ctrl+G:跳轉行號
  • Ctrl+/:註釋切換
  • Alt+↑↓:整行上下移動
  • Ctrl+↑↓:編輯器垂直滾動條上下移動,光標不動
  • Ctrl+Backspace/Delete:整詞/連續空白刪除
  • Ctrl+→←:光標整詞移動
  • Ctrl+F查找/Ctrl+Shift+F在文件中查找,這都屬於通用的,類似的就不說了啊。

  預覽定義圖:

技術分享圖片

調試操作

  隨時隨地,F5調試運行。註意,VSCode默認在調試後,會停在第一句,如下圖。

  調試快捷鍵與VS基本相同。

  • F5:調試/繼續,
  • F10:單步跳過,
  • F11:單步進入,
  • Shift+F11:跳出。
  • F9:切換斷點

技術分享圖片

  左側Debug窗口顯示的從上到下依次是調試所用的模式,變量(局部變量,監視),調用堆棧,斷點等。基本上我們需要的功能都在這裏了。

技術分享圖片

  有個不太好的設計就是變量、監視這些地方寬度太小,查看一些長的變量不如VS方便。不過好在我們有調試控制臺啊,直接敲上變量名就好了。

  這裏需要提醒一下的是,左上角的下拉選擇調試模式中,常用的兩個是Python和Integrated Terminal/Console,第一個就是在插件自帶的環境中調試運行,第二個就是集成的控制臺中。問題是,第一種暫不支持input()輸入,所以想調試帶input的程序,就選擇Integrated Terminal/Console或者External Terminal/Console也是可以的。

Git支持

  集成了Git支持,這是很棒的功能,不僅在行首用不同顏色標識添加、刪除、修改的行,點擊行首色塊,還能顯示對比。資源管理器中也用不同顏色和標記提示修改的文件。如圖:

技術分享圖片

  想要提交時,只需要切換到左側源代碼管理,Commit就行了。

技術分享圖片

總結

  VSCode小巧、快速,跨平臺,界面炫酷,各種擴展,是時候換用新的VSCode了。

  這畢竟是微軟出品,隨便從VisualStudio項目組拉幾個人就能甩Sublime、Atom好幾條街了(暫不提Vim),讓我有一種一旦用起來就停不下來的感覺。

  下一篇,計劃介紹一下幾個好用的VSCode擴展。

  在VSCode中搜索擴展Python,就是這貨:

技術分享圖片

  安裝後,重新加載。上圖中我因為已經裝過了,所以顯示的是禁用、卸載按鈕。

  下面就可以愉快的和Python玩耍了。是不是超方便?

基本操作

  快在VSCode開始你的第一段Python代碼吧,Python插件自帶的Pylint功能會在你輸入的過程中給你自動提示,自動完成,以及錯誤提示。

技術分享圖片

  這裏需要提醒各位PythonER們,VSCode包括VS中,Tab都默認是4個空格。

  常用的幾個操作快捷鍵,估計VSer們都能無痛轉換:

  • 首先是F1/Ctrl+Shit+P萬能鍵,誰用誰知道
  • Ctrl+P:文件切換
  • Ctrl+空格:自動提示
  • F12/Ctrl+左鍵:跳轉到定義
  • Shift+F12:預覽定義
  • Ctrl+G:跳轉行號
  • Ctrl+/:註釋切換
  • Alt+↑↓:整行上下移動
  • Ctrl+↑↓:編輯器垂直滾動條上下移動,光標不動
  • Ctrl+Backspace/Delete:整詞/連續空白刪除
  • Ctrl+→←:光標整詞移動
  • Ctrl+F查找/Ctrl+Shift+F在文件中查找,這都屬於通用的,類似的就不說了啊。

  預覽定義圖:

技術分享圖片

調試操作

  隨時隨地,F5調試運行。註意,VSCode默認在調試後,會停在第一句,如下圖。

  調試快捷鍵與VS基本相同。

  • F5:調試/繼續,
  • F10:單步跳過,
  • F11:單步進入,
  • Shift+F11:跳出。
  • F9:切換斷點

技術分享圖片

  左側Debug窗口顯示的從上到下依次是調試所用的模式,變量(局部變量,監視),調用堆棧,斷點等。基本上我們需要的功能都在這裏了。

技術分享圖片

  有個不太好的設計就是變量、監視這些地方寬度太小,查看一些長的變量不如VS方便。不過好在我們有調試控制臺啊,直接敲上變量名就好了。

  這裏需要提醒一下的是,左上角的下拉選擇調試模式中,常用的兩個是Python和Integrated Terminal/Console,第一個就是在插件自帶的環境中調試運行,第二個就是集成的控制臺中。問題是,第一種暫不支持input()輸入,所以想調試帶input的程序,就選擇Integrated Terminal/Console或者External Terminal/Console也是可以的。

Git支持

  集成了Git支持,這是很棒的功能,不僅在行首用不同顏色標識添加、刪除、修改的行,點擊行首色塊,還能顯示對比。資源管理器中也用不同顏色和標記提示修改的文件。如圖:

技術分享圖片

  想要提交時,只需要切換到左側源代碼管理,Commit就行了。

技術分享圖片

總結

  VSCode小巧、快速,跨平臺,界面炫酷,各種擴展,是時候換用新的VSCode了。

  這畢竟是微軟出品,隨便從VisualStudio項目組拉幾個人就能甩Sublime、Atom好幾條街了(暫不提Vim),讓我有一種一旦用起來就停不下來的感覺。

  下一篇,計劃介紹一下幾個好用的VSCode擴展。

VSCode好用的Python插件及配置

MS Python插件。

這是微軟官方的Python插件,已經自帶很多功能。下面是插件功能描述,其中部分內容我做了翻譯。

a) Linting (Prospector, Pylint, pycodestyle, Flake8, pylama, pydocstyle, mypy with config files and plugins)靜態代碼掃描(可以理解為代碼語法和格式錯誤提示,支持多種linter)

b) Intellisense (autocompletion with support for PEP 484 and PEP 526)智能提示(自動補全,自動完成,包括了所在上下文的方法和變量)

c) Auto indenting自動縮進

d) Code formatting (autopep8, yapf, with config files)代碼自動格式化

e) Code refactoring (Rename, Extract Variable, Extract Method, Sort Imports)代碼重構(重命名,提取變量,提取方法,對import排序)

f) Viewing references, code navigation, view signature查看引用,代碼導航,查看簽名

g) Excellent debugging support (remote debugging over SSH, mutliple threads, django, flask)完美的調試支持(通過SSH遠程調試,多線程,django,flask)

h) Running and debugging Unit tests (unittest, pytest, nose, with config files)運行和調試單元測試

i) Execute file or code in a python terminal在python終端執行文件或代碼

j) Snippets代碼片段

可見已經很強大了,滿足了基本的需要。比如要自動格式化代碼,只需要按下Alt+Shift+F,vscode就會調用autopep8自動格式化代碼(題外話,VisualStudio是Ctrl+K,D)。

但是我們不滿足於此,我們要實現自己的style。例如Snippets,比如我們輸入for,在提示框中選擇對應的snippet:

技術分享圖片

點擊回車或者tab,就變成了:

for target_list in expression_list:
    pass

我們如果要定義自己的Snippets,比如我們想要快速輸入for xx in enumerator()方式遍歷,該如何做呢。首先打開文件—首選項—用戶代碼片段。vscode會提示你選擇語言,我們輸入Python並回車,打開了python.json。內容格式為json,在根級下面新增一個自己的object,內容如下:

技術分享圖片
"For in enumerator": {
        "prefix": "for/enum",
        "body": [
            "for ${1:index}, ${2:item} in enumerate(${3:array}):",
            "    ${4:pass}"
        ],
        "description": "For statement with enumerator"
    }
技術分享圖片

這樣在我們輸入for/enum再按回車後,就自動生成了:

for index, item in enumerate(array):
    pass

光標停留在index上並選中該詞,我們可以直接修改完,按tab切換到item,然後是array、pass。

  • Guides:縮進提示

有人說,vscode裏已經有縮進參考線了呀,還需要Guides做什麽?的確,vscode有縮進線,但是這個Guides比自帶的縮進線更好,請看下圖:

技術分享圖片

當前所在的級別縮進線會變紅,當前在哪一級一目了然。

  • vscode-icons文件圖標集,支持更多文件類型,最重要的,顏值更高!

技術分享圖片

  • 關於調試時自動暫停在第一句。

這裏可以配置,就是在lauch.json文件中,有個”stopOnEntry”:true,設置為false就可以不再暫停。

  • 其他

還有一些python插件配置,就不一一細講了,大家可以在設置中(文件-首選項-設置)搜索得到。包括:

a) autopep8/yapf:自動格式化代碼;

b) pylint-django:兼容django的pylint,需要用pip install;

c) flakes8:錯誤提示。

希望大家玩的愉快~

VSCode編輯器編寫Python代碼