跳到主内容
智客 ZICQ

技能库 智客分类:Agent 工作流 1c-devtools-cursor

1c 开发工具光标

光标 IDE 扩展为 1C 提供开发工具: Enterprise 8 具有命令调色板、任务树和调试支持的生态系统

196 安装量

官方网址:skills.sh

技能介绍

先看中文介绍;官方 description 原文单独保留,不改写 SKILL.md。

做什么

光标 IDE 扩展为 1C 提供开发工具: Enterprise 8 具有命令调色板、任务树和调试支持的生态系统

何时用

官方 description 未单独写出 Use when。按规范,代理会在用户任务与这段 description 的关键词匹配时激活本技能。

代理如何加载

按 Agent Skills 渐进披露:启动时只加载 name 与 description(约 100 token);任务匹配后才读入整份 SKILL.md 正文;scripts/、references/、assets/ 仅在需要时再读。 本文件正文结构:1C Dev Tools for Cursor、What It Does、Installation、Prerequisites、Install Extension、Project Setup。

文件分析

文件分析:这是一份仅含 SKILL.md 的指令型技能,代理激活后整份正文进入上下文。 正文约 501 行,超过规范建议的 500 行,激活时仍会整份载入。

官方 description(原文)

Cursor IDE extension providing development tools for 1C:Enterprise 8 ecosystem with command palette, task tree, and debugging support

1C Dev Tools for CursorWhat It DoesInstallationPrerequisitesInstall ExtensionProject SetupConfigurationenv.json - Connection Parameterslaunch.json - Debug ConfigurationsDebug Server SettingsKey CommandsInformation Base

来源分类:skills.sh agent-skill

SKILL.md 与 Agent 调用

官方规范 ↗
name
1c-devtools-cursor
description
Cursor IDE extension providing development tools for 1C:Enterprise 8 ecosystem with command palette, task tree, and debugging support
  1. 发现技能客户端向 Agent 提供名称与描述目录。
  2. 匹配与调用用户指定或任务匹配后,载入 SKILL.md 指令。
  3. 按需加载按步骤读取参考文档、使用脚本与素材。

具体调用语法与可用工具以目标 Agent 客户端为准。 查看调用机制说明 ↗

安装这个技能

Skills CLI ↗

先选择目标 Agent 和安装范围,保留技能包的附属文件,安装后检查客户端能否发现该技能。

交给 Agent 安装

复制安装指令给支持 Agent Skills 的代理,确认其中的目标目录与客户端匹配。

把 Agent Skill「1c-devtools-cursor」安装到我的项目:SKILL.md 原文与官方 description 见 https://zicq.com/zh/skills/skl-7d757afa355a62f9-1c-%E5%BC%80%E5%8F%91%E5%B7%A5%E5%85%B7%E5%85%89%E6%A0%87.html
请存为 .cursor/skills/1c-devtools-cursor/SKILL.md 或 .claude/skills/1c-devtools-cursor/SKILL.md,frontmatter 的 name 与 description 保持原样,不要改写。

GitHub 完整包 ↗

终端安装 · Skills CLI

需要 Node.js 与 npx。先查看仓库技能列表,确认实际名称。

npx skills add 'https://github.com/reason-machines/devtools-skills' --list

npx skills add 'https://github.com/reason-machines/devtools-skills' --skill '1c-devtools-cursor'

CLI 会交互选择目标 Agent,默认安装到项目;用户级安装使用 -g。先通过查看命令核对仓库内容,再用 npx skills list 检查已安装技能。

