VS Code 完整使用指南

Visual Studio Code(簡稱 VS Code)是目前最受歡迎的程式碼編輯器之一,以其輕量、快速、功能強大而著稱。本文將帶你快速上手 VS Code,從安裝到設定,再到必備外掛的使用。

VS Code 主介面

一、安裝 VS Code

安裝 VS Code 非常簡單:

  1. 訪問 VS Code 官網
  2. 點選下載按鈕,網站會自動識別你的作業系統(macOS、Windows 或 Linux)
  3. 對於 macOS 使用者:
    • 下載 .dmg 檔案
    • 雙擊開啟,將 Visual Studio Code 拖拽到 Applications 資料夾
    • 首次開啟時可能需要在”系統偏好設定 > 安全性與隱私”中允許執行
  4. 首次啟動時,VS Code 會自動檢測系統語言並推薦相應的語言包

VS Code 下載頁面

整個安裝過程通常只需要幾分鐘,安裝完成後即可立即使用。

小技巧:安裝完成後,建議在終端中啟用 code 命令:

  1. Cmd + Shift + P 開啟命令面板
  2. 輸入 “Shell Command: Install ‘code’ command in PATH”
  3. 之後就可以在終端中使用 code . 快速開啟當前目錄

二、基礎設定

VS Code 的設定非常靈活,可以通過圖形介面或直接編輯設定檔來自定義。

開啟設定

有兩種方式開啟設定:

  • 點選左下角齒輪圖示 ⚙️,選擇”Settings”
  • 使用快捷鍵:Cmd + ,

設定介面

常用設定項

1. 縮排長度設定

在設定中搜尋 “indent”,可以找到以下選項:

{
  "editor.tabSize": 4,  // Tab 键的空格数
  "editor.insertSpaces": true,  // 使用空格而非 Tab
  "editor.detectIndentation": true  // 自动检测文件缩进
}

如果你喜歡 2 空格縮排(常見於前端開發),可以設定:

{
  "editor.tabSize": 2,
  "editor.insertSpaces": true
}

縮排設定

2. 字型設定

搜尋 “font” 可以自定義字型相關設定:

{
  "editor.fontFamily": "Menlo, Monaco, 'Courier New', monospace",
  "editor.fontSize": 14,
  "editor.fontWeight": "normal",
  "editor.lineHeight": 22,
  "editor.fontLigatures": true  // 启用连字特性
}

推薦幾款適合程式設計的字型:

  • Fira Code:支援連字特性,讓程式碼更美觀
  • JetBrains Mono:專為開發者設計
  • Cascadia Code:微軟開發的程式設計字型
  • SF Mono:macOS 系統自帶,簡潔優雅

字型連字效果

3. 其他實用設定

{
  "editor.wordWrap": "on",  // 自动换行
  "editor.minimap.enabled": true,  // 显示代码缩略图
  "editor.renderWhitespace": "selection",  // 显示空格
  "files.autoSave": "afterDelay",  // 自动保存
  "files.autoSaveDelay": 1000,  // 自动保存延迟(毫秒)
  "editor.cursorBlinking": "smooth",  // 光标平滑闪烁
  "editor.cursorSmoothCaretAnimation": "on",  // 光标平滑移动
  "workbench.colorTheme": "Dark+ (default dark)"  // 主题
}

編輯設定檔

如果你更喜歡直接編輯 JSON 設定檔:

  1. Cmd + Shift + P 開啟命令面板
  2. 輸入 “Preferences: Open User Settings (JSON)”
  3. 在開啟的 settings.json 檔案中新增或修改設定

命令面板

三、必備外掛推薦

VS Code 的強大之處在於其豐富的外掛生態。點選左側活動欄的擴充圖示(或按 Cmd + Shift + X)即可開啟擴充市場。

擴充市場

1. Remote - SSH

功能:通過 SSH 連線到遠端伺服器,在本地編輯遠端檔案。

安裝方式

  • 在擴充商店搜尋 “Remote - SSH”
  • 或者直接安裝 “Remote Development” 擴充包(包含 SSH、Containers、WSL)

Remote SSH

