[Cursor-Guide]文件處理工作
作者:Cursor
平台:本地文件
日期:2025-05-31
學習如何透過提示、外部來源和內部上下文,在Cursor中有效利用文件。提升API理解並掌握當前最佳實踐。
文件[Cursor-Guide]API最佳實踐知識截止提示外部來源內部上下文
[Cursor-Guide]文件處理工作
原始連結: 原始連結
如何在Cursor中透過提示、外部來源和內部上下文有效利用文件
文件的重要性
文件提供最新且準確的上下文。沒有它,模型會使用過時或不完整的訓練資料。文件幫助模型理解以下內容:
- 當前API和參數
- 最佳實踐
- 組織慣例
- 領域術語
以及其他更多內容。繼續閱讀以了解如何在Cursor中直接使用文件,無需切換上下文。
模型知識截止
大型語言模型的訓練資料截止於特定時間點,稱為「知識截止」。這意味著:
- 最近的函式庫更新可能未被反映
- 新框架或工具可能未知
- 截止日期後的API變更會被遺漏
- 最佳實踐可能自訓練以來已演變
例如,若模型的知識截止為2024年初,它將不知道2024年底發布的功能,即使是熱門框架也是如此。
我該使用哪種工具?
使用此決策樹幫助決定使用哪種工具
心智模型
工具 | 心智模型 |
---|---|
@Docs | 如同瀏覽和閱讀官方文件 |
@Web | 如同在網路上搜尋解決方案 |
MCP | 如同存取你的內部文件 |
公開文件
外部文件涵蓋公開可用的資訊,模型可能對此有有限或過時的知識。Cursor提供兩種主要方式存取此資訊。
使用@Docs
@Docs
將Cursor連接到熱門工具和框架的官方文件。當你需要以下內容的最新、權威資訊時使用它:
- API參考:函式簽名、參數、回傳類型
- 入門指南:設定、配置、基本用法
- 最佳實踐:來源推薦的模式
- 框架特定除錯:官方疑難排解指南
使用@Web
@Web
在即時網路上搜尋最新資訊、部落格文章和社群討論。當你需要以下內容時使用它:
- 最新教學:社群產生的內容和範例
- 比較:比較不同方法的文章
- 最新更新:非常近期的更新或公告
- 多元觀點:問題的不同解決方法
內部文件
內部文件包括特定於你組織的資訊,AI模型在訓練期間從未接觸過。這可能是:
- 內部API:自訂服務和微服務
- 公司標準:編碼慣例、架構模式
- 專有系統:自訂工具、資料庫、工作流程
- 領域知識:業務邏輯、合規要求
透過MCP存取內部文件
模型上下文協議(Model Context Protocol, MCP)提供標準化方式將你的私有文件和系統引入Cursor。MCP作為Cursor與你內部資源之間的薄層。
MCP的重要性:
- 模型無法猜測你的內部慣例
- 自訂服務的API文件未公開提供
- 業務邏輯和領域知識是你組織獨有的
- 合規和安全要求因公司而異
常見MCP整合
整合 | 存取 | 範例 |
---|---|---|
Confluence | 公司Confluence空間 | 架構文件、內部服務的API規格、編碼標準和指南、流程文件 |
Google Drive | 共享文件和資料夾 | 規格文件、會議記錄和決策記錄、設計文件和需求、團隊知識庫 |
Notion | 工作區資料庫和頁面 | 專案文件、團隊維基、知識庫、產品需求、技術規格 |
自訂 | 內部系統和資料庫 | 專有API、舊版文件系統、自訂知識庫、專業工具和工作流程 |
自訂解決方案
對於獨特需求,你可以建立自訂MCP伺服器,以:
- 爬取內部網站或入口
- 連接到專有資料庫
- 存取自訂文件系統
- 從內部維基或知識庫提取
若你建立自訂MCP伺服器,還可以暴露工具供Cursor更新文件
爬取內部文件的自訂MCP伺服器範例:
import { McpServer, ResourceTemplate } from "@modelcontextprotocol/sdk/server/mcp.js";
import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js";
import { z } from "zod";
import TurndownService from "turndown";
// Create an MCP server for scraping internal docs
const server = new McpServer({
name: "internal-docs",
version: "1.0.0"
});
const turndownService = new TurndownService();
// Add tool to scrape internal documentation
server.tool("get_doc",
{ url: z.string() },
async ({ url }) => {
try {
const response = await fetch(url);
const html = await response.text();
// Convert HTML to markdown
const markdown = turndownService.turndown(html);
return {
content: [{ type: "text", text: markdown }]
};
} catch (error) {
return {
content: [{ type: "text", text: `Error scraping ${url}: ${error.message}` }]
};
}
}
);
// Start receiving messages on stdin and sending messages on stdout
const transport = new StdioServerTransport();
await server.connect(transport);
保持文件更新
文件很快就會過時。Cursor可以幫助你基於實際代碼和開發對話生成和更新文件,以保持其最新和有用。
從現有代碼
使用Cursor直接從代碼庫建立文件:
- API文件
為此Express路由器生成API文件,包括所有端點、參數和回應格式
- JSDoc註解
為此類別添加全面的JSDoc註解,記錄所有方法及其參數
- README創建
為此專案創建README,包括設定指令、使用範例和API概述
- 架構
建立文件說明我們選擇此資料庫設計的原因,包括我們討論過的權衡取捨
- 除錯
根據我們剛修復的這個錯誤撰寫疑難排解指南,包括症狀和解決步驟
重點摘要
- 將文件作為上下文能讓 Cursor 更準確且即時
- 使用
@Docs
查閱官方文件,@Web
獲取社群知識 - MCP 能彌合 Cursor 與您內部系統之間的差距
- 從程式碼和對話生成文件以保持知識最新
- 結合外部和內部文件來源以獲取全面理解