現已釋出!閱讀關於 11 月新增功能和修復的內容。

GitHub Copilot in VS Code

GitHub Copilot 是一款整合到 Visual Studio Code 中的 AI 驅動的編碼助手。它基於自然語言提示和現有程式碼上下文提供程式碼建議、解釋和自動化實現。Copilot 已在公共程式碼儲存庫上進行了訓練,可協助處理大多數程式語言和框架。

核心功能

行內建議

Copilot 在您鍵入時提供內聯程式碼建議,範圍從單行補全到整個函式實現。透過“下一個編輯建議”,它可以根據您當前的環境預測下一個邏輯程式碼更改。

示例

  • 鍵入 function calculateTax( 以獲取完整的稅務計算實現
  • 鍵入 // Create a REST API endpoint for user authentication 以生成 Express.js 路由程式碼
  • 使用 const UserProfile = ({ 開始一個 React 元件,以接收帶有 TypeScript 型別的完整函式元件

詳細瞭解 VS Code 中的內聯建議

自主編碼

代理可以自主規劃和執行復雜的開發任務,協調涉及執行終端命令或呼叫專用工具的多步驟工作流。它可以將高階要求轉化為可執行的程式碼。

從 Marketplace 擴充套件中安裝模型上下文協議 (MCP) 伺服器或工具,以進一步增強自主編碼體驗的功能。例如,從資料庫中提取資訊或連線到外部 API。

示例任務

  • 使用 OAuth 實現身份驗證
  • 將程式碼庫遷移到新框架或新語言
  • 除錯失敗的測試並應用修復
  • 最佳化整個應用程式的效能

詳細瞭解 使用代理進行自主編碼在 VS Code 中配置 MCP 伺服器

自然語言聊天

透過聊天介面使用自然語言與您的程式碼庫進行互動。使用對話式提示提問、請求解釋或指定程式碼更改。

使用單個提示在專案中的多個檔案中應用更改。Copilot 分析您的專案結構並進行協調修改。

常見查詢

  • “此專案中的身份驗證是如何工作的?”
  • “資料處理函式中的記憶體洩漏是由什麼原因引起的?”
  • “為支付處理服務新增錯誤處理”
  • “新增登入表單和後端 API”

Screenshot of the Chat view, showing the response to asking how to add a login page to a web app.

詳細瞭解 在 VS Code 中使用聊天

智慧操作

VS Code 提供了許多用於常見開發任務的預定義操作,這些操作透過 AI 功能得到增強並整合到編輯器中。

從幫助您編寫提交訊息或拉取請求描述、重新命名程式碼符號、修復編輯器中的錯誤,到幫助您查詢相關檔案的語義搜尋。

Screenshot of the Smart Actions menu in VS Code

詳細瞭解 VS Code 中的智慧操作

入門

步驟 1:設定 Copilot

  1. 將滑鼠懸停在狀態列中的 Copilot 圖示上,然後選擇設定 Copilot (Set up Copilot)

    Hover over the Copilot icon in the Status Bar and select Set up Copilot.

  2. 選擇一種登入方式並按照提示操作。如果您還沒有 Copilot 訂閱,您將註冊 Copilot 免費計劃

步驟 2:基本內聯建議

  1. 建立一個新檔案並開始鍵入。VS Code 會在編輯器中以灰色文字顯示內聯建議。

    例如,建立一個新的 JavaScript 檔案並開始鍵入一個函式定義

    // Try typing this in a new .js file:
    function factorial(
    
  2. 使用 Tab 鍵接受內聯建議。

步驟 3:自主編碼

要以自主方式執行更復雜的任務,請在聊天介面中使用代理。AI 將迭代程式碼,直到任務完成。

  1. 開啟聊天檢視 (⌃⌘I (Windows, Linux Ctrl+Alt+I))

  2. 從代理選擇器中選擇 Agent

  3. 要求生成一個基本的 Web 應用,例如

    Create a basic node.js web app for sharing recipes. Make it look modern and responsive.
    

注意代理如何獨立地在多個檔案中生成程式碼,並在需要時為任務安裝依賴項。

步驟 4:內聯聊天

要直接在編輯器中獲取生成、重構或解釋程式碼的幫助,您可以使用編輯器內聯聊天。輸入提示,AI 將在當前檔案中建議程式碼更改,讓您保持編碼流程。

  1. 選擇編輯器中的一些程式碼
  2. ⌘I (Windows、Linux Ctrl+I) 開啟編輯器內聯聊天
  3. 要求解釋或進行修改,例如:“重構此程式碼以...”
  4. 檢視並接受建議的更改

使用場景

程式碼分析和審查

理解現有程式碼庫並識別問題

  • “解釋此應用程式中的身份驗證流程”
  • “此支付處理程式可能存在哪些安全問題?”
  • “使用適當的 JSDoc 註釋記錄此 API 端點”

除錯和故障排除

識別和解決程式碼問題

  • “為什麼此元件不必要地重新渲染?”
  • “查詢並修復此資料處理管道中的記憶體洩漏”
  • “最佳化此資料庫查詢以提高效能”

詳細瞭解如何使用 AI 進行除錯

功能實現

構建新功能

  • “建立帶有電子郵件驗證的使用者註冊系統”
  • “使用 WebSockets 新增即時通知”
  • “使用本地儲存持久化實現購物車”

測試和質量保證

生成測試並確保程式碼質量

  • “為該服務類生成全面的單元測試”
  • “為 API 端點建立整合測試”
  • “為該資料驗證函式新增基於屬性的測試”

詳細瞭解如何使用 AI 進行測試

學習和文件

理解新技術和模式

  • “給我看看 async/await 和 Promise 之間的區別”
  • “如何在 Go 中實現此模式而不是 Python?”
  • “React 中錯誤處理的最佳實踐是什麼?”

自定義 AI 以適應您的工作流程

自定義指令

使用自定義指令定義專案特定的編碼約定和模式,AI 將生成匹配您風格的程式碼。自動將這些指令應用於所有聊天請求或僅應用於特定檔案型別。

---
applyTo: "**"
---
# My Coding Style
- Use arrow functions for components
- Prefer const over let
- Always include TypeScript types
- Use descriptive variable names
- Follow the Repository pattern for data access

詳細瞭解 使用自定義指令 將 AI 定製到您的編碼風格。

語言模型

在不同的 AI 模型之間快速切換,以最佳化速度、推理能力或專用任務。從各種內建模型中選擇,或連線到外部提供商並使用您自己的 API 金鑰。

Screenshot that shows the model picker in the Chat view.

詳細瞭解 在 VS Code 中使用語言模型

自定義代理

VS Code 中的聊天體驗可以使用不同的代理來切換提問、進行編輯或執行自主編碼會話。您還可以建立適合您工作流程的自定義代理。例如,建立一個專注於規劃和架構討論的自定義代理。指定代理允許使用的工具,並提供自定義指令,以便在它應該執行的正確上下文中進行操作。

Screenshot showing the Chat view, highlighting the agent picker.

詳細瞭解 建立您自己的自定義代理

使用工具擴充套件聊天

透過 MCP 伺服器或 Marketplace 擴充套件中的專用工具來擴充套件聊天體驗的功能。例如,新增用於查詢資料庫、連線到外部 API 或執行專用任務的工具。

MCP tools list

詳細瞭解 使用 MCP 伺服器和工具

最佳實踐

  • 為任務選擇合適的工具。在編碼時獲取內聯建議,使用聊天進行自然語言查詢,並選擇適合您工作流程的代理。

  • 編寫有效的提示以獲得最佳結果。要具體,提供正確的上下文,並經常進行迭代。

  • 透過使用自定義指令、提示檔案或自定義代理,將 AI 定製到您的編碼風格和專案約定。

  • 使用 MCP 伺服器或 Marketplace 擴充套件中的工具擴充套件 AI 的功能。

  • 選擇針對您的任務進行了最佳化的語言模型。使用快速模型進行程式碼建議,使用推理模型處理更復雜的請求。

獲取更多 在 VS Code 中使用 AI 的技巧和竅門

支援

GitHub Copilot Chat 的支援由 GitHub 提供,可以透過 https://support.github.com 聯絡。

要了解更多關於 Copilot 的安全、隱私、合規性和透明度,請參閱 GitHub Copilot Trust Center FAQ

定價

您可以開始免費使用 GitHub Copilot,每月有內聯建議和聊天互動的限制。對於更廣泛的使用,您可以選擇各種付費計劃。

檢視詳細的 GitHub Copilot 定價

後續步驟

© . This site is unofficial and not affiliated with Microsoft.