项目分享 | Stata All in One:在 VS Code 中一站式使用 Stata

2026年7月12日·
王梓豪
王梓豪
· 10 分钟阅读时长
目录

项目统计

VS Code 安装次数 Open VSX 下载次数 小红书点赞收藏 修订次数 项目支持

作者:王梓豪(西北农林科技大学经济管理学院)

邮箱:hi@zihaowang.cn

主页:https://zihaowang.cn

致谢

  • 感谢小红书用户 Rich**d、微信用户 M*k*柿**橙、评论 “功能强大且配置简单的插件,谢谢!” 的匿名用户,以及 Buy me a coffee 用户 LB**PG@gmail.comol***ba@gmail.com 对本项目的赞助支持。

  • 感谢西北农林科技大学农业经济与管理创新团队为本人提供的科研支持、经费支持和对本项目的宣传推广支持

  • 感谢连玉君老师的耐心指导和连享会平台的宣发支持

  • 感谢Stata官方授权经销商北京友万信息科技有限公司(友万科技)对本项目的宣发支持


对于经常使用 Stata 的老师同学来说,写 do 文件、运行命令、查看结果、整理代码结构,几乎是每天都会重复的工作。

但实际用起来,我们常常会遇到一些“小麻烦”:

  • do 文件越写越长,回头找某一段代码不太方便;
  • 想在 VS Code 里写 Stata,却又担心配置复杂;
  • 代码、结果、作图、数据集经常分散在不同窗口里;
  • 想让 AI 帮忙检查代码,但 AI 不能很方便的直接运行 Stata 来验证结果。
  • ···

Stata All in One 就是为了解决这些日常痛点开发的。

简单说,它想做的事情是:让大家可以在 VS Code 中更舒服地写 Stata、跑 Stata、管 Stata。

需要说明的是,Stata All in One 与 Jupyter Notebook (.ipynb) 的功能定位不同。前者更侧重于在 VS Code 中提供完整的 Stata 编程体验,而后者则是以交互式文档为核心 (需要安装 Python 环境和 nbstata 包)。


1. 它适合谁?

如果您有下面几类需求,可能会比较适合试试这个扩展:

  • 经常写 .do 文件,希望代码高亮、编辑提示和书签导航更友好;
  • 习惯使用 VS Code、Cursor、Trae 等编辑器管理科研项目;
  • 希望在一个界面里完成写代码、跑代码、看结果和看数据;
  • do 文件比较长,需要按章节管理代码;
  • 想尝试让 AI 工具辅助 Stata 编程和调试。

2. 一句话概括

Stata All in One 是一个 VS Code 扩展,可以在 VS Code 中提供 Stata 代码运行、语法高亮、代码提示、智能大纲、数据查看、图形输出和 AI Skill 等功能。

更重要的是,它“开箱即用”:所有功能原生集成在扩展中,不需要额外配置 Python、Node.js 等第三方环境。

下面是 Stata All in One 的功能展示,请点击查看大图:

功能展示

注:部分功能需要Stata 17以上版本的 STATA.LIC 证书文件。请支持正版 Stata 软件,以获得完整功能体验。您可以联系Stata Corp, LLC官方授权合作伙伴北京友万信息科技有限公司(友万科技)采购正版软件或申请试用。


3. 三分钟上手

安装方式很简单

如果您使用的是 VS Code,可以直接在扩展市场搜索 Stata All in One,点击安装即可。

VSCode拓展市场

如果您使用的是 Cursor、Trae 等基于 VS Code 的编辑器,也可以从文末 Open VSX RegistryGitHub 链接下载 .vsix 文件,然后在编辑器扩展面板中选择“从 VSIX 安装”。

安装完成后,打开一个 .do 文件,就可以开始使用

本拓展会最大程度的识别本机 Stata,并自动完成所有配置。

少数用户可能需要手动配置,请根据提示操作即可。可以访问 https://pan.zihaowang.cn/share/stata-all-in-one/setup.mp4 ,查看视频教程。

具体原因可能与其他Stata相关拓展冲突、使用未注册的“便携版”Stata等有关。

最常用的运行快捷键是 Ctrl/Cmd + D

运行代码

它会根据当前光标位置自动判断运行方式:

  • 光标在普通代码行:运行当前行;
  • 选中多行代码:运行选中的代码;
  • 光标在章节标题行:运行当前章节。 (章节标题功能会在后面介绍)

