如何在VsCode代碼中的做Python開發

Visual Studio Code是程序員可用的最酷的代碼編輯器之一,是一個可在所有平臺上使用的開源,可擴展,輕量級編輯器。正是這些品質使微軟的 Visual Studio Code 非常受歡迎,併成為Python開發的絕佳平臺。

在本文中,您將學習Visual Studio Code中的Python開發,包括如何:

  • 安裝Visual Studio代碼
  • 發現並安裝使Python開發變得簡單的擴展
  • 編寫一個簡單的Python應用程序
  • 瞭解如何在VS Code中運行和調試現有的Python程序
  • 將Visual Studio代碼連接到Git和GitHub以與全世界共享您的代碼

我們假設您熟悉Python開發,並且已經在您的系統上安裝了某種形式的Python(Python 2.7,Python 3.6 / 3.7,Anaconda或其他)。提供了Ubuntu和Windows的屏幕截圖和演示。由於Visual Studio Code在所有主要平臺上運行,因此您可能會看到稍微不同的UI元素,並且可能需要修改某些命令。

免費獎勵: 關於Python掌握的5個想法,Python開發人員的免費課程,向您展示將Python技能提升到新水平所需的路線圖和思維模式。

為Python開發安裝和配置Visual Studio代碼

在任何平臺上都可以安裝Visual Studio代碼。可以獲得Windows,Mac和Linux的完整說明,並且每月更新編輯器,其中包含新功能和錯誤修復。您可以在Visual Studio Code網站上找到所有內容:

如何在VsCode代碼中的做Python開發

如果您想知道,Visual Studio Code(或簡稱VS代碼)幾乎沒有其他名稱與其基於Windows的較大的同名Visual Studio共享。

Visual Studio Code內置了對多種語言的支持,以及具有豐富生態系統支持的擴展模型。VS Code每月更新一次,您可以在Microsoft Python博客上了解最新信息。微軟甚至可以讓任何人克隆和貢獻VS Code GitHub倉庫。(提示公關洪水。)

該VS代碼UI是有據可查的,所以我不會在這裡老調重彈吧:

如何在VsCode代碼中的做Python開發

Python開發的擴展

如上所述,VS Code通過詳細記錄的擴展模型支持多種編程語言的開發。在Python擴展使Python開發在Visual Studio代碼,具有以下特點:

  • 支持Python 3.4及更高版本,以及Python 2.7
  • 使用IntelliSense完成代碼
  • 掉毛
  • 調試支持
  • 代碼片段
  • 單元測試支持
  • 自動使用conda和虛擬環境
  • Jupyter環境和Jupyter筆記本中的代碼編輯
如何在VsCode代碼中的做Python開發

Visual Studio代碼擴展不僅涵蓋編程語言功能:

  • Keymaps允許已熟悉Atom,Sublime Text,Emacs,Vim,PyCharm或其他環境的用戶感到賓至如歸。
  • 主題是自定義UI,無論您喜歡在明亮,黑暗或更豐富多彩的地方進行編碼。
  • 語言包提供本地化體驗。

以下是我認為有用的一些其他擴展和設置:

  • GitLens直接在您的編輯窗口中提供了大量有用的Git功能,包括責備註釋和存儲庫探索功能。
  • 通過
  • File, Auto Save
  • 從菜單中選擇,可以輕鬆打開自動保存。默認延遲時間為1000毫秒,也是可配置的。
  • Settings Sync允許您使用GitHub在不同的安裝中同步VS Code設置。如果您在不同的計算機上工作,這有助於保持您的環境一致。
  • 泊塢窗可以讓你快速,方便地與碼頭工人工作,幫助作者Dockerfile和docker-compose.yml,打包和部署您的項目,甚至產生適當的泊塢文件為您的項目。

當然,在使用VS Code時,您可能會發現其他有用的擴展。請在評論中分享您的發現和設置!

單擊活動欄上的“ 擴展”圖標可以訪問發現和安裝新擴展和主題。您可以使用關鍵字搜索擴展程序,以多種方式對結果進行排序,以及快速輕鬆地安裝擴展程序。對於本文,通過python在活動欄上鍵入Extensions項並單擊Install安裝 Python擴展:

如何在VsCode代碼中的做Python開發

您可以以相同的方式查找和安裝上述任何擴展。

Visual Studio代碼配置文件

值得一提的是,Visual Studio Code可通過用戶和工作區設置進行高度配置。

用戶設置在所有Visual Studio代碼實例中是全局的,而工作空間設置是特定文件夾或項目工作空間的本地設置。工作區設置為VS Code提供了很大的靈活性,我在整篇文章中都提到了工作區設置。工作區設置作為.json文件存儲在調用的項目工作區本地的文件夾中.vscode。

啟動一個新的Python程序

讓我們開始使用新的Python程序探索Visual Studio Code中的Python開發。在VS Code中,鍵入+以打開新文件。(您也可以從菜單中選擇“ 文件”,“新建 ”。)