使用方法

  1. Cmd + Shift + P 開啟命令面板
  2. 輸入 “Remote-SSH: Connect to Host”
  3. 輸入 SSH 連線資訊,如 user@hostname
  4. 輸入密碼後即可連線

連線成功後,你可以像操作本地檔案一樣編輯遠端伺服器上的程式碼,終端也會自動連線到遠端環境。

常見問題:VS Code Server 下載失敗

在某些網路環境下(如國內伺服器、防火牆限制等),VS Code 可能無法自動下載 VS Code Server 到遠端伺服器,導致連線失敗。

症狀

  • 連線時卡在 “Installing VS Code Server” 步驟
  • 提示下載超時或連線失敗
  • 日誌中顯示無法訪問 https://update.code.visualstudio.com/

解決方案 1:手動下載並上傳

  1. 首先檢視本地 VS Code 的 commit ID:

    • 開啟命令面板(Cmd + Shift + P
    • 輸入 “Remote-SSH: Show Log”
    • 在日誌中找到類似 Downloading VS Code server... commit:xxxxx 的資訊
    • 或者在 VS Code 中選擇 “Code” -> “About Visual Studio Code”,檢視 Commit ID
  2. 在本地下載 VS Code Server:

    # 替换 {commit_id} 为实际的 commit ID
    # 替换 {platform} 为服务器平台:linux-x64, linux-arm64, alpine-x64 等
    https://update.code.visualstudio.com/commit:{commit_id}/server-{platform}/stable
  3. 上傳到遠端伺服器:

    # 将下载的文件上传到服务器临时目录
    scp vscode-server-linux-x64.tar.gz user@hostname:~/
  4. 在伺服器上解壓到指定目錄:

    # SSH 连接到服务器
    ssh user@hostname
    
    # 创建 VS Code Server 目录
    mkdir -p ~/.vscode-server/bin/{commit_id}
    
    # 解压文件
    tar -xzf ~/vscode-server-linux-x64.tar.gz -C ~/.vscode-server/bin/{commit_id} --strip-components 1
    
    # 设置执行权限
    chmod +x ~/.vscode-server/bin/{commit_id}/node
    chmod +x ~/.vscode-server/bin/{commit_id}/bin/code-server
  5. 重新在 VS Code 中連線遠端伺服器

解決方案 2:使用國內映像源

可以通過設定環境變數使用國內映像加速下載:

  1. 在遠端伺服器上編輯 .bashrc.zshrc

    export VSCODE_SERVER_DOWNLOAD_URL="https://vscode.cdn.azure.cn"
  2. 使設定生效:

    source ~/.bashrc
  3. 重新連線

解決方案 3:設定 SSH Config 使用代理

如果有可用的代理,可以在本地 SSH 設定中設定:

編輯本地的 ~/.ssh/config 檔案:

Host your-server
    HostName hostname
    User username
    # 使用 HTTP 代理
    ProxyCommand nc -X connect -x proxy_host:proxy_port %h %p
    # 或使用 SOCKS5 代理
    # ProxyCommand nc -X 5 -x proxy_host:proxy_port %h %p

解決方案 4:離線安裝指令碼

建立一個自動化指令碼簡化安裝過程:

#!/bin/bash
# download-vscode-server.sh

COMMIT_ID="$1"
PLATFORM="${2:-linux-x64}"

if [ -z "$COMMIT_ID" ]; then
    echo "Usage: $0 <commit_id> [platform]"
    echo "Example: $0 abc123def456 linux-x64"
    exit 1
fi

# 下载
echo "Downloading VS Code Server..."
wget "https://update.code.visualstudio.com/commit:${COMMIT_ID}/server-${PLATFORM}/stable" \
    -O vscode-server.tar.gz

# 创建目录
mkdir -p ~/.vscode-server/bin/${COMMIT_ID}

# 解压
echo "Extracting..."
tar -xzf vscode-server.tar.gz -C ~/.vscode-server/bin/${COMMIT_ID} --strip-components 1

# 设置权限
chmod +x ~/.vscode-server/bin/${COMMIT_ID}/node
chmod +x ~/.vscode-server/bin/${COMMIT_ID}/bin/code-server

echo "Installation complete!"
rm vscode-server.tar.gz

使用方法:

./download-vscode-server.sh abc123def456 linux-x64

2. Markdown Preview Enhanced

功能:即時預覽 Markdown 檔案,支援數學公式、流程圖等高階特性。

Markdown Preview

使用方法

  • 開啟 Markdown 檔案後,點選右上角的預覽圖示 📖
  • 或使用快捷鍵 Cmd + K V(先按 Cmd + K,鬆開後按 V
  • 也可以使用 Cmd + Shift + V 在當前編輯器中預覽

特色功能

  • 支援 LaTeX 數學公式
  • 支援 Mermaid 流程圖
  • 可匯出為 PDF、HTML 等格式
  • 支援自定義 CSS 樣式
  • 即時同步滾動

示例

# 支持数学公式
$$E = mc^2$$

# 支持流程图
​```mermaid
graph LR
    A[开始] --> B[处理]
    B --> C[结束]
​```

3. GitHub Copilot(Codex)

功能:AI 程式碼助手,提供智慧程式碼補全和建議。

說明:GitHub Copilot 基於 OpenAI Codex 模型,能夠根據上下文生成程式碼片段。

GitHub Copilot

使用方法

  1. 需要 GitHub 賬號並訂閱 Copilot(學生和開源維護者可免費使用)
  2. 安裝 “GitHub Copilot” 外掛
  3. 登入 GitHub 賬號授權
  4. 開始編碼時,Copilot 會自動提供建議(灰色文字)
  5. Tab 鍵接受建議,或按 Esc 忽略

使用技巧

  • 寫詳細的註釋,Copilot 會根據註釋生成相應程式碼
  • 使用 Option + ] 檢視下一個建議
  • 使用 Option + [ 檢視上一個建議
  • 使用 Option + \ 檢視所有建議

4. Python

功能:提供 Python 語言支援,包括智慧提示、除錯、測試等。

Python Extension

主要特性

  • IntelliSense 程式碼補全
  • 程式碼格式化(支援 Black、autopep8 等)
  • 程式碼檢查(Pylint、Flake8 等)
  • 強大的偵錯程式
  • Jupyter Notebook 支援
  • 虛擬環境管理

設定示例

{
  "python.defaultInterpreterPath": "/usr/local/bin/python3",
  "python.formatting.provider": "black",
  "python.linting.enabled": true,
  "python.linting.pylintEnabled": true,
  "python.analysis.typeCheckingMode": "basic"
}

除錯功能

  • F5 開始除錯
  • Cmd + Shift + D 開啟除錯檢視
  • 點選行號左側設定斷點
  • 使用除錯控制台執行表示式

Python Debugging

5. GitLens

功能:增強 Git 功能,視覺化程式碼歷史和提交資訊。

GitLens

核心功能

  • Blame 註釋:在每行程式碼旁顯示最後修改者和時間
  • 程式碼作者資訊:滑鼠懸停檢視詳細的提交歷史
  • 檔案歷史:快速瀏覽檔案的所有修改記錄
  • 分支比較:對比不同分支的差異
  • 提交搜尋:強大的提交歷史搜尋功能
  • 視覺化提交圖:圖形化展示分支和合並歷史

使用技巧

  • 點選狀態列的 GitLens 圖示可以快速切換功能
  • 使用側邊欄的 GitLens 檢視檢視倉庫、檔案歷史等
  • 在 Blame 註釋中點選提交資訊可以檢視完整的提交詳情
  • 使用 Cmd + Shift + G 開啟原始碼管理檢視

GitLens Blame

四、進階技巧

快捷鍵大全(macOS)

掌握快捷鍵可以大大提升效率。以下是最常用的快捷鍵:

通用操作

  • Cmd + P:快速開啟檔案
  • Cmd + Shift + P:命令面板(最重要的快捷鍵!)
  • Cmd + ,:開啟設定
  • Cmd + W:關閉當前標籤頁
  • Cmd + K Cmd + S:開啟快捷鍵設定

編輯相關

  • Cmd + /:註釋/取消註釋
  • Option + ↑/↓:向上/向下移動當前行
  • Shift + Option + ↑/↓:向上/向下複製當前行
  • Cmd + D:選擇下一個相同的詞
  • Cmd + Shift + L:選擇所有相同的詞
  • Cmd + [:減少縮排
  • Cmd + ]:增加縮排
  • Cmd + Enter:在下方插入新行
  • Cmd + Shift + Enter:在上方插入新行

多游標編輯

  • Option + Click:新增游標
  • Cmd + Option + ↑/↓:在上方/下方新增游標
  • Cmd + U:撤銷最後一次游標操作

多游標編輯

搜尋和導航

  • Cmd + F:在當前檔案中查詢
  • Cmd + Shift + F:在整個專案中查詢
  • Cmd + G:查詢下一個
  • Cmd + Shift + G:查詢上一個
  • Cmd + Option + F:查詢並替換
  • Ctrl + G:跳轉到指定行
  • Cmd + Shift + O:跳轉到檔案中的符號
  • Cmd + T:跳轉到工作區中的符號

檢視控制

  • Cmd + B:切換側邊欄顯示
  • Cmd + J:切換面板顯示
  • Cmd + \:拆分編輯器
  • Cmd + 1/2/3:聚焦到第 1/2/3 個編輯器組
  • `Ctrl + “:開啟/關閉整合終端
  • Cmd + Shift + E:顯示資源管理器
  • Cmd + Shift + F:顯示搜尋
  • Cmd + Shift + D:顯示除錯
  • Cmd + Shift + X:顯示擴充

終端操作

  • `Ctrl + “:開啟/關閉終端
  • `Cmd + Shift + “:建立新終端
  • Cmd + \:在終端間切換

整合終端

小技巧:可以按 Cmd + K Cmd + S 開啟快捷鍵設定,搜尋任何命令並自定義快捷鍵。

程式碼片段(Code Snippets)

程式碼片段(Code Snippets)是一種強大的功能,可以快速插入預定義的程式碼模板,大大提升編碼效率。

Code Snippets

建立自定義程式碼片段

  1. Cmd + Shift + P 開啟命令面板
  2. 輸入 “Snippets: Configure User Snippets”
  3. 選擇語言或建立全域程式碼片段
  4. 在開啟的 JSON 檔案中定義程式碼片段

程式碼片段語法示例

以 Python 為例,建立一個函式模板:

{
  "Python Function": {
    "prefix": "deff",
    "body": [
      "def ${1:function_name}(${2:parameters}):",
      "    \"\"\"${3:Description}",
      "    ",
      "    Args:",
      "        ${2:parameters}: ${4:parameter description}",
      "    ",
      "    Returns:",
      "        ${5:return description}",
      "    \"\"\"",
      "    ${6:pass}",
      "$0"
    ],
    "description": "Create a Python function with docstring"
  },
  "Python Main": {
    "prefix": "main",
    "body": [
      "if __name__ == '__main__':",
      "    ${1:main()}"
    ],
    "description": "Main entry point"
  }
}

JavaScript/TypeScript 示例

{
  "Console Log": {
    "prefix": "clg",
    "body": [
      "console.log('${1:message}:', $2);"
    ],
    "description": "Log to console"
  },
  "Arrow Function": {
    "prefix": "af",
    "body": [
      "const ${1:functionName} = (${2:params}) => {",
      "    ${3:// body}",
      "};"
    ],
    "description": "Create arrow function"
  },
  "React Component": {
    "prefix": "rfc",
    "body": [
      "import React from 'react';",
      "",
      "const ${1:ComponentName} = () => {",
      "    return (",
      "        <div>",
      "            ${2:content}",
      "        </div>",
      "    );",
      "};",
      "",
      "export default ${1:ComponentName};"
    ],
    "description": "Create React functional component"
  }
}

程式碼片段語法說明

  • prefix:觸發程式碼片段的關鍵字
  • body:程式碼片段內容(陣列形式,每個元素是一行)
  • description:程式碼片段描述(在補全提示中顯示)
  • $1, $2, $3:Tab 停靠點,按 Tab 鍵可以依次跳轉
  • ${1:default}:帶預設值的佔位符
  • $0:最終游標位置
  • ${1|option1,option2,option3|}:下拉選擇選項

使用程式碼片段

  1. 在編輯器中輸入 prefix 定義的關鍵字
  2. TabEnter 鍵觸發程式碼片段
  3. Tab 鍵在各個佔位符之間跳轉
  4. 填寫完畢後按 Esc 退出程式碼片段模式

常用變數

程式碼片段還支援使用預定義變數:

{
  "File Header": {
    "prefix": "header",
    "body": [
      "/**",
      " * @file $TM_FILENAME",
      " * @author ${1:Your Name}",
      " * @date $CURRENT_YEAR-$CURRENT_MONTH-$CURRENT_DATE",
      " * @description ${2:File description}",
      " */",
      "",
      "$0"
    ],
    "description": "File header comment"
  }
}

常用變數包括:

  • $TM_FILENAME:當前檔名
  • $TM_FILENAME_BASE:不含副檔名的檔名
  • $TM_DIRECTORY:當前目錄
  • $TM_FILEPATH:完整檔案路徑
  • $CURRENT_YEAR:當前年份(4位數)
  • $CURRENT_MONTH:當前月份(2位數)
  • $CURRENT_DATE:當前日期(2位數)
  • $CURRENT_HOUR:當前小時(24小時制)
  • $CLIPBOARD:剪貼簿內容
  • $WORKSPACE_NAME:工作區名稱

工作區設定

除了使用者設定,VS Code 還支援工作區設定,這對於不同專案有不同設定需求很有用。

工作區設定的優勢

  • 可以為每個專案定製不同的設定
  • 設定可以提交到版本控制,團隊共享
  • 工作區設定優先順序高於使用者設定

建立工作區設定

  1. 在專案根目錄建立 .vscode 資料夾
  2. 在其中建立 settings.json 檔案
  3. 新增專案特定的設定

示例設定:

{
  "editor.tabSize": 2,
  "python.defaultInterpreterPath": "./venv/bin/python",
  "files.exclude": {
    "**/__pycache__": true,
    "**/*.pyc": true
  }
}

Zen 模式與專注模式

VS Code 提供了多種專注模式,幫助你集中注意力編碼:

Zen 模式

  • 快捷鍵:Cmd + K Z
  • 隱藏所有 UI 元素,只顯示編輯器
  • Esc Esc 退出

居中佈局

  • 命令面板搜尋 “Toggle Centered Layout”
  • 將編輯器內容居中顯示

Zen Mode

五、主題與美化

推薦主題

VS Code 有豐富的主題可供選擇:

流行的暗色主題

  • One Dark Pro:基於 Atom 的經典主題
  • Dracula Official:溫和的紫色調
  • Material Theme:Material Design 風格
  • Night Owl:為夜貓子最佳化的配色
  • Tokyo Night:受 Tokyo Night 終端主題啟發

流行的亮色主題

  • GitHub Theme:GitHub 風格
  • One Light:清爽明亮
  • Material Theme Lighter:Material 亮色版

安裝主題

  1. Cmd + K Cmd + T 開啟主題選擇器
  2. 或在擴充市場搜尋主題名稱
  3. 點選安裝並應用

主題選擇器

檔案圖示主題

除了顏色主題,還可以自定義檔案圖示:

推薦的圖示主題:

  • Material Icon Theme:最流行的圖示主題
  • vscode-icons:詳細的檔案型別圖示
  • Monokai Pro Icons:簡潔現代

安裝方法:在擴充市場搜尋並安裝,然後通過命令面板選擇 “File Icon Theme”。

總結

VS Code 是一款功能強大且高度可定製的編輯器。通過合理設定和安裝適合的外掛,你可以打造一個完全符合個人習慣的開發環境。

學習建議

  1. 先熟悉基礎功能和常用快捷鍵
  2. 逐步新增必要的外掛,不要一次性裝太多
  3. 定期檢視官方說明文件和更新日誌,發現新功能
  4. 自定義程式碼片段,提升編碼效率
  5. 加入 VS Code 社群,學習他人的設定和技巧

記住,最好的設定就是最適合你的設定。不要盲目追求外掛數量,選擇真正能提升你工作效率的工具即可。

有用的資源

祝你使用愉快!🚀