这也是我自己最常用的功能之一:写论文实证代码时,把数据清洗、变量构造、描述统计、基准回归、稳健性检验等内容拆成不同章节,需要跑哪一部分就跑哪一部分。


4. 写代码:让 Stata 代码写起来更顺手

Stata All in One 首先解决的是写代码体验。

它为 .do 文件提供语法高亮和代码提示,并且支持常用第三方命令的自定义高亮。例如 reghdfeivreghdfegtoolswinsor2outreg2 等命令,都可以加入自己的高亮列表。

在运行过一次代码后,扩展还可以根据当前数据集提供变量名补全。对于变量很多的数据集,这个功能会比较省心,直接在编辑器里输入前几个字符即可获得提示。

代码提示

此外,鼠标悬停在部分 Stata 命令上时,也可以查看帮助提示。

help功能


5. 跑代码:代码结果在 VS Code 里“即跑即看”

过去在 VS Code 中运行 Stata,常见做法是把代码发送到外部 Stata 窗口。这个方式很稳,也符合很多用户的习惯,所以 Stata All in One 仍然保留了外部应用模式

运行代码

同时,扩展也提供了嵌入式控制台模式。也就是说,代码可以在 VS Code 内部运行,并直接显示 Stata 输出。

运行代码

相关输出包括:

  • 命令执行结果;
  • 错误信息;
  • 命令行交互;
  • 图形输出;
  • 运行耗时和部分命令的进度提示。

对于习惯在一个窗口中完成工作的用户来说,这个体验会更连贯:左边写代码,右边看结果,作图结果也可以直接在控制台中查看。

当然,如果您更喜欢 Stata 原生界面,也可以继续使用外部应用模式。本扩展的目标不是改变所有人的习惯,而是多提供一种选择。


6. 管代码:用大纲把代码“立起来”

实证项目做到后面,do 文件内容往往会变得很长。哪一段是变量构造,哪一段是基准回归,哪一段是异质性分析,如果没有清晰结构,后期修改会很痛苦。

Stata All in One 支持用注释标题自动识别并生成大纲。例如用户在 do 文件中使用如下注释标注:

**# 1. 数据清洗
**## 1.1 导入数据
do something ...

**## 1.2 合并数据
do something ...

**# 2. 基准回归
**## 2.1 主回归
do something ...

**## 2.2 加入固定效应
do something ...


**# 等等

本扩展会识别这些标题,并在 VS Code 的大纲视图中生成层级结构。这样一来,即使 do 文件有几百几千行,也可以像浏览 Word 目录一样快速跳转。

它会自动识别 **#**###### 格式的注释行,最高支持 6 级层级标题。快捷键Ctrl/Cmd + 1Ctrl/Cmd + 6 能将文本快速转换对应等级标题,Ctrl/Cmd + 0 恢复为普通代码行。

智能大纲

还可以开启多级序号显示,让大纲呈现出 1.11.2.1 这样的结构。对于论文复现、课程代码和项目模板,这个功能会比较实用。


7. 看数据:不用来回切换窗口

很多时候,我们并不是要正式编辑数据,只是想快速看一眼 .dta 文件。

Stata All in One 提供了数据查看器,可以直接在 VS Code 中点击并打开 .dta 文件。数据查看器会展示变量名称、变量标签、变量类型等信息,也支持按需加载数据行列。

变量查看

数据查看

运行代码后,也可以在控制台面板中查看当前数据结果。这样就不用在 Stata、数据编辑器和 VS Code 之间频繁切换。

对于大多数“快速确认一下”的场景,这个功能会很方便。


8. 用顺手:分隔线、注释和安全重命名

除了运行和查看,扩展还加入了一些偏“顺手”的小功能。

  1. 可以一键插入分隔线,让 do 文件更清晰:

    **# ==================================================
    **#                      基准回归
    **# ==================================================
    

    通过 Ctrl/Cmd + [符号] 快速插入分隔线: Ctrl/Cmd + -(短横线)| Ctrl/Cmd + =(等号)| Ctrl/Cmd + Shift + 8(星号)

  2. 快捷键 Ctrl/Cmd + / 可以快速注释。对于需要注释或者临时取消代码的场景,这类小功能会很常用。

  3. 扩展还提供安全重命名模式。选中变量后按 F2,可以尝试重命名当前文档中的变量;同时会检查新名称是否符合 Stata 命名规则,并尽量避免误改 Stata 命令或常用选项。

  4. 快捷键 Ctrl/Cmd + Enter 能够快速代码换行,并在换行后自动保留代码缩进样式。

