您現在的位置是:首頁 > 綜藝首頁綜藝

手把手教你如何在VSCode裡除錯python

由 i互聯時代 發表于 綜藝2021-08-19
簡介選擇配置會顯示一個列表,您可以從中選擇不同的配置:預設情況下,偵錯程式使用與VS Code的其他功能相同的python

vs怎麼執行雜項檔案

本文僅介紹Python特有的注意事項,主要是特定於Python的除錯配置,包括特定應用程式型別和遠端除錯的必要步驟。

手把手教你如何在VSCode裡除錯python

初始化配置

配置在除錯會話期間驅動VS Code的行為。 配置在launch。json檔案中定義,該檔案儲存在工作區的。vscode資料夾中。

注意為了更改除錯配置,您的程式碼必須儲存在一個資料夾中。

手把手教你如何在VSCode裡除錯python

點選左側此按鈕開始配置除錯選項

要使用Python配置生成launch。json檔案,請執行以下步驟:

1。選擇設定按鈕(在上圖中圈出)或使用Debug> Open configurations選單命令。

2。將從命令選項板開啟配置選單,允許您為開啟的檔案選擇所需的除錯配置型別。 現在,在出現的Select a debug configuration選單中,選擇Python File。

手把手教你如何在VSCode裡除錯python

注意透過除錯面板啟動除錯會話,F5或除錯>啟動除錯,如果不存在配置,也會開啟除錯配置選單。

1。然後,Python擴充套件建立並開啟一個launch。json檔案,該檔案包含基於您之前選擇的預定義配置,在本例中為Python檔案。 您可以修改配置(例如,新增引數),還可以新增自定義配置。

手把手教你如何在VSCode裡除錯python

更多的配置

預設情況下,VS Code僅顯示Python擴充套件提供的最常見配置。 您可以使用列表和launch。json編輯器中顯示的“新增配置”命令選擇要包含在launch。json中的其他配置。 當您使用該命令時,VS Code會提示您所有可用配置的列表(請務必向下滾動以檢視所有Python選項):

手把手教你如何在VSCode裡除錯python

選擇Node。js:Gulp任務會產生以下結果:

手把手教你如何在VSCode裡除錯python

在除錯過程中,狀態列顯示左下方的當前配置; 右邊是當前的除錯直譯器。 選擇配置會顯示一個列表,您可以從中選擇不同的配置:

手把手教你如何在VSCode裡除錯python

預設情況下,偵錯程式使用與VS Code的其他功能相同的python。pythonPath工作空間設定。 要使用不同的直譯器進行特定的除錯,請在launch。json中為pythonPath設定適用的偵錯程式配置,如下一節所述。 或者,選擇狀態列上的命名直譯器以選擇另一個更新python。pythonPath。

設定配置選項

首次建立launch。json時,有兩種標準配置在編輯器中的整合終端(VS程式碼內部)或外部終端(VS程式碼外部)中執行活動檔案:

手把手教你如何在VSCode裡除錯python

具體設定將在以下部分中介紹。 您還可以新增標準配置中未包含的其他設定,例如args。

手把手教你如何在VSCode裡除錯python

name

提供VS Code下拉列表中顯示的除錯配置的名稱。

type

標識要使用的偵錯程式型別; 用於Python程式碼。

request

指定除錯的模式

launch

:指定除錯起始檔案

program

attach

:指定除錯掛載程序

program

提供python程式的入口模組(啟動檔案)的完全限定路徑。 值:${file}, 常用於預設配置,使用編輯器中當前活動的檔案。 透過指定特定的啟動檔案,無論開啟哪個檔案,您始終可以確保使用相同的入口點啟動程式。 例如:

“program”: “/Users/Me/Projects/PokemonGo-Bot/pokemongo_bot/event_handlers/__init__。py”,

您還可以依賴工作區根目錄中的相對路徑。 例如,如果是根“/Users/Me/Projects/PokemonGo-Bot”,你可以像這樣使用

“program”: “${workspaceFolder}/pokemongo_bot/event_handlers/__init__。py”,

pythonPath

指向用於除錯的Python直譯器,它可以是包含Python直譯器的資料夾。 該值可以使用變數${workspaceFolder}和${workspaceFolder}/。venv如果未指定,則此設定預設為在中標識的直譯器python。pythonPath,

手把手教你如何在VSCode裡除錯python

或者,您可以使用在每個平臺上定義的自定義環境變數來包含要使用的Python直譯器的完整路徑,這樣就不需要其他資料夾路徑。

args

指定傳遞給Python程式的引數。 由空格分隔的引數字串的每個元素都應包含在引號內,例如:

“args”: [“——quiet”, “——norepeat”, “——port”, “1593”],

stopOnEntry

設定為true的時候,打破正在除錯的程式的第一行的偵錯程式。 如果省略(預設值)或設定為false,偵錯程式將程式執行到第一個斷點。

console

指定程式輸出的顯示方式。

手把手教你如何在VSCode裡除錯python

cwd

指定偵錯程式的當前工作目錄,該目錄是程式碼中使用的任何相對路徑的基本資料夾。 如果省略,則預設為${workspaceFolder}vscode的工作目錄,作為一個例子${workspaceFolder}包含了python程式碼資料夾或者檔案,包含了app。py

配置如下

手把手教你如何在VSCode裡除錯python

redirectOutput

省略或設定為時true(預設值),使偵錯程式將程式的所有輸出列印到VS Code除錯輸出視窗。 如果設定為false,程式輸出不會顯示在偵錯程式輸出視窗中。

使用時通常禁用此選項

“console”: “integratedTerminal”

“console”: “externalTerminal”

因為不需要在除錯控制檯中複製輸出。

justMyCode

省略或設定為true(預設值),僅將除錯限制為使用者編寫的程式碼。 調成false還可以除錯標準庫函式。

django

可以除錯django框架

env

為偵錯程式程序設定可選的環境變數,而不是偵錯程式始終繼承的系統環境變數。

envFile

包含環境變數定義的檔案的可選路徑。 請參閱配置Python環境 - 環境變數定義檔案。

在程式碼中呼叫斷點

在Python程式碼中,您可以呼叫斷點 在除錯會話期間要暫停偵錯程式的任何位置。

斷點驗證

Python擴充套件自動檢測在非可執行行上設定的斷點,例如 透過 語句或多行語句的中間。 在這種情況下,執行偵錯程式會將斷點移動到最近的有效行,以確保程式碼執行在此時停止。

附加到本地指令碼

在某些情況下,您需要除錯由另一個程序在本地呼叫的Python指令碼。 例如,您可能正在除錯為特定處理作業執行不同Python指令碼的Web伺服器。 在這種情況下,您需要在啟動後將VS Code偵錯程式附加到指令碼:

1。執行VS Code,開啟包含指令碼的資料夾或工作區,然後建立一個launch。json 對於該工作空間,如果尚不存在。

2。在指令碼程式碼中,新增以下內容並儲存檔案:

手把手教你如何在VSCode裡除錯python

3。使用終端開啟終端:建立新的整合終端,啟用指令碼的選定環境。在終端中,使用python -m pip install ——upgrade ptvsd安裝ptvsd軟體包。

5。在終端中,使用指令碼啟動Python,例如python3 myscript。py。 您應該看到程式碼中包含的“等待偵錯程式附加”訊息,並且指令碼在ptvsd。wait_for_attach()呼叫時停止。

6。切換到Debug檢視,從Debugger下拉列表中選擇Python:Attach,然後啟動偵錯程式。

這樣就可以在本地除錯python程式碼了。下一節將向大家介紹VSCode如何配置遠端除錯python,盡情期待