在 WSL 中進行遠端開發
本教程將引導你啟用適用於 Linux 的 Windows 子系統 (WSL),並使用 WSL 擴充套件在 WSL 中執行 Visual Studio Code。
先決條件
你需要安裝 Visual Studio Code。
安裝擴充套件
WSL 擴充套件允許你在適用於 Linux 的 Windows 子系統 (WSL) 中執行 Visual Studio Code。
先決條件檢查
安裝 WSL 擴充套件後,你將在最左側看到一個新的狀態列項。
遠端狀態列項可以快速顯示 VS Code 正在執行的上下文(本地或遠端),點選該項將調出 WSL 擴充套件命令。
啟用 WSL
適用於 Linux 的 Windows 子系統 (WSL) 是 Windows 10 中的可選功能。你可以透過 Windows 功能對話方塊或 PowerShell 啟用它。
Windows 功能對話方塊
在 Windows 搜尋欄中,鍵入“features”以調出開啟或關閉 Windows 功能對話方塊。向下滾動並選中適用於 Linux 的 Windows 子系統。
選擇確定,系統將提示你重新啟動 Windows。
PowerShell
如果你願意,可以以管理員身份開啟 PowerShell 並鍵入
Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux
命令執行後,系統將提示你重新啟動 Windows。
檢查 WSL
重新啟動 Windows 後,你可以透過開啟命令提示符並鍵入“wsl”來檢查是否已啟用 WSL。
WSL 已啟用,但你尚未安裝 Linux 發行版。
安裝 Linux 發行版
你可以從 Microsoft Store 安裝 WSL 的 Linux 發行版。你可以使用商店應用,或在 Windows 搜尋欄中搜索 Linux 發行版。選擇要安裝的 Linux 發行版(例如 Ubuntu)並按照提示操作。
選擇安裝。
完成後,選擇啟動即可開始。這將開啟一個 Linux 終端並完成安裝。由於你正在設定一個完整的 Linux 例項,因此需要建立一個使用者 ID 和密碼。你現在正在 Windows 上執行 Linux。
Python 開發
如果尚未安裝 Python,請執行以下命令以在 Linux 安裝中安裝 Python3 和 Python 包管理器 pip。
sudo apt update
sudo apt install python3 python3-pip
並執行以驗證
python3 --version
從典型的“Hello World”應用程式開始。建立一個名為“helloWorld”的新資料夾,然後新增一個 Python 檔案,該檔案在執行時將列印一條訊息
mkdir helloWorld && cd helloWorld
echo 'print("hello from python on ubuntu on windows!")' >> hello.py
python3 hello.py
在遠端 Linux 環境中(此 WSL 發行版在技術上是另一臺沒有 UI 的機器,恰好在你的計算機上本地執行),你的開發工具和體驗非常有限。你可以在終端中執行 Vim 來編輯檔案,或者你可以透過 \\wsl$
掛載在 Windows 端編輯原始檔
此模型的問題在於 Python 執行時、pip 或任何 conda 包都沒有安裝在 Windows 上。
請記住,Python 安裝在 Linux 發行版中,這意味著如果你在 Windows 端編輯 Python 檔案,則除非你在 Windows 上安裝相同的 Python 開發堆疊,否則無法執行或除錯它們。這違背了擁有一個隔離的 Linux 例項,其中包含所有 Python 工具和執行時這一目的!
在 WSL 中執行
在 WSL 終端中,確保你在 helloWorld 資料夾中,然後鍵入 'code .'
以啟動 Visual Studio Code。'.'
引數告訴 VS Code 開啟當前資料夾。如果你使用 VS Code 的 Insiders 版本,你將需要執行 'code-insiders .'
。
注意:如果此命令不起作用,你可能需要重新啟動終端,或者你可能在安裝時沒有將 VS Code 新增到你的路徑中。
你首先會看到一條關於“正在安裝 VS Code Server”的訊息(c7d83e57… 數字是與你剛剛安裝的客戶端工具匹配的 VS Code Server 版本)。VS Code 正在 Linux 端安裝一個小型伺服器,桌面 VS Code 將與該伺服器進行通訊。然後,該伺服器將在 WSL 中安裝並託管擴充套件,以便它們在 WSL 中安裝的工具和框架的上下文中執行。換句話說,你的語言擴充套件將針對 WSL 中安裝的工具和框架執行,而不是針對 Windows 端安裝的工具和框架執行,這對於正確的開發體驗是應該的。
接下來發生的事情是 VS Code 將啟動並開啟 helloWorld
資料夾。你可能會看到一個快速通知,告訴你 VS Code 正在連線到 WSL,並且可能會提示你允許訪問基於 Node.js 的伺服器。
現在,當你將滑鼠懸停在 hello.py
上時,你會得到正確的 Linux 路徑。
整合終端
執行終端 > 新建終端(⌃` (Windows、Linux Ctrl+`))以開啟新的終端例項。
你將在 WSL 中啟動一個 bash shell 的新例項,同樣是從 Windows 上執行的 VS Code 中。
提示:在狀態列的左下角,你可以看到你已連線到你的 WSL: Ubuntu 例項。
編輯和除錯
安裝 Python 擴充套件(和其他工具)
點選 hello.py
以開啟它進行編輯。系統將提示你進行擴充套件推薦,在此情況下是安裝 Microsoft Python 擴充套件,它將為你提供豐富的編輯和除錯體驗。繼續選擇安裝,如果提示,則重新載入。
為了證明該擴充套件已安裝在 WSL 中,請再次開啟擴充套件檢視(⇧⌘X (Windows、Linux Ctrl+Shift+X))。你將看到一個名為WSL: Ubuntu – 已安裝的部分,你可以看到安裝在 WSL 端的所有擴充套件。
重新載入後,你還會收到一條提示,告訴你 pylint linter 未安裝。Linters 用於顯示原始碼中的錯誤和警告。繼續選擇安裝。
現在,當你編輯程式碼時,你會獲得豐富的著色和完成。
當你儲存檔案(⌘S (Windows、Linux Ctrl+S))時,你將在檔案上收到 linting 錯誤和警告。
除錯
設定好工具後,讓我們更進一步。透過單擊行號左側的槽或將游標放在行上並按 F9,在 hello.py 的第 1 行設定一個斷點。
現在,按 F5 執行你的應用程式。系統將詢問你如何執行應用程式,由於這是一個簡單的檔案,只需選擇Python 檔案。
應用程式將啟動,你將命中斷點。你可以檢查變數、建立監視並導航呼叫堆疊。
按 F10 單步執行,你將在除錯控制檯中看到 print 語句的輸出。
你將獲得 Visual Studio Code 的完整開發體驗,使用安裝在 WSL 中的 Linux 例項。
如果你想在 WSL 中開啟另一個資料夾,請開啟檔案選單並選擇開啟資料夾。你將獲得 Linux 檔案系統(而不是 Windows 檔案系統)的最小檔案和資料夾導航器。
如果你想切換回 Windows,請選擇顯示本地選項,你將獲得標準的 Windows 檔案開啟對話方塊。
結束 WSL 連線
你可以透過檔案 > 關閉遠端連線來結束 WSL 會話並返回到本地執行 VS Code。
恭喜
恭喜,你已成功完成本教程!
接下來,檢視其他遠端開發擴充套件。
或者透過安裝遠端開發擴充套件包獲取所有這些擴充套件。