您現在的位置是:首頁 > 綜藝首頁綜藝
手把手教你如何在VSCode裡除錯python
vs怎麼執行雜項檔案
本文僅介紹Python特有的注意事項,主要是特定於Python的除錯配置,包括特定應用程式型別和遠端除錯的必要步驟。
初始化配置
配置在除錯會話期間驅動VS Code的行為。 配置在launch。json檔案中定義,該檔案儲存在工作區的。vscode資料夾中。
注意為了更改除錯配置,您的程式碼必須儲存在一個資料夾中。
點選左側此按鈕開始配置除錯選項
要使用Python配置生成launch。json檔案,請執行以下步驟:
1。選擇設定按鈕(在上圖中圈出)或使用Debug> Open configurations選單命令。
2。將從命令選項板開啟配置選單,允許您為開啟的檔案選擇所需的除錯配置型別。 現在,在出現的Select a debug configuration選單中,選擇Python File。
注意透過除錯面板啟動除錯會話,F5或除錯>啟動除錯,如果不存在配置,也會開啟除錯配置選單。
1。然後,Python擴充套件建立並開啟一個launch。json檔案,該檔案包含基於您之前選擇的預定義配置,在本例中為Python檔案。 您可以修改配置(例如,新增引數),還可以新增自定義配置。
更多的配置
預設情況下,VS Code僅顯示Python擴充套件提供的最常見配置。 您可以使用列表和launch。json編輯器中顯示的“新增配置”命令選擇要包含在launch。json中的其他配置。 當您使用該命令時,VS Code會提示您所有可用配置的列表(請務必向下滾動以檢視所有Python選項):
選擇Node。js:Gulp任務會產生以下結果:
在除錯過程中,狀態列顯示左下方的當前配置; 右邊是當前的除錯直譯器。 選擇配置會顯示一個列表,您可以從中選擇不同的配置:
預設情況下,偵錯程式使用與VS Code的其他功能相同的python。pythonPath工作空間設定。 要使用不同的直譯器進行特定的除錯,請在launch。json中為pythonPath設定適用的偵錯程式配置,如下一節所述。 或者,選擇狀態列上的命名直譯器以選擇另一個更新python。pythonPath。
設定配置選項
首次建立launch。json時,有兩種標準配置在編輯器中的整合終端(VS程式碼內部)或外部終端(VS程式碼外部)中執行活動檔案:
具體設定將在以下部分中介紹。 您還可以新增標準配置中未包含的其他設定,例如args。
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,
或者,您可以使用在每個平臺上定義的自定義環境變數來包含要使用的Python直譯器的完整路徑,這樣就不需要其他資料夾路徑。
args
指定傳遞給Python程式的引數。 由空格分隔的引數字串的每個元素都應包含在引號內,例如:
“args”: [“——quiet”, “——norepeat”, “——port”, “1593”],
stopOnEntry
設定為true的時候,打破正在除錯的程式的第一行的偵錯程式。 如果省略(預設值)或設定為false,偵錯程式將程式執行到第一個斷點。
console
指定程式輸出的顯示方式。
cwd
指定偵錯程式的當前工作目錄,該目錄是程式碼中使用的任何相對路徑的基本資料夾。 如果省略,則預設為${workspaceFolder}vscode的工作目錄,作為一個例子${workspaceFolder}包含了python程式碼資料夾或者檔案,包含了app。py
配置如下
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。在指令碼程式碼中,新增以下內容並儲存檔案:
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,盡情期待