阅读排版
--- name: 1c-devtools-cursor description: Cursor IDE extension providing development tools for 1C:Enterprise 8 ecosystem with command palette, task tree, and debugging support triggers: - how do I work with 1C projects in Cursor - set up 1C development environment - configure 1C infobase connection - debug 1C BSL modules - export 1C configuration to sources - load 1C configuration from sources - manage 1C extensions in development - build 1C external reports and processors --- # 1C Dev Tools for Cursor > Skill by [ara.so](https://ara.so) — Devtools Skills collection. Extension for Cursor IDE that provides comprehensive development tools for the 1C:Enterprise 8 ecosystem. Offers command palette integration, task tree navigation, configuration management, extension handling, and BSL debugging capabilities. ## What It Does 1C Dev Tools integrates 1C:Enterprise development workflow into Cursor IDE: - **Information Base Management**: Create, update, export/import databases - **Configuration Operations**: Load/unload configurations from sources (src/cf), build .cf files - **Extension Management**: Work with multiple extensions (src/cfe), compile .cfe files - **External Files**: Build and disassemble external reports/processors - **Dependency Management**: Initialize and manage packagedef dependencies - **Launch Tools**: Start Enterprise or Configurator from IDE - **BSL Debugging**: Attach debugger with variable inspection, watch expressions, and call stack navigation All commands accessible through: - 1C Dev Tools panel - Command palette (Ctrl+Shift+P) - Task tree in bottom panel ## Installation ### Prerequisites 1. **Node.js** 18.x or higher 2. **OneScript (oscript)** - Script execution engine: https://oscript.io/ 3. **Windows environment variable**: Create `oscript` pointing to `C:\Program Files\OneScript\bin\oscript.exe` ### Install Extension 1. Open Cursor IDE 2. Press `Ctrl+Shift+P` → "Extensions: Install from VSIX" 3. Select the `.vsix` file 4. Restart Cursor ### Project Setup Extension auto-activates when `packagedef` file exists in project root. **Project structure:** ``` project-root/ ├── packagedef # Project manifest (required for activation) ├── env.json # Connection parameters ├── launch.json # Debug configurations ├── tasks.json # Custom tasks ├── oscript_modules/ # OneScript modules override ├── src/ │ ├── cf/ # Configuration sources │ └── cfe/ # Extension sources (subdirectories per extension) └── build/ ├── ib/ # Information base └── commit/ └── Commit.txt # Changed files list for incremental updates ``` ## Configuration ### env.json - Connection Parameters Create `env.json` in project root: ```json { "$schema": "https://raw.githubusercontent.com/vanessa-opensource/vanessa-runner/develop/vanessa-runner-schema.json", "default": { "--ibconnection": "/F./build/ib", "--infoBase": "MyInfoBase", "--db-user": "Admin", "--db-pwd": "", "--root": ".", "--workspace": ".", "--v8version": "8.3.27", "--v8-platform-root": "C:/Program Files/1cv8", "--debug-server": "localhost", "--debug-port-range": "1560:1591", "--locale": "ru", "--language": "ru", "--additional": "/DisplayAllFunctions /Lru /iTaxi /TESTMANAGER", "--ordinaryapp": "-1" } } ``` **Key parameters:** - `--ibconnection`: File base path (`/F./build/ib`) or server (`/S\`) - `--v8version`: Platform version (e.g., `8.3.27`) - `--v8-platform-root`: Installation path - `--debug-server`: Debug server hostname (use computer name for local) - `--debug-port-range`: RDBG port range ### launch.json - Debug Configurations Create `.vscode/launch.json`: ```json { "configurations": [ { "type": "onec", "request": "launch", "name": "1C: Launch with background jobs", "debugServerHost": "localhost", "debugServerPort": 1560, "infoBaseAlias": "DefAlias", "autoAttachTypes": [ "Client", "Server", "Job", "JobFileMode" ] }, { "type": "onec", "request": "launch", "name": "1C: Launch without background jobs", "debugServerHost": "localhost", "debugServerPort": 1560, "infoBaseAlias": "DefAlias", "autoAttachTypes": [ "Client", "Server" ] }, { "type": "onec", "request": "attach", "name": "1C: Attach", "debugServerHost": "localhost", "debugServerPort": 1560, "infoBaseAlias": "DefAlias", "autoAttachTypes": [ "Client", "Server" ] } ] } ``` **autoAttachTypes** options: `Client`, `ManagedClient`, `WebClient`, `ComConnector`, `Server`, `ServerEmulation`, `WebService`, `HttpService`, `OData`, `Job`, `JobFileMode`, `MobileClient`, `MobileServer`, `MobileJobFileMode`, `MobileManagedClient`, `MobileManagedServer` ### Debug Server Settings Extension automatically manages `dbgs.exe` debug server: - **Local**: Auto-starts server on activation - **Remote**: Attempts connection - **Protocol**: HTTP only (configure in Configurator) **Fine-tune debug timings** via settings (`1c-dev-tools.debug.timings`): ```json { "1c-dev-tools.debug.timings": { "varFetchDelayMs": 50, "calcWaitingTimeMs": 100, "pingIntervalMs": 50, "pingStoppedIntervalMs": 500, "stepInOutDelayMs": 40, "immediatePingDelaysMs": [25, 50, 100], "evalExprRetryDelaysMs": [50, 100], "variablesRequestRetryDelaysMs": [50, 100, 150], "pingDbgtgtIntervalMs": 5000 } } ``` ## Key Commands Access via command palette (`Ctrl+Shift+P` → "1C: ..." or "1С: ...") or 1C Dev Tools panel. ### Information Base ``` 1C: Create empty infobase 1C: Post-update processing 1C: Prohibit external resources 1C: Export to dt / Import from dt ``` ### Configuration Management **Load/Export sources:** ``` 1C: Load from src/cf # Load entire configuration from sources 1C: Update from src/cf # Incremental update (uses build/commit/Commit.txt) 1C: Export to src/cf # Full export to sources 1C: Export update to src/cf # Export only changes ``` **Binary files:** ``` 1C: Load from 1Cv8.cf # Import .cf file 1C: Export to 1Cv8.cf # Export configuration 1C: Export distribution 1Cv8dist.cf 1C: Build 1Cv8.cf from src/cf 1C: Disassemble 1Cv8.cf to src/cf ``` ### Extension Management **Source operations:** ``` 1C: Load from src/cfe # Load all extensions from sources 1C: Export to src/cfe # Export all extensions to sources 1C: Export update to src/cfe # Export only changed extensions 1C: Update from src/cfe # Incremental update (uses Commit.txt) ``` **Binary operations:** ``` 1C: Load from *.cfe 1C: Export to *.cfe 1C: Build *.cfe from src/cfe 1C: Disassemble *.cfe to src/cfe ``` ### External Files ``` 1C: Build external report/processor # Compile external file 1C: Disassemble external report/processor 1C: Clear cache ``` ### Dependencies ``` 1C: Initialize packagedef # Create dependency manifest 1C: Install dependencies 1C: Remove dependencies ``` ### Launch ``` 1C: Launch Enterprise # Start client application 1C: Launch Configurator # Open Configurator ``` ## Debugging BSL Modules ### Starting Debug Session 1. Set breakpoints in `.bsl` files (click left margin) 2. Press `F5` or Run → Start Debugging 3. Select configuration: "1C: Launch with background jobs" or "1C: Attach" 4. Extension connects to `dbgs.exe` on specified port 5. Launch 1C:Enterprise (manually or via command) ### Variable Inspection **Watch panel** (add expressions): - Right-click variable in editor → "Show value in separate window" - Click "Calculate value" button in Watch panel header - Enter expression: `Query.TemporaryTablesManager.Tables[0]` **Supported types:** - **Структура (Structure)**: Expands with fields and values - **Соответствие (Map)**: Expands with Key/Value pairs - **ТаблицаЗначений (ValueTable)**: Shows columns, indexes, rows `[0]`, `[1]`, etc. - **МенеджерВременныхТаблиц (TempTablesManager)**: Shows temporary tables tree ### Calculate Expression Right-click in editor → "Calculate value": ```bsl // In stopped context, evaluate: Query.TemporaryTablesManager.Tables[0].GetColumns() Result.Find("MyValue", "FieldName") Collection.Count() > 10 ``` Result displays in table: Property | Value | Type ### Call Stack Navigation **Note**: Local variables don't display in default view. To inspect: 1. Select stack frame (procedure/function) in **Call Stack** panel 2. Add variable to **Watch** panel 3. Variable evaluates in selected frame context ### Step Commands ``` F10 - Step Over F11 - Step Into Shift+F11 - Step Out F5 - Continue Shift+F5 - Stop ``` Extension auto-refreshes stack and variables with optimized ping intervals. ## Common Patterns ### Initial Project Setup ```bash # 1. Create project structure mkdir my-1c-project cd my-1c-project mkdir -p src/cf src/cfe build/ib build/commit # 2. Initialize packagedef # Open in Cursor, press Ctrl+Shift+P → "1C: Initialize packagedef" # 3. Create env.json (see Configuration section) # 4. Create empty infobase # Ctrl+Shift+P → "1C: Create empty infobase" ``` ### Load Configuration from External Source ```bash # 1. Place 1Cv8.cf in project root # 2. Ctrl+Shift+P → "1C: Load from 1Cv8.cf" # 3. Export to sources: "1C: Export to src/cf" ``` ### Incremental Development Workflow 1. Work in Configurator, make changes 2. Export changes: `1C: Export update to src/cf` 3. Commit to version control 4. Teammates update: `1C: Update from src/cf` (reads `build/commit/Commit.txt`) **build/commit/Commit.txt** format (one file per line): ``` src/cf/Documents/Документ1/Ext/ManagerModule.bsl src/cf/Catalogs/Справочник1.xml src/cfe/Extension1/Documents/Документ1/Ext/ObjectModule.bsl ``` ### Working with Multiple Extensions ```bash # Extensions stored in subdirectories: src/cfe/ ├── Extension1/ │ ├── Configuration.xml │ └── Documents/... └── Extension2/ ├── Configuration.xml └── Catalogs/... # Commands operate on all extensions: 1C: Load from src/cfe # Loads Extension1 + Extension2 1C: Export update to src/cfe # Exports changes from all ``` ### Build External Processor ```bsl // src/ExternalReports/MyReport/ObjectModule.bsl Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка) // Report logic КонецПроцедуры ``` 1. Place sources in `src/ExternalReports/MyReport/` 2. `Ctrl+Shift+P` → `1C: Build external report/processor` 3. Select `MyReport` 4. Output: `MyReport.erf` in project root ### Debug BSL Code Example ```bsl // CommonModule.bsl Функция ВыполнитьЗапрос(ТекстЗапроса) Запрос = Новый Запрос; Запрос.Текст = ТекстЗапроса; // Set breakpoint here ⬅ Результат = Запрос.Выполнить(); ТЗ = Результат.Выгрузить(); Возврат ТЗ; КонецФункции ``` When stopped at breakpoint: 1. Add `Запрос` to Watch 2. Expand `Запрос.МенеджерВременныхТаблиц.Таблицы` 3. Right-click `ТЗ` → "Show value in separate window" (after step-over) ## Troubleshooting ### Extension Not Activating **Symptom**: 1C Dev Tools panel not visible **Solution**: - Ensure `packagedef` exists in project root - Restart Cursor - Check Output panel → "1C Dev Tools" for errors ### oscript Command Not Found **Symptom**: Commands fail with "oscript not recognized" **Solution**: - Install OneScript: https://oscript.io/ - Create Windows environment variable: `oscript = C:\Program Files\OneScript\bin\oscript.exe` - Restart Cursor after setting variable ### Debug Server Connection Failed **Symptom**: Cannot connect to debug server **Solution**: - Verify `dbgs.exe` running (Task Manager) - Check `launch.json` → `debugServerHost` matches actual hostname - Ensure port `1560` (or configured) not blocked by firewall - In Configurator: Debug → Change protocol to HTTP - Restart debug server manually: `dbgs.exe --addr localhost --port 1560` ### Variables Not Showing in Watch **Symptom**: Watch panel empty or shows "unavailable" **Solution**: - Select correct **Call Stack** frame (click procedure name) - Manually add variable name to Watch (don't rely on auto-detection) - Increase `varFetchDelayMs` in settings if timing issue - Use "Calculate value" button instead for complex expressions ### Load from src/cf Fails **Symptom**: "Configuration load error" **Solution**: - Verify `src/cf/Configuration.xml` exists - Check `env.json` → `--ibconnection` path correct - Ensure infobase not locked (close Configurator/Enterprise) - Try "1C: Create empty infobase" first ### Update from src/cfe Skips Files **Symptom**: Changes not applied **Solution**: - Check `build/commit/Commit.txt` contains modified file paths - Use full export first: `1C: Export to src/cfe` - Verify extension names match subdirectory names exactly - Manually add missing paths to `Commit.txt` (relative to project root) ### Build External Processor No Output **Symptom**: Build completes but no .erf/.epf file **Solution**: - Check source structure includes `ObjectModule.bsl` or `ManagerModule.bsl` - Verify XML metadata files present - Look in project root and `build/` directory - Check Output panel for oscript errors ### Incremental Update Applies Wrong Files **Symptom**: Unrelated modules changed after update **Solution**: - `Commit.txt` format must be: one file path per line, relative to project root - Use forward slashes: `src/cf/Documents/Doc1.xml` not `src\cf\Documents\Doc1.xml` - No empty lines or comments in `Commit.txt` - Regenerate with `1C: Export update to src/cf` after known state ## TypeScript API (for Extension Development) If extending this project: ```typescript import * as vscode from 'vscode'; // Access extension context const ext = vscode.extensions.getExtension('asweetand-a11y.devtool1c'); if (ext) { const api = await ext.activate(); } // Register custom command vscode.commands.registerCommand('1c-dev-tools.customCommand', () => { // Execute oscript const terminal = vscode.window.createTerminal('1C Tools'); terminal.sendText('oscript build.os'); }); // Read env.json configuration const workspaceRoot = vscode.workspace.workspaceFolders?.[0].uri.fsPath; const envPath = path.join(workspaceRoot, 'env.json'); const envConfig = JSON.parse(fs.readFileSync(envPath, 'utf8')); const ibConnection = envConfig.default['--ibconnection']; ``` ## References - OneScript documentation: https://oscript.io/ - Vanessa-Runner schema: https://github.com/vanessa-opensource/vanessa-runner - Example project setup: https://github.com/asweetand-a11y/DevTool1C --- **License**: MIT **Language**: TypeScript **Platform**: Cursor IDE on Windows