注意: Visual Studio代碼UI提供命令選項板,您無需離開鍵盤即可從中搜索和執行任何命令。使用+ +打開命令調色板,鍵入File: New File,然後單擊以打開新文件。

無論你如何到達那裡,你都應該看到一個類似於以下內容的VS Code窗口:

如何在VsCode代碼中的做Python開發

打開新文件後,您可以輸入代碼。

輸入Python代碼

對於我們的測試代碼,讓我們快速編寫Eratosthenes篩選器(它可以找到小於給定數量的所有質數)。開始在剛剛打開的新選項卡中鍵入以下代碼:

sieve = [True] * 101

for i in range(2, 100):

你應該看到類似的東西:

如何在VsCode代碼中的做Python開發

等等,發生了什麼事?為什麼Visual Studio Code不進行任何關鍵字突出顯示,任何自動格式化或任何真正有用的東西?是什麼賦予了?

答案是,現在,VS Code不知道它正在處理什麼類型的文件。調用緩衝區Untitled-1,如果你查看窗口的右下角,你會看到單詞

純文本

要激活Python擴展,請保存文件(通過選擇File,Save from the menu,File:Save Filefrom the Command Palette,或者只使用+)as sieve.py。VS Code將看到.py擴展並將文件正確解釋為Python代碼。現在你的窗口應該是這樣的:

如何在VsCode代碼中的做Python開發

那好多了!VS Code會自動將文件重新格式化為Python,您可以通過檢查左下角的語言模式來驗證。

如果您有多個Python安裝(如Python 2.7,Python 3.x或Anaconda),您可以通過單擊語言模式指示器或選擇Python來更改VS Code使用的Python解釋器從命令選項板中選擇Interpreter。VS代碼支持的格式使用pep8

默認,但你可以選擇black或者yapf如果你想。

我們現在添加其餘的Sieve代碼。要在工作中查看IntelliSense,請直接鍵入此代碼而不是剪切和粘貼,您應該看到如下內容:

如何在VsCode代碼中的做Python開發

這是Eratosthenes基本篩選的完整代碼:

sieve = [True] * 101

for i in range(2, 100):

if sieve[i]:

print(i)

for j in range(i*i, 100, i):

sieve[j] = False

當您鍵入此代碼時,VS Code會自動縮進下面的行

for和if語句,添加右括號,併為您提供建議。這就是IntelliSense為您服務的力量。

運行Python代碼

現在代碼已經完成,您可以運行它。沒有必要讓編輯器執行此操作:Visual Studio Code可以直接在編輯器中運行此程序。保存文件(使用+),然後在編輯器窗口中右鍵單擊並選擇在終端中運行Python文件

您應該會看到終端窗格顯示在窗口的底部,並顯示您的代碼輸出。

Python Linting支持

您可能在鍵入時看到彈出窗口,說明linting不可用。您可以從彈出窗口快速安裝linting支持,默認為PyLint。VS Code還支持其他短信。這是撰寫本文時的完整列表:

  • pylint
  • flake8
  • mypy
  • pydocstyle
  • pep8
  • prospector
  • pyllama
  • bandit

在Python的掉毛頁有關於如何設置每個棉短絨的完整細節。

注意:linter的選擇是項目工作空間設置,而不是全局用戶設置。

編輯現有的Python項目

在Eratosthenes的Sieve示例中,您創建了一個Python文件。這很好,作為一個例子,但很多時候,你會創建更大的項目,並在更長的時間內處理它們。典型的新項目工作流程可能如下所示:

  • 創建一個文件夾來保存項目(可能包含一個新的GitHub項目)
  • 切換到新文件夾
  • 使用該命令創建初始Python代碼
  • code filename.py

在Python項目上使用Visual Studio Code(而不是單個Python文件)開闢了更多功能,讓VS Code真正發揮作用。讓我們來看看它如何與更大的項目一起工作。

在上一個千禧年的晚些時候,當我還是一個更年輕的程序員時,我編寫了一個計算器程序,使用Edsger Dijkstra的調車碼算法改編的方法解析用中綴符號編寫的方程式。

為了演示Visual Studio Code的以項目為中心的功能,我開始在Python中重新創建分流碼算法作為方程式評估庫。要繼續關注,請隨意在本地克隆回購。

在本地創建文件夾後,您可以快速打開VS Code中的整個文件夾。我的首選方法(如上所述)修改如下,因為我已經創建了文件夾和基本文件:

cd / path / to / project代碼。

VS代碼的理解,並會使用,任何的virtualenv,pipenv,或暢達打開這種方式,當它看到的環境。您甚至不需要首先啟動虛擬環境!您甚至可以使用

文件,菜單中的“ 打開文件夾 ”,鍵盤上的+,+或命令選項板中的“ 文件:打開文件夾”從UI 打開文件夾

對於我的方程式eval庫項目,這是我看到的:

如何在VsCode代碼中的做Python開發