这些功能看起来不那么亮眼,但它们解决的都是写实证代码时反复遇到的小情景。还有很多小功能等您探索!


9. 易分享:“优雅”地展示运行过程和结果

完成数据处理或实证分析后,我们经常需要将运行过程和结果分享给导师、合作者或同学。传统做法通常是发送截图或导出 Stata 的 .log 文件,但截图难以完整呈现较长的运行过程,.log 文件的排版和阅读体验也不够友好,都算不上真正“优雅”。

Stata All in One 支持将控制台中的代码、输出和图形一键导出为 HTML 网页、Markdown 文档或兼容 nbstata 的 Jupyter Notebook。只需点击控制台右上角的分享按钮,即可生成结果文件,以满足成果交流、课程教学和研究复现等需求。

结果分享选项

三种结果分享展示


10. 联AI:让 AI 不只“看代码”,也能尝试运行 Stata

现在很多同学已经开始用 AI 辅助写代码。但对 Stata 来说,一个常见问题是:AI 可以帮您改代码、解释报错,却很难直接运行 Stata 来验证结果。

Stata All in One 尝试提供一个 Stata AI Skill 工作流,让 Claude Code、Cursor、Codex、OpenCode、OpenClaw 等 AI 编程工具能够通过本地服务运行 Stata 代码。

安装Skill
使用Skill

同时,这套 Stata AI Skill 开箱即用,并且原生支持 Windows 与 macOS。安装完成后,即使卸载 Stata All in One,AI 智能体依然可以继续使用该 Skill 来运行 Stata。它不同于一些依赖 Python 环境或额外中间层的 Stata MCP / 相关 Skill,而是采用原生实现,因此配置更简单,调用也更稳定。

这个功能还在持续完善中,更适合愿意尝鲜的用户。它比较适合做这些事情:

  • 让 AI 帮忙检查一段 do 文件是否能运行;
  • 让 AI 根据报错信息尝试定位问题;
  • 让 AI 辅助完成重复性的数据处理步骤;
  • 让 AI 在本地环境中验证部分 Stata 命令。

此外,Stata AI Skill 内置社区命令lianxh的调用方式,支持 Agent 在连享会平台中检索 Stata 相关文章、教程及示例。当 Agent 的知识储备或本地资料不足时,可调用lianxh命令获取补充信息。

当然,Stata AI Skill 的独立版本也已发布。只需将下面的提示词发送给 Agent,即可自动完成安装与配置:

请访问 https://raw.giteeusercontent.com/ZihaoVistonWang/Stata-AI-Skill/raw/main/guide/installation.md,安装并配置Stata AI Skill.

⚠️ 需要说明的是,AI 不能替代研究者自己的判断。尤其是回归设定、变量口径等,仍然需要研究者自己把关。这个功能更适合作为“辅助调试工具”,而不是自动研究工具。


11. 工作流:举一个简单的使用场景

假设我们现在要完成一篇论文的实证部分,可以这样组织工作流:

  1. 用 VS Code 打开项目文件夹;
  2. 在 do 文件中用 **# 标题划分模块;
  3. 打开 .dta 文件,初步查看和检查变量和数据;
  4. 写代码时使用语法高亮、变量补全和悬停帮助;
  5. Ctrl/Cmd + D 运行当前行、选中代码或整个章节;
  6. 在嵌入式控制台中查看结果和图;
  7. 打开数据查看器,快速检查变量和样本;
  8. 如果需要,再让 AI 辅助检查代码或定位报错;
  9. 最后,还可分享运行代码和结果分享给他人。

这样做的好处是,项目结构更清楚,运行路径更顺手,也更容易把代码整理成可复现的形式。


12. 写在最后

开发这个扩展的初衷很简单:希望 Stata 用户在写代码和管理项目时,可以少一点重复配置,少一点窗口切换,多一点顺手的体验。

Stata 是很多实证研究者必备的、也非常可靠的工具;VS Code 则提供了更现代的代码编辑和项目管理环境。Stata All in One 想做的,就是在两者之间搭一座小桥。

如果您经常使用 Stata,也刚好希望尝试一种更集成的工作方式,欢迎安装试用。

也非常期待大家提出建议,一起把这个工具打磨得更好。本项目仍在迭代完善,若有更好的建议和Bug反馈,请联系 hi@zihaowang.cn

本文只做 Stata All in One 的初步介绍,更详细的工具书、说明书请参见:https://gitee.com/ZihaoVistonWang/stata-all-in-one


相关链接