Visual Studio Code 中的 Python

使用 Microsoft Python 擴充功能在 Visual Studio Code 中進行 Python 開發,不僅簡單、有趣且高產。該擴充功能使 VS Code 成為卓越的 Python 編輯器,且能適用於任何作業系統並支援多種 Python 直譯器。它充分發揮了 VS Code 的各項強大功能,提供自動完成、IntelliSense、Linting(程式碼檢查)、偵錯與單元測試,並能輕鬆切換 Python 環境,包括虛擬環境與 Conda 環境。

本文僅概述 Python 擴充功能針對 VS Code 所提供的各項功能。若要查看編輯、執行與偵錯程式碼的逐步教學,請使用下方的按鈕。

Python 教學課程

安裝 Python 與 Python 擴充功能

教學課程將引導您安裝 Python 並使用此擴充功能。您必須自行安裝 Python 直譯器,該程式與擴充功能是分開的。若要快速安裝,請使用 python.org 提供的 Python,並從 VS Code Marketplace 安裝該擴充功能

注意:為了協助您快速開始 Python 開發,您可以使用 Python 設定檔範本,其中包含實用的擴充功能、設定及 Python 程式碼片段。

一旦安裝了 Python 版本,請使用 Python: Select Interpreter(Python:選擇直譯器)指令進行選取。如果 VS Code 無法自動找到您要的直譯器,請參閱環境 - 手動指定直譯器

您可以透過設定來設定 Python 擴充功能。詳情請參閱 Python 設定參考

Windows Subsystem for Linux (WSL):如果您使用 Windows,WSL 是進行 Python 開發的絕佳方式。您可以在 Windows 上執行 Linux 發行版,且通常已預先安裝 Python。搭配 WSL 擴充功能,您可以在 WSL 環境中執行時,獲得完整的 VS Code 編輯與偵錯支援。若要了解更多資訊,請前往在 WSL 中開發或嘗試在 WSL 中工作教學課程。

執行 Python 程式碼

若要體驗 Python,請建立一個名為 hello.py 的檔案(使用檔案總管),並貼上以下程式碼

print("Hello World")

Python 擴充功能提供捷徑,可使用目前選取的直譯器執行 Python 程式碼(透過命令面板中的 Python: Select Interpreter 進行設定)。若要執行作用中的 Python 檔案,請點擊編輯器右上方的 Run Python File(執行 Python 檔案)播放按鈕。

Using the run python file in terminal button

您也可以使用 Python: Run Selection/Line in Python Terminal(Python:在 Python 終端機中執行選取範圍/行)指令(Shift+Enter)來執行個別程式碼行或選取的程式碼片段。如果沒有選取任何內容,Smart Send 會將游標所在位置周圍最小的可執行程式碼區塊傳送到 Python 終端機(Shift+Enter)。編輯器內的右鍵選單中也有相同的 Run Python > Run Selection/Line in Python Terminal 指令。在終端機/REPL 中執行選取範圍或程式碼行時,將持續使用同一個終端機,直到該終端機關閉為止。該終端機也適用於 Run Python File in Terminal(在終端機中執行 Python 檔案)。如果該終端機仍在執行 REPL,您應先離開 REPL (exit()) 或切換至其他終端機,再執行 Python 檔案。

Python 擴充功能會根據選取範圍的第一個非空行自動移除縮排,並根據需要將所有其他行向左移動。

該指令會在必要時開啟 Python 終端機;您也可以使用 Python: Start Terminal REPL(Python:啟動終端機 REPL)指令直接開啟互動式 REPL 環境,這會啟動一個已選定目前直譯器的終端機,然後執行 Python REPL。

如需更具體的逐步教學與其他執行程式碼的方式,請參閱執行程式碼教學課程

自動完成與 IntelliSense

Python 擴充功能支援使用目前選取的直譯器進行程式碼補全與 IntelliSense。IntelliSense 是多項功能的統稱,包括在所有檔案中以及針對內建模組和第三方模組提供智慧型程式碼補全(上下文相關的方法與變數建議)。

IntelliSense 會在您輸入時快速顯示方法、類別成員與說明文件。您隨時可以透過 ⌃Space (Windows, Linux Ctrl+Space) 觸發補全建議。將滑鼠游標懸停在識別項上,將會顯示更多相關資訊。

IntelliSense and autocomplete for Python code

使用 AI 強化程式碼完成功能

GitHub Copilot 是一款由 AI 驅動的程式碼完成工具,可協助您更快、更智慧地撰寫程式碼。您可以在 VS Code 中使用 GitHub Copilot 擴充功能 來產生程式碼,或從其產生的程式碼中學習。

GitHub Copilot extension in the VS Code Marketplace

GitHub Copilot 提供 Python 以外的語言以及多種架構的建議,包括 JavaScript、TypeScript、Ruby、Go、C# 和 C++。

您可以在 Copilot 說明文件中了解更多關於 Copilot 的入門資訊。

Linting

Linting 會分析您的 Python 程式碼以找出潛在錯誤,讓您能輕鬆導覽並修正各種問題。

