文章目錄
- 一、基本特性對比
- 二、收費標準
- 三、私有部署能力
- 1、Tabnine
- 2、Roo Code
- 三、代碼補全與自然語言生成代碼
- 四、安裝
- 獨立的IDE安裝
- 插件安裝
- 五、基本使用
- (一)Cursor
- (二)GitHub Copilot
- 1、獲取代碼建議
- 2.聊天
- 1)上下文
- 2)Chat participants
- 3)Slash Commands
- 4)切換AI模型
- 5)Inline Chat
- 6)Terminal Inline Chat
- 7)智能操作
- 3、Copilot Edits
- 4、自定義指令
- (三)Windsurf/Codeium
- 參考
一、基本特性對比
二、收費標準
Cursor:https://www.cursor.com/pricing
Windsurf/Codeium: https://codeium.com/pricing
GitHub Copilot: https://github.com/features/copilot/plans
Tabnine: https://www.tabnine.com/pricing/
三、私有部署能力
Tabnine與Roo Code均支持私有部署。
1、Tabnine
它僅支持企業客戶,可以選擇部署一個私有的、自托管版本的 Tabnine 集群。
部署選項
- 在 AWS、GCP 或 Azure 上的虛擬私有云(VPC)
- 在您自己的服務器上進行本地部署
私有安裝可以部署在完全隔離的環境中。
官方文檔:https://docs.tabnine.com/main/administering-tabnine/private-installation
2、Roo Code
它是通過Ollama 或 LM Studio實現的。
官方文檔:https://docs.roocode.com/advanced-usage/local-models
三、代碼補全與自然語言生成代碼
除Tabnine外,其他均支持所有的主流語言,Tabnine僅完全支持JavaScript、TypeScript、Python、Java、C++、PHP,明細見https://docs.tabnine.com/main/welcome/readme/supported-languages
四、安裝
獨立的IDE安裝
Cursor:https://www.cursor.com/
Windsurf/Codeium:https://codeium.com/windsurf/download_confirmation?code=ma
插件安裝
GitHub Copilot:vscode://GitHub.copilot/
Tabnine:支持多個IDE
- vscode:vscode:extension/TabNine.tabnine-vscode
Roo Cline:vscode:extension/RooVeterinaryInc.roo-cline
五、基本使用
(一)Cursor
https://mp.weixin.qq.com/s/tCpW_Dt-Vy2CYjyUHeFL4g
(二)GitHub Copilot
官方文檔:https://code.visualstudio.com/docs/copilot/overview
安裝完VSCode插件后,可以在這里打開它:
1、獲取代碼建議
與Cursor類似,輸入后Copilot會自動建議函數的剩余部分,如果接受,按Tab;如果拒絕,按Esc。
根據注釋生成代碼:
它也支持多個建議:
支持快捷鍵切換:
如果只想接收部分建議,可以使用快捷鍵?→。
2.聊天
安裝完VSCode插件后,可以在這里打開聊天窗口,或使用快捷鍵Control+Command+i (Mac) / Ctrl+Alt+i (Windows/Linux):
1)上下文
默認上下文是你當前打開正在看的文件,或當前選中代碼,如果你想更改上下文,有的幾種方式:
- 拖拽文件進聊天窗口
- 點擊鏈接的按鈕(?/),然后從Quick Pick 菜單中選擇一種上下文類型:
通過輸入# 字符,也可以使用聊天變量(Chat Variables),并看到可用的變量列表。
- #codebase:將整個代碼庫作為上下文提供給 Copilot Chat,當希望 Copilot 參考整個項目結構、文件關系或全局邏輯時使用。
- #editor:將當前活動的編輯器內容作為上下文,當希望 Copilot 基于當前編輯器中的完整內容進行解釋、修復或優化時使用。
- #file:從工作區中添加特定文件的內容或路徑。
- #selection:將當前編輯器中選中的代碼添加到聊天提示中。
- #sym:添加工作區中的某個符號(如函數名、類名或變量名)。
- #terminalLastCommand:將終端中最近運行的命令作為上下文提供給 Copilot Chat,當需要調試、優化或解釋終端命令時使用。
- #terminalSelection:將終端中選中的文本作為上下文提供給 Copilot Chat,當需要詳細分析選中的終端輸出內容時使用,比如錯誤日志。
- #vscodeAPI:將 Visual Studio Code 提供的 API 作為上下文,用于幫助開發擴展或自動化工作流程,當需要了解 VS Code API 的功能或如何使用特定 API 時使用。
- 直接右擊文件選擇:
2)Chat participants
這個就像領域專家,可以在其專業領域提供幫助。使用時直接在聊天輸入框中鍵入@會展示所有的:
@github:了解并具備處理 GitHub 倉庫、問題(Issues)、拉取請求(PRs)等相關操作的技能;它額外還可以使用 Bing API 執行網絡搜索。比如:
- 檢查或管理 GitHub 倉庫中的問題和 PR。
- 查詢代碼庫相關的信息。
- 搜索與開發或代碼相關的網絡資源。
@terminal:了解集成終端(shell)及其內容。比如:
- 協助調試終端命令。
- 解釋終端輸出內容。
- 幫助優化或修復終端中的命令操作。
@vscode:了解 Visual Studio Code 的功能、設置及其 API。比如:
- 指導使用 VS Code 的特性或快捷鍵。
- 幫助調整 VS Code 設置。
- 提供與 VS Code API 相關的開發建議或示例代碼。
@workspace:了解工作區中的代碼。比如:
- 幫助導航代碼庫。
- 查找相關的類、函數或文件。
- 提供有關代碼結構、交互或設計模式的建議。
你也可以從Visual Studio Code Marketplace或GitHub Marketplace安裝其他的Chat participants。
- Visual Studio Code Marketplace:https://marketplace.visualstudio.com/search?term=tag%3Achat-participant&target=VSCode&category=All%20categories&sortBy=Relevance
- GitHub Marketplace:https://github.com/marketplace
3)Slash Commands
它提供了一種快捷方式,用于執行特定的指令,從而避免編寫復雜的提示。只需輸入/字符,然后輸入命令即可,Chat participants也可以貢獻自己的斜杠命令。
常用內置斜杠命令:
- /clear:開始一個新的聊天會話。
- /help:獲取關于使用 GitHub Copilot 的幫助。
- @workspace /explain(或/explain):解釋選定代碼的功能。
- @workspace /fix(或/fix):提出修復選定代碼問題的建議。
- @workspace /new(或/new):為新工作區或新文件生成代碼框架。
- @vscode /runCommand:搜索或運行一個 VS Code 命令。
4)切換AI模型
可以在聊天窗口點擊AI模型切換:
以下是當前Copilot Chat 使用的模型:
- GPT 4o: 這是 Copilot Chat 的默認模型,它是一個多功能的多模態模型,在文本和圖像處理方面表現出色,旨在提供快速可靠的響應;它在非英語語言方面也有出色表現;該模型部署在 Azure 上。
- Claude 3.5 Sonnet: 該模型在整個軟件開發生命周期的編碼任務中表現出色,包括初始設計、bug修復、維護和優化;GitHub Copilot 使用部署在 Amazon Web Services 上的 Claude 3.5 Sonnet。
- Gemini 2.0 Flash: 該模型具有強大的編碼、數學和推理能力,非常適合協助軟件開發;該模型部署在 Google Cloud 上。o1: 該模型專注于高級推理和解決復雜問題,特別是在數學和科學領域;響應速度比 GPT 4o 模型慢;每天可向該模型發出 10 次請求;該模型部署在 Azure 上。o3-mini: 這是繼 o1 和 o1-mini 之后的新一代推理模型;
- o3-mini 模型在編碼基準測試上優于 o1,響應時間與 o1-mini 相當,以幾乎相同的延遲提供更好的質量;最適合代碼生成和小上下文操作;每 12 小時可向該模型發出 50 次請求;該模型部署在 Azure 上。
5)Inline Chat
支持在編輯器內直接提交prompt并獲取代碼建議,無需離開當前工作環境;要啟動編輯器行內聊天,在任何文件中使用?I快捷鍵;或者打開文件后,從標題欄的Copilot菜單中選擇編輯器行內聊天即可。
Copilot在編輯器中直接顯示代碼建議,你可以:
- 接受建議:?
- Enter丟棄建議:Esc
不滿意時可以為相同的prompt生成新的代碼建議
當然,你也可以在編輯器中選中某段代碼進行詢問,不過該行為將限定你的問題限定在該選區范圍內(即添加聊天上下文)。
如果想對比行內聊天建議,可以配置 inlineChat.mode 設置為preview:
設置后效果:
6)Terminal Inline Chat
和Inline Chat類似,但它作用于命令行,使用的是@terminal聊天參與者,能訪問集成終端的 shell 和內容上下文,在命令行中按 ?I 快捷鍵即可啟動終端行內聊天:
若接受建議,可以采用以下快捷鍵:
- 執行:?Enter
- 插入:?Enter 插入命令到終端
7)智能操作
選中代碼右擊即可看到Explain、Fix、Review and Comment、Generate Docs、Generate Tests
上面的入口有點深,不過使用過程中若發現問題,它也會在行內提示:
當然,選中某些字符,這一行的前面也會出現一個快捷icon:
可點擊展開快捷操作:
下面是我通過Review using Coplit的結構,若有建議,當前行將加入留言,可以點擊展開,另外在命令行中的Comments也可以看到:
3、Copilot Edits
與Cursor的Composer類似,Copilot的Edits也是直接在多個文件中快速迭代代碼,修改會直接應用在編輯器中。
可以直接點擊右上角的tab切換,或使用快捷鍵??I,還可以在標題上展開Copilot的菜單:
4、自定義指令
與Cursor的自定義指令類似,可以為Copilot提供團隊工作流、工具和項目細節,無需在每次對話中重復,它包含四種指令類型:
- 代碼生成 - 定義代碼風格,如私有變量前綴規則
- 測試生成 - 指定測試框架等測試相關要求
- 代碼審查 - 設置代碼審查重點
- 提交信息生成 - 規范提交信息格式
官網文檔講解很詳細,有需要可以直接看官網:https://code.visualstudio.com/docs/copilot/copilot-customization
(三)Windsurf/Codeium
參考
- AI編程助手
- 【AI】Cursor基本使用