相关技能

Agent 工作流

技能创建者Skill Creator

创造有效技能指南。 当用户想创造出新的技能(或更新现有的技能),以专业知识,工作流程,或工具集成来扩展克洛德的能力时,应该使用这种技能.

Agent 工作流

克劳德胡布Clawdhub

使用ClawdHub CLI搜索,安装,更新并发布从taladhub.com的代理技能. 需要获取苍蝇上的新技能时使用,将安装的技能同步到最新版本或特定版本,或者发布 npm-instainddhub CLI 的新/更新的技能文件夹.

Agent 工作流

团队指挥Agent Team Orchestration

管弦乐团多代理团队,任务设定周期,交接协议,审查工作流程. 使用时间: (1)建立2+特派员队伍,具有不同专业,(2)确定任务路线和生命周期(收录框_ spec_建设_审查_完成),(3)在特派员之间制定交接协议,(4)建立审查和质量关口,(5)管理特派员之间的交流和文物共享.

Agent 工作流

超级力量Superpowers

Spec-first,TDD,子代理驱动的软件开发工作流程. 当:(1)构建任何新功能或应用——触发脑暴_计划_子代理执行回路,(2)调试出一个bug或测试失败——触发系统性的根起过程,(3)用户说"让我们构建","帮助我计划","我想添加X",或"这个被打破",(4)完成一个功…