Python 擴充功能可以應用多種不同的 Linter,包括 Pylint、pycodestyle、Flake8、mypy、pydocstyle、prospector 和 pylama。請參閱 Linting

偵錯

不再需要使用 print 陳述式來進行偵錯!VS Code 透過 Python Debugger 擴充功能為 Python 提供絕佳的偵錯支援,讓您能夠設定中斷點、檢查變數,並使用偵錯主控台深入了解程式如何逐步執行。您可以偵錯各種類型的 Python 應用程式,包括多執行緒、Web 及遠端應用程式。

關於 Python 偵錯的更具體資訊(例如設定 launch.json 檔案與實作遠端偵錯),請參閱 偵錯。一般 VS Code 偵錯資訊請參閱 偵錯文件

此外,DjangoFlask 教學課程提供了如何在 Web 應用程式環境中實作偵錯的範例,包括偵錯 Django 範本。

環境

Python 擴充功能會自動偵測安裝在標準位置的 Python 直譯器。它也能偵測工作區資料夾中的 Conda 環境以及虛擬環境。請參閱 設定 Python 環境

目前的環境會顯示在 VS Code 狀態列的右側

Status Bar showing a selected interpreter

如果未選取任何直譯器,狀態列也會有相應的提示

Status bar showing no selected Python interpreter

所選環境將用於 IntelliSense、自動補全、Linting、格式化以及任何其他與語言相關的功能。當您在終端機中執行或偵錯 Python,或使用 Terminal: Create New Terminal(終端機:建立新終端機)指令建立新終端機時,該環境也會被啟用。

若要變更目前的直譯器(包括切換至 Conda 或虛擬環境),請選取狀態列上的直譯器名稱,或使用 Python: Select Interpreter 指令。

Python: Select Interpreter command

VS Code 會為您顯示已偵測到的環境清單,以及您在使用者設定中手動新增的任何環境(請參閱 設定 Python 環境)。

Jupyter Notebook

若要在 VS Code 中啟用對 Jupyter Notebook 檔案 (.ipynb) 的 Python 支援,您可以安裝 Jupyter 擴充功能。Python 和 Jupyter 擴充功能共同運作,為您在 VS Code 中提供優質的 Notebook 體驗,使您能夠在支援 IntelliSense 的情況下直接檢視與修改程式碼儲存格,並執行與偵錯它們。

Jupyter notebook running in VS code in the Notebook Editor

您也可以透過 Jupyter: Export to Python Script(Jupyter:匯出為 Python 指令碼)指令將 Notebook 轉換並開啟為 Python 程式碼檔案。Notebook 的儲存格在 Python 檔案中會以 #%% 註解分隔,而 Jupyter 擴充功能會顯示 Run Cell(執行儲存格)或 Run Below(執行下方儲存格)的 CodeLens。選擇任一 CodeLens 皆會啟動 Jupyter 伺服器,並在 Python 互動式視窗中執行該儲存格。

Jupyter notebook running in VS Code and the Python interactive window

您也可以連接到遠端 Jupyter 伺服器來執行您的 Notebook。如需詳細資訊,請參閱 Jupyter 支援

測試

Python 擴充功能支援使用 Python 內建的 unittest 架構與 pytest 進行測試

為了執行測試,您必須在專案設定中啟用其中一個支援的測試架構。每個架構都有其特定的設定,例如用於識別測試探索之路徑與模式的參數。

一旦測試被發現,VS Code 會提供各種指令(在狀態列、命令面板及其他位置)來執行與偵錯測試。這些指令也允許您執行個別的測試檔案與方法。

設定

Python 擴充功能為其各項功能提供了廣泛的設定。這些設定詳述於相關主題中,例如編輯程式碼Linting偵錯測試。完整清單請參閱設定參考

Python 設定檔範本

設定檔 (Profiles) 讓您能根據目前的專案或任務,快速切換擴充功能、設定與 UI 版面配置。為了協助您開始 Python 開發,您可以使用 Python 設定檔範本,這是一個精選的設定檔,內含實用的擴充功能、設定與程式碼片段。您可以直接使用該設定檔範本,或將其作為進一步自訂專屬工作流程的起點。

您可以透過「設定檔」(Profiles) > 「建立設定檔...」(Create Profile...) 下拉式選單來選擇設定檔範本

Create Profile dropdown with profile templates

選擇設定檔範本後,您可以審閱設定與擴充功能,並移除不想包含在新設定檔中的個別項目。根據範本建立新設定檔後,對設定、擴充功能或 UI 所做的變更將會儲存在您的設定檔中。

Microsoft Python 擴充功能提供了本文先前描述的所有功能。安裝其他熱門的 Python 擴充功能,可為 VS Code 新增額外的 Python 語言支援。

  1. 開啟 Extensions(擴充功能)檢視(⇧⌘X (Windows, Linux Ctrl+Shift+X))。
  2. 輸入 'python' 來篩選擴充功能清單。

上述顯示的擴充功能是動態查詢的。點擊上方的擴充功能圖示,閱讀其描述與評論,以決定哪一個擴充功能最適合您。查看更多資訊請前往 Marketplace

後續步驟

© . This site is unofficial and not affiliated with Microsoft.