在 Linux 上使用 Visual Studio Code
安裝
-
為你的 Linux 發行版下載並安裝 Visual Studio Code
注意VS Code 每月釋出版本,並在有新版本可用時支援自動更新。
-
安裝 Git、Node.js、TypeScript、語言執行時等。
-
從 Visual Studio Marketplace 安裝 VS Code 擴充套件
使用主題、格式化程式、語言擴充套件和偵錯程式來自定義 VS Code,以用於您喜歡的語言,等等。
-
提示
如果你還沒有 Copilot 訂閱,可以透過註冊 Copilot 免費計劃 免費使用 Copilot,並獲得每月限量的補全和聊天互動次數。
-
探索 VS Code 的使用者介面和主要功能。
在 Linux 上安裝 VS Code
基於 Debian 和 Ubuntu 的發行版
-
為基於 Debian/Ubuntu 的發行版安裝 Visual Studio Code 最簡單的方法是下載並安裝.deb 包 (64 位),可以透過圖形化軟體中心(如果可用)或透過命令列來安裝:
sudo apt install ./<file>.deb # If you're on an older Linux distribution, you will need to run this instead: # sudo dpkg -i <file>.deb # sudo apt-get install -f # Install dependencies
注意其他二進位制檔案也可以在 VS Code 下載頁面上找到。
當你安裝 .deb 包時,它會提示安裝 apt 倉庫和簽名金鑰,以便使用系統的包管理器進行自動更新。
-
要自動安裝 apt 倉庫和簽名金鑰,例如在非互動式終端上,請先執行以下命令:
echo "code code/add-microsoft-repo boolean true" | sudo debconf-set-selections
-
要手動安裝 apt 倉庫
-
執行以下指令碼以安裝簽名金鑰
sudo apt-get install wget gpg wget -qO- https://packages.microsoft.com/keys/microsoft.asc | gpg --dearmor > microsoft.gpg sudo install -D -o root -g root -m 644 microsoft.gpg /usr/share/keyrings/microsoft.gpg rm -f microsoft.gpg
-
建立一個
/etc/apt/sources.list.d/vscode.sources
檔案,內容如下,以新增對上游軟體包倉庫的引用Types: deb URIs: https://packages.microsoft.com/repos/code Suites: stable Components: main Architectures: amd64,arm64,armhf Signed-By: /usr/share/keyrings/microsoft.gpg
-
最後,更新軟體包快取並安裝該軟體包
sudo apt install apt-transport-https sudo apt update sudo apt install code # or code-insiders
-
由於我們使用的手動簽名過程和釋出系統,Debian 倉庫可能會滯後最多三個小時,無法立即獲取到最新版本的 VS Code。
基於 RHEL、Fedora 和 CentOS 的發行版
我們目前在一個 yum 倉庫中為基於 RHEL、Fedora 或 CentOS 的發行版提供穩定的 64 位 VS Code。
-
透過執行以下指令碼來安裝金鑰和 yum 倉庫
sudo rpm --import https://packages.microsoft.com/keys/microsoft.asc echo -e "[code]\nname=Visual Studio Code\nbaseurl=https://packages.microsoft.com/yumrepos/vscode\nenabled=1\nautorefresh=1\ntype=rpm-md\ngpgcheck=1\ngpgkey=https://packages.microsoft.com/keys/microsoft.asc" | sudo tee /etc/yum.repos.d/vscode.repo > /dev/null
-
然後更新軟體包快取並使用
dnf
安裝軟體包(Fedora 22 及以上版本)dnf check-update sudo dnf install code # or code-insiders
或者在舊版本上使用
yum
yum check-update sudo yum install code # or code-insiders
由於我們使用的手動簽名過程和釋出系統,yum 倉庫可能會滯後最多三個小時,無法立即獲取到最新版本的 VS Code。
Snap
VS Code 作為 Snap 包在 Snap Store 中正式分發
你可以透過執行以下命令來安裝它
sudo snap install --classic code # or code-insiders
一旦安裝,Snap 守護程序會負責在後臺自動更新 VS Code。每當有新更新可用時,你都會收到一個產品內的更新通知。
如果你的 Linux 發行版中沒有 snap
,請檢視安裝 snapd 指南,這可以幫助你完成設定。
從官方 Snap 文件中瞭解更多關於 snaps 的資訊。
基於 openSUSE 和 SLE 的發行版
前面提到的 yum 倉庫也適用於基於 openSUSE 和 SLE 的系統。
-
透過執行以下指令碼來安裝金鑰和 yum 倉庫
sudo rpm --import https://packages.microsoft.com/keys/microsoft.asc echo -e "[code]\nname=Visual Studio Code\nbaseurl=https://packages.microsoft.com/yumrepos/vscode\nenabled=1\nautorefresh=1\ntype=rpm-md\ngpgcheck=1\ngpgkey=https://packages.microsoft.com/keys/microsoft.asc" |sudo tee /etc/zypp/repos.d/vscode.repo > /dev/null
-
然後更新軟體包快取並使用以下命令安裝軟體包
sudo zypper install code
Arch Linux 的 AUR 包
有一個社群維護的Arch 使用者軟體倉庫(AUR)的 VS Code 包。
要獲取有關從 AUR 安裝的更多資訊,請查閱以下 wiki 條目:安裝 AUR 包。
用於 NixOS(或任何使用 Nix 包管理器的 Linux 發行版)的 Nix 包
在 nixpkgs 倉庫中有一個社群維護的VS Code Nix 包。
要使用 Nix 安裝它
-
在你的
config.nix
檔案中將allowUnfree
選項設定為 true -
執行以下命令
nix-env -i vscode
手動安裝 .rpm
包
你可以手動下載並安裝VS Code .rpm 包 (64-bit),但是,除非安裝了上述倉庫,否則自動更新將無法工作。
下載後,可以使用你的包管理器安裝 .rpm
包,例如使用 dnf
sudo dnf install <file>.rpm
其他二進位制檔案也可以在 VS Code 下載頁面上找到。
更新
VS Code 每月釋出一次,你可以透過檢視發行說明來了解新版本的釋出時間。如果 VS Code 倉庫安裝正確,那麼你的系統包管理器應該會像處理系統上的其他包一樣處理自動更新。
對於 Snap 包,更新是自動的並在後臺執行。
將 VS Code 配置為預設文字編輯器
xdg-open
你可以使用以下命令設定 xdg-open
使用的文字檔案 (text/plain
) 的預設文字編輯器
xdg-mime default code.desktop text/plain
Debian alternatives 系統
基於 Debian 的發行版允許使用 Debian alternatives 系統來設定預設的編輯器,而無需關心 MIME 型別。你可以透過執行以下命令並選擇 code
來設定
sudo update-alternatives --set editor /usr/bin/code
如果 VS Code 沒有作為預設 editor
的備選項出現,你需要註冊它
sudo update-alternatives --install /usr/bin/editor editor $(which code) 10
使用自定義標題欄
自定義標題欄提供了許多好處,包括出色的主題支援以及透過鍵盤導航和螢幕閱讀器實現的更好的可訪問性。這些好處在 Linux 平臺上可能並不總能很好地體現出來。Linux 有各種桌面環境和視窗管理器,這可能使 VS Code 的主題對使用者來說看起來很陌生。因此,自定義標題欄在 Linux 上預設是不啟用的。
對於需要可訪問性改進的使用者,我們建議在使用螢幕閱讀器以可訪問性模式執行時啟用自定義標題欄。
你可以透過視窗:標題欄樣式 (window.titleBarStyle) 設定來手動配置標題欄
custom
:使用自定義標題欄。native
:使用作業系統的標題欄。
將 Windows 作為 Linux 開發機
使用 VS Code 進行 Linux 開發的另一個選擇是使用帶有適用於 Linux 的 Windows 子系統 (WSL) 的 Windows 機器。
適用於 Linux 的 Windows 子系統
透過 WSL,你可以在 Windows 上安裝和執行 Linux 發行版,以便在 Linux 上開發和測試你的原始碼,同時仍然在 Windows 機器上本地工作。WSL 支援從 Microsoft Store 獲取的 Ubuntu、Debian、SUSE 和 Alpine 等 Linux 發行版。
當與 WSL 擴充套件結合使用時,你可以在 WSL 上的 Linux 發行版上下文中執行時獲得完整的 VS Code 編輯和除錯支援。
請參閱在 WSL 中開發文件以瞭解更多資訊,或嘗試在 WSL 中工作入門教程。
後續步驟
安裝 VS Code 後,以下主題將幫助你瞭解更多資訊
- VS Code 教程 - 快速動手體驗 VS Code 的主要功能。
- 提示和技巧 - 使用 VS Code 提高工作效率的技巧合集。
- AI 輔助編碼 - 瞭解如何在 VS Code 中使用 GitHub Copilot 來幫助您更快地編寫程式碼。
常見問題
Debian 和移動檔案到回收站
如果你在 Debian 作業系統上從 VS Code 資源管理器刪除檔案時看到錯誤,這可能是因為 VS Code 使用的回收站實現不存在。
執行這些命令來解決此問題
sudo apt-get install gvfs libglib2.0-bin
與來自其他倉庫的 VS Code 包衝突
一些發行版,例如 Pop!_OS,提供了它們自己的 code
包。為確保使用官方的 VS Code 倉庫,建立一個名為 /etc/apt/preferences.d/code
的檔案,內容如下
Package: code
Pin: origin "packages.microsoft.com"
Pin-Priority: 9999
“Visual Studio Code 無法監視此大型工作區中的檔案更改” (錯誤 ENOSPC)
當你看到此通知時,它表明 VS Code 檔案監視器正在耗盡實現檔案監視所需的檔案控制代碼。這最常發生在開啟一個大型且包含許多檔案的工作區時。在調整平臺限制之前,請確保將可能大的資料夾(如 Python 的 .venv
)新增到 files.watcherExclude 設定中(更多詳情如下)。也可能是其他正在執行的應用程式消耗瞭如此多的檔案控制代碼,以至於沒有剩餘的控制代碼供 VS Code 使用。在這種情況下,關閉這些其他應用程式可能會有所幫助。
可以透過執行以下命令檢視當前限制
cat /proc/sys/fs/inotify/max_user_watches
可以透過編輯 /etc/sysctl.conf
(Arch Linux 除外,請閱讀下文)並將此行新增到檔案末尾來將限制增加到最大值
fs.inotify.max_user_watches=524288
然後可以透過執行 sudo sysctl -p
來載入新值。
雖然 524,288 是可以監視的最大檔案數,但如果你處於記憶體特別受限的環境中,你可能希望降低這個數字。每個檔案監視佔用 1,080 位元組,因此假設所有 524,288 個監視都被消耗,這將導致上限約為 540 MiB。
基於 Arch 的發行版(包括 Manjaro)要求你更改一個不同的檔案;請改為遵循這些步驟。
另一個選擇是使用 files.watcherExclude 設定將特定的工作區目錄從 VS Code 檔案監視器中排除。files.watcherExclude 的預設值排除了 node_modules
和 .git
下的一些資料夾,但你可以新增其他你不想讓 VS Code 跟蹤的目錄。
"files.watcherExclude": {
"**/.git/objects/**": true,
"**/.git/subtree-cache/**": true,
"**/node_modules/*/**": true
}
我在 Ubuntu 中看不到中文字元
我們正在修復這個問題。與此同時,開啟應用程式選單,然後選擇 檔案 > 首選項 > 設定。在文字編輯器 > 字型部分,將“字型家族”設定為 Droid Sans Mono, Droid Sans Fallback
。如果你更願意直接編輯 settings.json
檔案,請如下設定 editor.fontFamily
"editor.fontFamily": "Droid Sans Mono, Droid Sans Fallback"
未安裝軟體包 git
此錯誤可能在安裝過程中出現,通常是由於包管理器的列表過時引起的。請嘗試更新它們並再次安裝
# For .deb
sudo apt-get update
# For .rpm (Fedora 21 and below)
sudo yum check-update
# For .rpm (Fedora 22 and above)
sudo dnf check-update
在 Ubuntu 上 code bin 命令不會將視窗帶到前臺
在 Ubuntu 上,當 VS Code 已經在當前目錄中開啟時,執行 code .
不會把 VS Code 帶到前臺。這是作業系統的一個特性,可以使用 ccsm
停用。
# Install
sudo apt-get update
sudo apt-get install compizconfig-settings-manager
# Run
ccsm
在通用 > 通用選項 > 焦點與提升行為下,將“焦點阻止級別”設定為“關”。請記住這是一個作業系統級別的設定,將適用於所有應用程式,而不僅僅是 VS Code。
由於“/etc/apt/sources.list.d/vscode.list: No such file or directory”無法安裝 .deb 包
當 sources.list.d
不存在或你沒有許可權建立檔案時,可能會發生這種情況。要解決這個問題,請嘗試手動建立該資料夾和一個空的 vscode.list
檔案
sudo mkdir /etc/apt/sources.list.d
sudo touch /etc/apt/sources.list.d/vscode.list
在 X 轉發遠端視窗時無法移動或調整視窗大小
如果你正在使用 X 轉發來遠端使用 VS Code,你需要使用原生標題欄以確保可以正確操作視窗。你可以透過將 window.titleBarStyle 設定為 native
來切換到使用它。
倉庫更改了其來源值
如果你收到類似以下的錯誤
E: Repository '...' changed its 'Origin' value from '...' to '...'
N: This must be accepted explicitly before updates for this repository can be applied. See apt-secure(8) manpage for details.
使用 apt
而不是 apt-get
,系統會提示你接受來源更改
sudo apt update