當Visual Studio代碼打開文件夾時,它還會打開您上次打開的文件。(這是可配置的。)您可以打開,編輯,運行和調試列出的任何文件。左側活動欄中的資源管理器視圖為您提供文件夾中所有文件的視圖,並顯示當前選項卡集中存在多少未保存文件。

測試支持

如果在當前環境中安裝了這些框架,VS Code可以自動識別在框架中編寫的現有Python測試unittest,pytest或者Nose框架。我為等式eval庫編寫了一個單元測試unittest,您可以將其用於此示例。

要從項目中的任何Python文件運行現有的單元測試,請右鍵單擊並選擇“運行當前單元測試文件”。系統將提示您指定測試框架,在項目中搜索測試的位置以及測試使用的文件名模式。

所有這些都保存為本地

.vscode/settings.json

文件中的工作區設置,並可在此處進行修改。對於此等式項目,您可以選擇unittest當前文件夾和模式*_test.py

設置測試框架並發現測試後,可以通過單擊狀態欄上的“ 運行測試 ”並從“命令選項板”中選擇一個選項來運行所有測試:

如何在VsCode代碼中的做Python開發

您甚至可以通過在VS代碼中打開測試文件,單擊狀態欄上的運行測試,然後選擇運行單元測試方法...以及要運行的特定測試來運行單個測試。這使得解決單個測試失敗並重新運行失敗的測試變得微不足道,這是一個巨大的節省時間!測試結果顯示在Python Test Log下的Output窗格中。

調試支持

即使VS Code是代碼編輯器,也可以直接在VS Code中調試Python。VS Code提供了許多您期望從良好的代碼調試器中獲得的功能,包括:

  • 自動變量跟蹤
  • 觀看錶達式
  • 斷點
  • 調用堆棧檢查

您可以在活動欄上的Debug

視圖中看到它們:

如何在VsCode代碼中的做Python開發

調試器可以控制在內置終端或外部終端實例中運行的Python應用程序。它可以附加到已經運行的Python實例,甚至可以調試Django和Flask應用程序。

在單個Python文件中調試代碼就像啟動調試器一樣簡單。您可以分別使用和跳過函數,然後使用+退出調試器。通過單擊編輯器窗口中的左邊距來設置斷點,或使用鼠標設置斷點。

在開始調試更復雜的項目(包括Django或Flask應用程序)之前,需要先設置然後選擇調試配置。設置調試配置相對簡單。從Debug視圖中,選擇Configuration下拉列表,然後選擇Add Configuration,並選擇Python

如何在VsCode代碼中的做Python開發

Visual Studio Code將在當前文件夾下創建一個調試配置文件,該文件

.vscode/launch.json

允許您設置特定的Python配置以及調試特定應用程序的設置,如Django和Flask。

您甚至可以執行遠程調試,並調試Jinja和Django模板。

launch.json

在編輯器中關閉該文件,然後從“ 配置”下拉列表中為您的應用程序選擇正確的配置。

Git集成

VS Code內置了對源代碼管理的支持,並且開箱即用,支持Git和GitHub。您可以在VS Code中安裝對其他SCM的支持,並將它們並排使用。可以從“ 源代碼管理”視圖訪問源代碼管理

如果您的項目文件夾包含一個.git文件夾,VS Code會自動打開所有Git / GitHub功能。以下是您可以執行的許多任務:

如何在VsCode代碼中的做Python開發

  • 將文件提交給Git
  • 將更改推送到遠程存儲庫並從中取出更改
  • 簽出現有或創建新的分支和標籤
  • 查看並解決合併衝突
  • 查看差異

所有這些功能都可以直接從VS Code UI獲得:

如何在VsCode代碼中的做Python開發

VS Code還將識別在編輯器外部進行的更改並且行為正確。

在VS Code中提交最近的更改是一個相當簡單的過程。修改後的文件顯示在“ 源代碼管理”視圖中,帶有M標記,而新的未跟蹤文件則使用U標記。通過將鼠標懸停在文件上然後單擊加號(+)來暫停更改。在視圖頂部添加提交消息,然後單擊複選標記以提交更改:

如何在VsCode代碼中的做Python開發

您也可以從VS Code中將本地提交推送到GitHub。從“ 源代碼管理”視圖菜單中選擇“ 同步” ,或單擊分支指示器旁邊狀態欄上的“ 同步更改 ” 。

結論

Visual Studio Code是最酷的通用編輯器之一,也是Python開發的理想選擇。在本文中,您瞭解到:

  • 如何在任何平臺上安裝VS Code
  • 如何查找和安裝擴展以啟用特定於Python的功能
  • VS Code如何使編寫簡單的Python應用程序變得更容易
  • 如何在VS Code中運行和調試現有的Python程序
  • 如何使用VS Code中的Git和GitHub存儲庫

Visual Studio Code已成為我的Python和其他任務的默認編輯器,我希望你也有機會成為你的。


分享到:


相關文章: