Stata开发工具包

Stata Workbench是一个统一的Stata开发工具包,提供丰富的IDE体验和深度AI集成,适用于个人开发、协作和教学场景。

  • by tmonk
  • JavaScript
  • 本地部署
  • 32 星标
  • 更新于
在 GitHub 查看 tmonk/stata-workbench

使用说明

工作台状态

工作台状态 是Stata开发的统一代理工具包。该工具包为AI代理提供了对Stata的原生控制——运行命令、检查变量、导出图形,并且比单独使用原生Stata更快、更可靠地构建。作为VS代码扩展(Cursor、Windsurf、Antigravity)构建,因此您的代理在编辑器中工作。由...驱动 mcp 状态.特色在 .

建造于 托马斯·蒙克伦敦经济学院。

为什么要用这个?

在不离开编辑器的情况下运行Stata。 执行代码、查看输出和查看图表——所有这些都在VS code中。无需在do文件编辑器和AI聊天之间切换窗口,也无需复制和粘贴。

单人工作:Stata的现代IDE——自动补全、语法高亮显示、多光标和一个可以运行命令、检查变量和直接调试错误的AI助手。

为了协作:合著者在与其他代码相同的环境中工作。共享编辑器设置、一致的格式和理解项目结构的AI助手。

用于教学:学生学习Stata时使用的工具与其他所有工具相同——内联错误、集成终端和可以解释错误的人工智能。

安装

通过搜索直接从市场列表安装 工作台状态 在“扩展”视图中。

离线回退:

  1. 从下载最新的扩展名.vsix 发布页面.
  2. 在VS Code/Cursor/Antigravity/Windsurf IDE中,打开命令面板(Ctrl+Shift+P 或 Cmd+Shift+P 在Mac上),然后选择 Extensions: Install from VSIX....
  3. 选择下载的.vsix文件并安装。

快速入门

  1. 安装 工作台状态 扩展。

  2. 打开一个 .do VS Code中的文件(或兼容的编辑器)。

  3. 跑 Stata:运行选择/线路 (按下右上角的播放按钮)。这 终端状态 面板在您第一次运行命令时自动打开。您可以像使用标准Stata终端一样与它进行交互。

  4. 运行:

    sysuse auto, clear
    summarize
    

    输出在面板中显示为输出卡。

  5. 运行:

    scatter price mpg
    

    A. 图 工件卡出现-单击它以打开生成的图形。

  6. 打开 数据浏览器 面板实时查看您的数据。


Stata Terminal panel showing output cards and a graph artifact.


Data Browser allows for a live view of your data, with filtering and sorting.

需求

  • macOS、Windows或Linux上的Stata 17+。
  • mcp 状态:扩展需要 mcp-stata 工具包。如果找不到,系统将提示您运行安装脚本。

特性

Stata Workbench是一个统一的 代理工具包 对于Stata开发,提供丰富的IDE体验和深度AI集成:

  • 集成终端:丰富的用户界面,可通过可点击链接、集成搜索和持久历史记录跟踪Stata输出。提供 日志选项卡 用于查看具有高效尾部加载的完整会话历史记录。
  • 数据浏览器 (stata-workbench.viewData):具有实时过滤和排序功能的数百万行高性能视图(Apache Arrow快约20倍)。
  • 高级MCP工具:全套AI代理工具(运行、检查、导出图形、状态差异)。
  • 运行选择/当前行 (stata-workbench.runSelection):通过MCP工具执行所选代码或当前行 run_command 具有标准化的输出和图形。
  • 运行当前文件 (stata-workbench.runFile):运行整个 .do 通过MCP工具创建文件 run_do_file.
  • 环境检测 (stata_manage_session action=“detect”):返回Stata版本、风格和操作系统元数据。
  • 代码Linting (stata_inspect_data action=“lint”):静态分析 .do 和 .ado 用于识别样式违规和潜在错误的文件。
  • 现代雕像技能:供代理使用框架的专业知识库, gtools,以及其他现代Stata功能,而不是传统的反模式。
  • 安装工具包 (scripts/setup_toolkit.py):在一个命令中自动注册Claude Desktop、Codex、VS Code和Cursor。
  • 自动管理MCP配置:同步主机MCP设置(mcp.json)在你最喜欢的AI编辑器中。
  • 状态栏+取消 (stata-workbench.cancelRequest):实时请求状态为一键取消。
  • 测试MCP服务器 (stata-workbench.testMcpServer):快速烟雾检查以验证您的Stata连接。
  • 语法高亮:全力支持 .do, .ado, .mataDyndoc Markdown和Dyndoc LaTeX。
  • 安装MCP CLI帮助程序 (stata-workbench.installMcpCli):引导 mcp-stata 当环境中缺少工具包时,可以在本地使用。
  • 耐用原木:所有运行结果都记录到 Stata Workbench 用于持久参考的输出通道。

有关所有功能的详细分解,请参阅 功能.md.

