參加你附近的 ,瞭解 VS Code 中的 AI 輔助開發。

在 WSL 中進行遠端開發

本教程將引導你啟用適用於 Linux 的 Windows 子系統 (WSL),並使用 WSL 擴充套件在 WSL 中執行 Visual Studio Code。

先決條件

你需要安裝 Visual Studio Code

安裝擴充套件

WSL 擴充套件允許你在適用於 Linux 的 Windows 子系統 (WSL) 中執行 Visual Studio Code。

安裝 WSL 擴充套件

WSL extension

先決條件檢查

安裝 WSL 擴充套件後,你將在最左側看到一個新的狀態列項。

Remote Status bar item

遠端狀態列項可以快速顯示 VS Code 正在執行的上下文(本地或遠端),點選該項將調出 WSL 擴充套件命令。

WSL extension commands

啟用 WSL

適用於 Linux 的 Windows 子系統 (WSL) 是 Windows 10 中的可選功能。你可以透過 Windows 功能對話方塊或 PowerShell 啟用它。

Windows 功能對話方塊

在 Windows 搜尋欄中,鍵入“features”以調出開啟或關閉 Windows 功能對話方塊。向下滾動並選中適用於 Linux 的 Windows 子系統

Turn Windows features on and off dialog

選擇確定,系統將提示你重新啟動 Windows。

PowerShell

如果你願意,可以以管理員身份開啟 PowerShell 並鍵入

Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux

命令執行後,系統將提示你重新啟動 Windows。

PowerShell prompt to restart

檢查 WSL

重新啟動 Windows 後,你可以透過開啟命令提示符並鍵入“wsl”來檢查是否已啟用 WSL。

WSL check

WSL 已啟用,但你尚未安裝 Linux 發行版。

安裝 Linux 發行版

你可以從 Microsoft Store 安裝 WSL 的 Linux 發行版。你可以使用商店應用,或在 Windows 搜尋欄中搜索 Linux 發行版。選擇要安裝的 Linux 發行版(例如 Ubuntu)並按照提示操作。

select Ubuntu distro

選擇安裝

install Ubuntu

完成後,選擇啟動即可開始。這將開啟一個 Linux 終端並完成安裝。由於你正在設定一個完整的 Linux 例項,因此需要建立一個使用者 ID 和密碼。你現在正在 Windows 上執行 Linux。

Linux terminal

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 端編輯原始檔

\wsl$ mount

此模型的問題在於 Python 執行時、pip 或任何 conda 包都沒有安裝在 Windows 上。

no Python on 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 新增到你的路徑中。

launch 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 的伺服器。

installing vscode server

現在,當你將滑鼠懸停在 hello.py 上時,你會得到正確的 Linux 路徑。

show hello.py Linux path

整合終端

執行終端 > 新建終端⌃` (Windows、Linux Ctrl+`))以開啟新的終端例項。

new terminal in WSL

你將在 WSL 中啟動一個 bash shell 的新例項,同樣是從 Windows 上執行的 VS Code 中。

提示:在狀態列的左下角,你可以看到你已連線到你的 WSL: Ubuntu 例項。

WSL extension Status bar

編輯和除錯

安裝 Python 擴充套件(和其他工具)

點選 hello.py 以開啟它進行編輯。系統將提示你進行擴充套件推薦,在此情況下是安裝 Microsoft Python 擴充套件,它將為你提供豐富的編輯和除錯體驗。繼續選擇安裝,如果提示,則重新載入。

Python extension recommendation

為了證明該擴充套件已安裝在 WSL 中,請再次開啟擴充套件檢視(⇧⌘X (Windows、Linux Ctrl+Shift+X))。你將看到一個名為WSL: Ubuntu – 已安裝的部分,你可以看到安裝在 WSL 端的所有擴充套件。

WSL installed extensions

重新載入後,你還會收到一條提示,告訴你 pylint linter 未安裝。Linters 用於顯示原始碼中的錯誤和警告。繼續選擇安裝

pylint not installed notification

現在,當你編輯程式碼時,你會獲得豐富的著色和完成。

Python IntelliSense

當你儲存檔案(⌘S (Windows、Linux Ctrl+S))時,你將在檔案上收到 linting 錯誤和警告。

pylint error

除錯

設定好工具後,讓我們更進一步。透過單擊行號左側的槽或將游標放在行上並按 F9,在 hello.py 的第 1 行設定一個斷點。

set breakpoint

現在,按 F5 執行你的應用程式。系統將詢問你如何執行應用程式,由於這是一個簡單的檔案,只需選擇Python 檔案

select debug configuration

應用程式將啟動,你將命中斷點。你可以檢查變數、建立監視並導航呼叫堆疊。

F10 單步執行,你將在除錯控制檯中看到 print 語句的輸出。

VS Code debug view

你將獲得 Visual Studio Code 的完整開發體驗,使用安裝在 WSL 中的 Linux 例項。

如果你想在 WSL 中開啟另一個資料夾,請開啟檔案選單並選擇開啟資料夾。你將獲得 Linux 檔案系統(而不是 Windows 檔案系統)的最小檔案和資料夾導航器。

open folder navigator

如果你想切換回 Windows,請選擇顯示本地選項,你將獲得標準的 Windows 檔案開啟對話方塊。

結束 WSL 連線

你可以透過檔案 > 關閉遠端連線來結束 WSL 會話並返回到本地執行 VS Code。

恭喜

恭喜,你已成功完成本教程!

接下來,檢視其他遠端開發擴充套件。

或者透過安裝遠端開發擴充套件包獲取所有這些擴充套件。