References to Catalog.Items
Total references found: 122
- Catalog.ItemKeys - Attributes.Item.Type - Type: types
- Catalog.ItemKeys.Form.ChoiceForm.Form - Items.List.Item.Data path - Type: types
- Catalog.Items - Attributes.PackageUnit.Choice parameter links - Ref
- Catalog.Items.Form.ItemForm.Form - Items.GroupTop.GroupMainAttributes.Code.Data path - Type: types
- CommonAttribute.Author - Content - metadata
- Configuration - Catalogs - catalogs
- DefinedType.typeItem - Type - Type: types
- EventSubscription.BeforeWrite_CatalogsLockDataModification - Source - Type: types
- Role.FullAccess.Rights - Role rights - object
- Subsystem.Settings.Subsystem.Items - Content - content
BSL Modules
- CommonModules/GetItemInfo/Module.bsl [Line 199; Line 369; Line 520]
- Catalogs/Items/Forms/ListForm/Module.bsl [Line 18; Line 19]
**包含的引用類型:**
- **元數據引用** - 屬性、表單項、命令參數、類型描述
- **類型使用** - 定義類型、特徵類型圖表、類型組合
- **公共屬性** - 包含在公共屬性內容中的對象
- **事件訂閱** - 訂閱的源對象
- **角色** - 具有角色權限的對象
- **子系統** - 子系統內容
- **BSL 代碼** - BSL 模塊中的引用及行號
> **注意**:`find_references` 僅支持頂級元數據對象(例如 `Catalog.DataAreas`,`CommonModule.Saas`)。傳遞子對象 FQN(如 `Catalog.DataAreas.Attribute.DataAreaStatus`)將返回描述性錯誤,表明不支持子對象。使用 `rename_metadata_object` 或 `delete_metadata_object` 處理屬性和嵌套對象。
### 元數據重構工具
#### 重命名元數據對象工具
**`rename_metadata_object`** - 重命名元數據對象或屬性,並提供全面的重構支持。BSL 代碼、表單和元數據中的所有引用將自動更新。
**工作流程:**
1. 不帶 `confirm` 參數調用以預覽所有更改點
2. 查看更改點索引,並可選擇使用 `disableIndices` 參數跳過某些更改點
3. 帶 `confirm = true` 參數調用以應用更改
**參數:**
| 參數 | 是否必需 | 描述 |
|-----------|----------|-------------|
| `projectName` | 是 | EDT 項目名稱 |
| `objectFqn` | 是 | 要重命名的對象的 FQN。頂級:`Catalog.Products`。嵌套:`Document.SalesOrder.Attribute.Amount` |
| `newName` | 是 | 對象的新名稱 |
| `confirm` | 否 | `true` 執行重命名。默認 `false` = 僅預覽 |
| `disableIndices` | 否 | 可選更改點的逗號分隔索引,用於跳過某些更改點(例如 `'2,3,5'`) |
| `maxResults` | 否 | 預覽中要顯示的最大更改點數(默認:20,`0` = 無限制) |
**FQN 中支持的子類型:** `Attribute`,`TabularSection`,`Dimension`,`Resource`
#### 刪除元數據對象工具
**`delete_metadata_object`** - 刪除元數據對象或屬性。BSL 代碼、表單和其他元數據中的引用將自動清理。
**工作流程:**
1. 不帶 `confirm` 參數調用以預覽受影響的引用和問題
2. 帶 `confirm = true` 參數調用以應用刪除
**參數:**
| 參數 | 是否必需 | 描述 |
|-----------|----------|-------------|
| `projectName` | 是 | EDT 項目名稱 |
| `objectFqn` | 是 | 要刪除的對象的 FQN(例如 `Catalog.Products`,`Document.SalesOrder.Attribute.Amount`) |
| `confirm` | 否 | `true` 執行刪除。默認 `false` = 僅預覽 |
#### 添加元數據屬性工具
**`add_metadata_attribute`** - 通過 BM 寫入事務向元數據對象添加新屬性。屬性將使用默認屬性創建。
**參數:**
| 參數 | 是否必需 | 描述 |
|-----------|----------|-------------|
| `projectName` | 是 | EDT 項目名稱 |
| `parentFqn` | 是 | 父對象的 FQN(例如 `Catalog.Products`,`Document.SalesOrder`) |
| `attributeName` | 是 | 新屬性的名稱 |
**支持的父類型:** `Catalog`,`Document`,`ExchangePlan`,`ChartOfCharacteristicTypes`,`ChartOfAccounts`,`ChartOfCalculationTypes`,`BusinessProcess`,`Task`,`DataProcessor`,`Report`,`InformationRegister`,`AccumulationRegister`,`AccountingRegister`
### 標籤管理工具
#### 獲取標籤工具
**`get_tags`** - 獲取項目中定義的所有標籤列表。標籤是用戶定義的用於組織元數據對象的標籤。
**參數:**
| 參數 | 是否必需 | 描述 |
|-----------|----------|-------------|
| `projectName` | 是 | EDT 項目名稱 |
**返回:** 帶有標籤名稱、顏色、描述和分配對象數量的 Markdown 表格。
#### 按標籤獲取對象工具
**`get_objects_by_tags`** - 獲取按標籤過濾的元數據對象。返回具有任何指定標籤的對象。
**參數:**
| 參數 | 是否必需 | 描述 |
|-----------|----------|-------------|
| `projectName` | 是 | EDT 項目名稱 |
| `tags` | 是 | 用於過濾的標籤名稱數組(例如 `["Important", "NeedsReview"]`) |
| `limit` | 否 | 每個標籤的最大對象數(默認:100) |
**返回:** 每個標籤的 Markdown 部分,包括:
- 標籤顏色和描述
- 分配給標籤的對象 FQN 表格
- 找到的總對象數摘要
### 應用程序管理工具
#### 獲取應用程序工具
**`get_applications`** - 獲取項目的應用程序(信息庫)列表。返回應用程序 ID、名稱、類型和當前更新狀態。用於獲取 `update_database` 和 `debug_launch` 工具的應用程序 ID。
**參數:**
| 參數 | 是否必需 | 描述 |
|-----------|----------|-------------|
| `projectName` | 是 | EDT 項目名稱 |
#### 更新數據庫工具
**`update_database`** - 更新數據庫(信息庫)配置。支持完整和增量更新模式。
**參數:**
| 參數 | 是否必需 | 描述 |
|-----------|----------|-------------|
| `projectName` | 是 | EDT 項目名稱 |
| `applicationId` | 是 | 從 `get_applications` 獲取的應用程序 ID |
| `fullUpdate` | 否 | 如果為 true - 完全重新加載,如果為 false - 增量更新(默認:false) |
| `autoRestructure` | 否 | 如果需要,自動應用重構(默認:true) |
#### 調試啟動工具
**`debug_launch`** - 以調試模式啟動應用程序。啟動前自動更新數據庫,並查找現有的啟動配置。
**參數:**
| 參數 | 是否必需 | 描述 |
|-----------|----------|-------------|
| `projectName` | 是 | EDT 項目名稱 |
| `applicationId` | 是 | 從 `get_applications` 獲取的應用程序 ID |
| `updateBeforeLaunch` | 否 | 如果為 true - 啟動前更新數據庫(默認:true) |
**注意:**
- 首先需要在 EDT 中創建啟動配置(運行 → 運行配置...)
- 如果不存在配置,則返回可用配置列表
- `updateBeforeLaunch = true` 如果數據庫已經是最新的,則跳過更新
### BSL 代碼分析工具
#### 列出模塊工具
**`list_modules`** - 列出 EDT 項目中的所有 BSL 模塊。可以按元數據類型或特定對象名稱過濾。返回模塊路徑、類型和父對象。
**參數:**
| 參數 | 是否必需 | 描述 |
|-----------|----------|-------------|
| `projectName` | 是 | EDT 項目名稱 |
| `metadataType` | 否 | 過濾:`all`,`documents`,`catalogs`,`commonModules`,`informationRegisters`,`accumulationRegisters`,`reports`,`dataProcessors`,`exchangePlans`,`businessProcesses`,`tasks`,`constants`,`commonCommands`,`commonForms`,`webServices`,`httpServices`(默認:`all`) |
| `objectName` | 否 | 要列出模塊的特定元數據對象名稱(例如 `Products`) |
| `nameFilter` | 否 | 模塊路徑的子字符串過濾(不區分大小寫) |
| `limit` | 否 | 最大結果數(默認:200,最大:1000) |
#### 獲取模塊結構工具
**`get_module_structure`** - 獲取 BSL 模塊的結構:所有過程/函數及其簽名、行號、區域、執行上下文(`&AtServer`,`&AtClient`)、導出標誌和參數。
**參數:**
| 參數 | 是否必需 | 描述 |
|-----------|----------|-------------|
| `projectName` | 是 | EDT 項目名稱 |
| `modulePath` | 是 | 相對於 `src/` 文件夾的路徑(例如 `CommonModules/MyModule/Module.bsl`) |
| `includeVariables` | 否 | 包括模塊級變量聲明(默認:`false`) |
| `includeComments` | 否 | 包括方法的文檔註釋(默認:`false`) |
**返回:** Markdown 格式的內容,包括:
- 模塊摘要(過程/函數計數、總行數)
- 區域列表及其行範圍
- 方法表:類型、名稱、導出、上下文、行號、參數、區域、描述(當 `includeComments = true` 時)
- 變量表:名稱、導出標誌、行號、區域(當 `includeVariables = true` 時)
#### 讀取模塊源代碼工具
**`read_module_source`** - 從 EDT 項目中讀取 BSL 模塊源代碼。返回帶有行號的源代碼。支持讀取完整文件或特定行範圍。每次調用最多 5000 行。
**參數:**
| 參數 | 是否必需 | 描述 |
|-----------|----------|-------------|
| `projectName` | 是 | EDT 項目名稱 |
| `modulePath` | 是 | 相對於 `src/` 文件夾的路徑(例如 `CommonModules/MyModule/Module.bsl` 或 `Documents/SalesOrder/ObjectModule.bsl`) |
| `startLine` | 否 | 起始行號(從 1 開始,包含)。如果省略,則從開頭讀取 |
| `endLine` | 否 | 結束行號(從 1 開始,包含)。如果省略,則讀取到末尾 |
#### 寫入模塊源代碼工具
**`write_module_source`** - 將 BSL 源代碼寫入 1C 元數據對象模塊。模式包括:搜索替換(基於內容的查找和替換,默認)、替換(替換整個文件)、追加(添加到末尾)。指定模塊路徑或對象名稱 + 模塊類型。寫入前自動檢查 BSL 語法。
**參數:**
| 參數 | 是否必需 | 描述 |
|-----------|----------|-------------|
| `projectName` | 是 | EDT 項目名稱 |
| `modulePath` | 否* | 相對於 `src/` 文件夾的路徑(例如 `Documents/MyDoc/ObjectModule.bsl`)。替代 `objectName + moduleType` |
| `objectName` | 否* | 完整對象名稱(例如 `Document.MyDoc`,`CommonModule.MyModule`)。支持俄文名稱 |
| `moduleType` | 否 | 模塊類型:`ObjectModule`(默認),`ManagerModule`,`FormModule`,`CommandModule`,`RecordSetModule` |
| `source` | 是 | 要寫入的 BSL 源代碼。對於 `searchReplace`:替換 `oldSource` 的新代碼。對於 `replace`:完整的模塊內容。對於 `append`:要添加的代碼 |
| `oldSource` | 否** | 要查找並替換的現有代碼(`searchReplace` 模式必需)。必須與文件中的一個位置完全匹配。作為你已讀取當前文件內容的證明 |
| `mode` | 否 | 寫入模式:`searchReplace`(默認),`replace`,`append` |
| `formName` | 否 | 表單名稱,當 `moduleType = FormModule` 時必需 |
| `commandName` | 否 | 命令名稱,當 `moduleType = CommandModule` 時必需 |
| `skipSyntaxCheck` | 否 | 跳過 BSL 語法驗證(默認:`false`)。檢查 `Procedure/EndProcedure`,`Function/EndFunction`,`If/EndIf`,`While/EndDo`,`For/EndDo`,`Try/EndTry` 是否平衡 |
*`modulePath` 或 `objectName` 必須提供一個。
**`searchReplace` 模式必需。
**注意:**
- **基於內容的編輯**:`searchReplace` 模式在文件中查找 `oldSource` 並將其替換為 `source`。如果 `oldSource` 未找到或匹配多個位置,操作將安全失敗。這消除了多次編輯時行號漂移的問題
- 如果模塊文件不存在,則在 `replace` 模式下創建新文件
- 保留 UTF - 8 BOM 編碼
- 語法檢查驗證完整的結果文件,而不僅僅是插入的片段
#### 讀取方法源代碼工具
**`read_method_source`** - 按名稱讀取 BSL 模塊中的特定過程/函數。返回帶有行號和簽名的方法源代碼。如果未找到方法,則返回所有可用方法的列表。
**參數:**
| 參數 | 是否必需 | 描述 |
|-----------|----------|-------------|
| `projectName` | 是 | EDT 項目名稱 |
| `modulePath` | 是 | 相對於 `src/` 文件夾的路徑(例如 `CommonModules/MyModule/Module.bsl`) |
| `methodName` | 是 | 要讀取的過程/函數名稱(不區分大小寫) |
**返回:** 方法源代碼,包括:
- 方法類型(過程/函數)、簽名、導出標誌
- 行範圍和行數
- 帶有行號的源代碼
#### 代碼搜索工具
**`search_in_code`** - 在項目的所有 BSL 模塊中進行全文搜索。支持純文本和正則表達式模式、大小寫敏感、匹配上下文行和文件路徑過濾。
**參數:**
| 參數 | 是否必需 | 描述 |
|-----------|----------|-------------|
| `projectName` | 是 | EDT 項目名稱 |
| `query` | 是 | 搜索字符串或正則表達式模式 |
| `caseSensitive` | 否 | 大小寫敏感搜索(默認:`false`) |
| `isRegex` | 否 | 將查詢視為正則表達式(默認:`false`) |
| `maxResults` | 否 | 返回帶有上下文的最大匹配數(默認:100,最大:500) |
| `contextLines` | 否 | 每個匹配前後的上下文行數(默認:2,最大:5) |
| `fileMask` | 否 | 按模塊路徑子字符串過濾(例如 `CommonModules` 或 `Documents/SalesOrder`) |
| `outputMode` | 否 | 輸出模式:`full`(帶上下文的匹配,默認),`count`(僅總計數,快速),`files`(帶匹配計數的文件列表,無上下文) |
| `metadataType` | 否 | 按元數據類型過濾:`documents`,`catalogs`,`commonModules`,`informationRegisters`,`accumulationRegisters`,`reports`,`dataProcessors`,`exchangePlans`,`businessProcesses`,`tasks`,`constants`,`commonCommands`,`commonForms`,`webServices`,`httpServices` |
#### 獲取方法調用層次結構工具
**`get_method_call_hierarchy`** - 查找方法調用層次結構:誰調用此方法(調用者)或此方法調用什麼(被調用者)。使用基於 BM 索引的語義 BSL 分析,而不是文本搜索。
**參數:**
| 參數 | 是否必需 | 描述 |
|-----------|----------|-------------|
| `projectName` | 是 | EDT 項目名稱 |
| `modulePath` | 是 | 相對於 `src/` 文件夾的路徑(例如 `CommonModules/MyModule/Module.bsl`) |
| `methodName` | 是 | 過程/函數名稱(不區分大小寫) |
| `direction` | 否 | `callers`(誰調用此方法,默認)或 `callees`(此方法調用什麼) |
| `limit` | 否 | 最大結果數(默認:100,最大:500) |
**注意:**
- 需要 EMF 模型(BSL AST) — 在文本回退模式下不起作用
- `callers` 使用 IReferenceFinder 在整個項目中搜索
- `callees` 遍歷方法的 AST 以查找所有調用
### 轉到定義工具
**`go_to_definition`** - 導航到符號的定義。將方法調用(如 `CommonModuleName.MethodName`)解析為實際定義,包括源代碼、簽名和位置。還可以解析元數據對象 FQN(如 `Catalog.Products`)。支持英文和俄文元數據類型名稱。
**參數:**
| 參數 | 是否必需 | 描述 |
|-----------|----------|-------------|
| `projectName` | 是 | EDT 項目名稱 |
| `symbol` | 是 | 要查找定義的符號。格式:`ModuleName.MethodName`(公共模塊中的方法),`MethodName`(上下文中的方法,需要 `modulePath`),`Catalog.Products`(元數據對象 FQN)。也支持俄文元數據類型名稱 |
| `modulePath` | 否 | 相對於 `src/` 文件夾的上下文模塊路徑(例如 `Documents/SalesOrder/ObjectModule.bsl`)。當符號是未限定的方法名稱時必需 |
| `includeSource` | 否 | 在響應中包含方法源代碼(默認:`true`) |
**返回:** Markdown 格式的內容,包括:
- 方法簽名、導出標誌、行範圍
- 帶有行號的源代碼(當 `includeSource = true` 時)
- 用於導航的文件路徑
- 對於元數據對象:FQN、同義詞、可用模塊
### 獲取符號信息工具
**`get_symbol_info`** - 獲取 BSL 模塊中特定位置的符號的類型和懸停信息。返回推斷類型、簽名和文檔 — 與 EDT 鼠標懸停時顯示的信息相同。有助於理解動態類型 BSL 代碼中的變量類型。
**參數:**
| 參數 | 是否必需 | 描述 |
|-----------|----------|-------------|
| `projectName` | 是 | EDT 項目名稱 |
| `filePath` | 是 | 相對於項目 `src/` 文件夾的 BSL 文件路徑(例如 `CommonModules/MyModule/Module.bsl`) |
| `line` | 是 | 行號(從 1 開始) |
| `column` | 是 | 列號(從 1 開始) |
**返回:** 包含符號信息的 Markdown。使用多級方法:
1. **編輯器懸停**(最佳):返回推斷類型、方法簽名、文檔 — 與 IDE 懸停工具提示相同
2. **EObject 分析**(回退):返回結構信息 — 符號類型、名稱、簽名、導出標誌、行範圍
3. **EMF 模型**(最後手段):基本節點信息,無需打開編輯器
**使用場景:**
- 確定變量的推斷類型(BSL 是動態類型)
- 在調用位置獲取方法簽名和文檔
- 檢查通過點符號訪問的對象的屬性類型
- 理解平臺方法參數類型
### 輸出格式
- **Markdown 工具**:`list_projects`,`get_project_errors`,`get_bookmarks`,`get_tasks`,`get_problem_summary`,`get_check_description` - 以 `mimeType: text/markdown` 的嵌入式資源形式返回 Markdown
- **JSON 工具**:`get_configuration_properties`,`clean_project`,`revalidate_objects` - 以 `structuredContent` 形式返回 JSON
- **文本工具**:`get_edt_version` - 返回純文本
</details>
### API 端點
| 端點 | 方法 | 描述 |
|----------|--------|-------------|
| `/mcp` | POST | MCP JSON - RPC(初始化、工具/列表、工具/調用) |
| `/mcp` | GET | 服務器信息 |
| `/health` | GET | 健康檢查 |
### 元數據標籤
使用自定義標籤組織元數據對象,以便更輕鬆地導航和過濾。
#### 為什麼使用標籤?
標籤有助於:
- 跨不同元數據類型對相關對象進行分組(例如,特定功能的所有對象)
- 在大型配置中快速查找對象
- 過濾導航器,專注於項目的特定區域
- 通過版本控制與團隊共享對象組織
#### 入門
**為對象分配標籤:**
1. 在導航器中右鍵單擊任何元數據對象
2. 從上下文菜單中選擇 **標籤**
3. 勾選要分配的標籤,或選擇 **管理標籤...** 創建新標籤