设置

  • stataMcp.requestTimeoutMs (默认值 100000):MCP请求超时。
  • stataMcp.autoRevealOutput (默认值 false):运行后自动显示输出通道。
  • stataMcp.autoConfigureMcp (默认值 true):在主机mcp配置中自动添加/更新mcp-stata-server条目(mcp.json).
  • stataMcp.configureClaudeCode (默认值 false) 注册 mcp 状态 claude mcp add-json 在用户范围内。确保Claude Code CLI和VS Code扩展都能访问服务器。需要 claude 在PATH上。
  • stataMcp.configureCodex (默认值 false):还配置Codex CLI和VS Code扩展MCP设置。
  • stataMcp.codexConfigPath (默认值 ~/.codex/config.toml):Codex MCP配置的路径。支持 ~ 和 ${workspaceFolder}.
  • stataMcp.runFileWorkingDirectory (默认为空):运行.do文件时的工作目录。支持绝对路径、~、${workspaceFolder}或${fileDir};empty使用.do文件的文件夹。
  • stataMcp.setupTimeoutSeconds (默认值 60):Stata初始化超时(秒)。
  • stataMcp.noReloadOnClear (默认值 false):清除所有/程序删除后,禁用重新加载启动/配置文件do文件。
  • stataMcp.maxOutputLines (默认值 0):将Stata输出限制为N行(0=无限制)。有助于减少AI代理的令牌使用。
  • stataMcp.runFileBehavior (默认值 runDirtyFile):选择“运行文件”是运行当前编辑器内容(包括未保存的更改)还是运行磁盘上保存的版本。
  • stataMcp.defaultVariableLimit (默认值 100):打开数据浏览器时要选择的默认变量数(0=全部)。适用于大型数据集。

AI助手集成

自动配置

MCP配置为 在扩展加载和切换相关设置时同步当一个设置被启用时,扩展会在该配置中添加或更新mcp-stata条目。当你关闭设置时,扩展 移除 mcpstata条目干净。

何时 行为
扩展加载 在每个启用的配置目标中添加/更新mcp-stata
设置已切换为ON 在该配置中添加/更新mcp-stata
设置已切换为OFF 从该配置中删除mcp_stata

扩展程序检测您的编辑器并写入相应的配置文件。

  • 用户级别 mcp.json 带有Stata MCP服务器条目
  • 该扩展将初始服务器配置委托给 mcp-stata 安装程序。
  • 适用于:VS Code、光标、风帆、反重力
  • 可选:Claude Code CLI和扩展 stataMcp.configureClaudeCode 已启用
  • 可选:Codex CLI和扩展 stataMcp.configureCodex 已启用

配置文件位置:

编辑器 macOS Windows Linux
VS Code ~/Library/Application Support/Code/User/mcp.json %APPDATA%/Code/User/mcp.json ~/.config/Code/User/mcp.json
VS Code 内测版 ~/Library/Application Support/Code - Insiders/User/mcp.json %APPDATA%/Code - Insiders/User/mcp.json ~/.config/Code - Insiders/User/mcp.json
光标 ~/.cursor/mcp.json %USERPROFILE%/.cursor/mcp.json ~/.cursor/mcp.json
帆板运动 ~/.codeium/windsurf/mcp_config.json %USERPROFILE%/.codeium/windsurf/mcp_config.json ~/.codeium/windsurf/mcp_config.json
风帆下一篇 ~/.codeium/windsurf-next/mcp_config.json %USERPROFILE%/.codeium/windsurf-next/mcp_config.json ~/.codeium/windsurf-next/mcp_config.json
反重力 ~/Library/Application Support/Antigravity/User/mcp.json %APPDATA%/Antigravity/User/mcp.json ~/.antigravity/mcp.json
Claude Code命令行界面和扩展 Via claude mcp add-json (用户范围) 相同 相同
Codex命令行界面和扩展 stataMcp.codexConfigPath (默认值 ~/.codex/config.toml) 相同 相同

如果你想自己管理文件,这里是要添加的内容。用户级别 mcp.json:

{
  "servers": {
    "mcp_stata": {
      "type": "stdio",
      "command": "uvx",
      "args": ["--refresh", "--refresh-package", "mcp-stata", "--from", "mcp-stata@latest", "mcp-stata"]
    }
  }
}

故障排除

  • Claude Code扩展看不到MCP:我们使用 claude mcp add-json 因此CLI和扩展共享相同的配置。确保 claude 在PATH和 stataMcp.configureClaudeCode 已启用。更改后重新启动Claude Code面板。
  • 图标在编辑器标题栏中不可见:如果打开时播放、运行和图形图标未出现 .do 文件,单击 ... 在编辑器标题栏中选择菜单,并启用Stata Workbench图标使其可见。
  • 状态栏显示“CLI缺失”:安装 mcp-stata 手动使用 curl -LsSf https://mcp-stata-install.tdmonk.com/install.sh | bash (macOS/Linux)或 irm irm https://mcp-stata-install.tdmonk.com/install.ps1 | iex | iex (Windows)。
  • 请求超时:提高 stataMcp.requestTimeoutMs.
  • 意外的MCP错误:打开结构化错误消息的输出通道。
  • 取消卡住的跑步:跑步 Stata: Cancel Current Request 从命令面板。

卸载清理(可选)

自动删除: 关闭 stataMcp.autoConfigureMcp, stataMcp.configureClaudeCode,或 stataMcp.configureCodex 在设置中;该扩展会立即删除mcpstata条目。

手动拆卸: 编辑配置文件并删除相关条目:

  • VS代码格式→ 删除 servers.mcp_stata
  • 光标格式→ 删除 mcpServers.mcp_stata
  • 克劳德代码→ run claude mcp remove mcp_stata,或关闭 stataMcp.configureClaudeCode 自动删除
  • 法典→ 删除 [mcp_servers.mcp_stata] 和 [mcp_servers.mcp_stata.env] 从 ~/.codex/config.toml

遥测

此扩展使用Sentry收集错误和性能数据以提高可靠性。不收集任何个人数据。您可以通过设置禁用遥测 "stata-workbench.telemetry.enabled": false 在您的VS代码设置中。

致谢

此文件的部分内容源自 状态-mcp (MIT许可证), 语言状态 作者:Kyle Barron(麻省理工学院许可证),以及 vscode统计 Kyle Butts(麻省理工学院许可证)。有关完整的许可证文本,请参阅license_nextras。请务必查看他们的项目!