**管理標籤:**
在管理標籤對話框中,你可以:
- 使用自定義名稱、顏色和描述創建新標籤
- 編輯現有標籤(名稱、顏色、描述)
- 刪除標籤
- 查看項目的所有可用標籤

#### 在導航器中查看標籤
帶標籤的對象在導航器樹中以標籤作為後綴顯示:

**啟用/禁用標籤顯示:**
- **窗口 → 首選項 → 常規 → 外觀 → 標籤裝飾**
- 切換 “元數據標籤裝飾器”
#### 按標籤過濾導航器
過濾整個導航器,僅顯示具有特定標籤的對象:
1. 點擊導航器工具欄中的標籤過濾按鈕(或右鍵單擊 → **標籤 → 按標籤過濾...**)
2. 選擇一個或多個標籤
3. 點擊 **設置** 應用過濾

導航器將僅顯示:
- 具有任何所選標籤的對象
- 包含匹配對象的父文件夾
**清除過濾:** 點擊對話框中的 **關閉** 或再次使用工具欄按鈕。
#### 標籤的鍵盤快捷鍵
使用鍵盤快捷鍵快速切換所選對象的標籤:
| 快捷鍵 | 操作 |
|----------|--------|
| **Ctrl + Alt + 1** | 切換第 1 個標籤 |
| **Ctrl + Alt + 2** | 切換第 2 個標籤 |
| **...** | ... |
| **Ctrl + Alt + 9** | 切換第 9 個標籤 |
| **Ctrl + Alt + 0** | 切換第 10 個標籤 |
**特性:**
- 適用於多個所選對象
- 支持跨項目選擇(每個對象使用其自己項目的標籤)
- 再次按下相同的快捷鍵可移除標籤(切換行為)
- 標籤順序可在管理標籤對話框中配置(上移/下移按鈕)
**自定義快捷鍵:** 窗口 → 首選項 → 常規 → 鍵 → 搜索 “切換標籤”
#### 過濾未標記的對象
查找尚未標記的元數據對象:
1. 打開按標籤過濾對話框(工具欄按鈕或標籤 → 按標籤過濾...)
2. 勾選 **“僅顯示未標記的對象”** 複選框
3. 點擊 **設置**
導航器將僅顯示沒有分配標籤的對象,便於識別需要分類的對象。
#### 多選標籤分配
一次為多個對象分配或移除標籤:
1. 在導航器中選擇多個對象(Ctrl + 點擊或 Shift + 點擊)
2. 右鍵單擊 → **標籤**
3. 選擇一個標籤以切換所有所選對象的標籤狀態
**行為:**
- ✓ 勾選 = 所有所選對象都有此標籤
- ☐ 未勾選 = 沒有所選對象有此標籤
- 當對象來自不同項目時,只有來自具有該標籤的項目的對象會受到影響
#### 標籤過濾視圖
對於跨多個項目的高級過濾,使用標籤過濾視圖:
**窗口 → 顯示視圖 → 其他 → MCP 服務器 → 標籤過濾**
此視圖提供:
- **左面板**:從工作區的所有項目中選擇標籤
- **右面板**:查看所有匹配對象,並支持搜索和導航
- **搜索**:使用正則表達式按對象名稱過濾結果
- **雙擊**:直接導航到對象
#### 標籤存儲位置
標籤存儲在每個項目的 `.settings/metadata-tags.yaml` 文件中。此文件:
- 可以提交到版本控制(對 VCS 友好)
- 在重命名或刪除對象時自動更新
- 使用 YAML 格式,易於閱讀
**示例:**
```yaml
assignments:
CommonModule.Utils:
- Utils
Document.SalesOrder:
- Important
- Sales
tags:
- color: '#FF0000'
description: Critical business logic
name: Important
- color: '#00FF00'
description: ''
name: Utils
- color: '#0066FF'
description: Sales department documents
name: Sales
元數據組
使用自定義組組織導航器樹,為元數據對象創建邏輯文件夾結構。
為什麼使用組?
組有助於:
- 在導航器樹中創建自定義文件夾層次結構
- 按業務領域、功能或任何邏輯結構組織對象
- 通過嵌套組更快地導航大型配置
- 將分組對象與未分組對象分開
入門
創建組:
- 在導航器中右鍵單擊任何元數據文件夾(例如,目錄、公共模塊)
- 從上下文菜單中選擇 新建組...
- 輸入組名稱和可選描述
- 點擊 確定 創建組
創建組對話框:
將對象添加到組:
- 在導航器中右鍵單擊任何元數據對象
- 選擇 添加到組...
- 從列表中選擇目標組
從組中移除對象:
- 在組內右鍵單擊對象
- 選擇 從組中移除
在導航器中查看組
分組對象在導航器樹中顯示在其組文件夾內:
關鍵特性:
- 組是針對每個元數據集合(目錄、公共模塊、文檔等)創建的
- 組內的對象仍然可以通過標準 EDT 導航訪問
- 未分組的對象顯示在列表末尾
組操作
| 操作 |
操作方法 |
| 創建組 |
右鍵單擊文件夾 → 新建組... |
| 將對象添加到組 |
右鍵單擊對象 → 添加到組... |
| 從組中移除 |
右鍵單擊組內的對象 → 從組中移除 |
| 複製組名稱 |
選擇組 → Ctrl + C |
| 刪除組 |
右鍵單擊組 → 刪除 |
| 重命名組 |
右鍵單擊組 → 重命名... |
組存儲位置
組存儲在每個項目的 .settings/groups.yaml 文件中。此文件:
- 可以提交到版本控制(對 VCS 友好)
- 使用 YAML 格式,易於閱讀
- 在重命名或刪除對象時自動更新
示例:
groups:
- name: "Products & Inventory"
description: "Product and inventory catalogs"
path: Catalog
order: 0
children:
- Catalog.ItemKeys
- Catalog.Items
- Catalog.ItemSegments
- Catalog.Units
- Catalog.UnitsOfMeasurement
- name: "Organization"
description: "Organization structure catalogs"
path: Catalog
order: 1
children:
- Catalog.Companies
- Catalog.Stores
- name: "Core Functions"
description: "Core shared functions used across the application"
path: CommonModule
order: 0
children:
- CommonModule.CommonFunctionsClient
- CommonModule.CommonFunctionsServer
- CommonModule.CommonFunctionsClientServer
- name: "Localization"
description: "Multi-language support modules"
path: CommonModule
order: 1
children:
- CommonModule.Localization
- CommonModule.LocalizationClient
- CommonModule.LocalizationServer
- CommonModule.LocalizationReuse
🔧 技術細節
狀態欄控件
MCP 服務器狀態欄通過交互式控件即時顯示執行狀態。
狀態指示器:
- 🟢 綠色 - 服務器運行,空閒
- 🟡 黃色閃爍 - 工具正在執行
- ⚪ 灰色 - 服務器停止
用戶信號控件 - 在工具執行期間向 AI 代理發送信號
工具執行期間:
- 顯示工具名稱(例如
MCP: update_database)
- 以 MM:SS 格式顯示已用時間
- 點擊訪問控制菜單
當工具正在執行時,你可以向 AI 代理發送信號以中斷 MCP 調用:
| 按鈕 |
描述 |
使用場景 |
| 取消操作 |
停止 MCP 調用並通知代理 |
當你想取消長時間運行的操作時 |
| 重試 |
告訴代理重試操作 |
當 EDT 出現錯誤且你想再次嘗試時 |
| 在後臺繼續 |
通知代理操作正在長時間運行 |
當你希望代理定期檢查狀態時 |
| 諮詢專家 |
停止並要求代理與你協商 |
當你需要提供指導時 |
| 發送自定義消息... |
向代理發送自定義消息 |
用於任何自定義指令 |
工作原理:
- 點擊按鈕時,會出現一個對話框,顯示將發送給代理的消息
- 你可以在發送前編輯消息
- MCP 調用立即中斷,並將控制權返回給代理
- EDT 操作在後臺繼續運行
- 代理收到如下響應:
USER SIGNAL: Your message here
Signal Type: CANCEL
Tool: update_database
Elapsed: 20s
Note: The EDT operation may still be running in background.