项目分享 | Stata All in One:在 VS Code 中一站式使用 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,点击安装即可。

如果您使用的是 Cursor、Trae 等基于 VS Code 的编辑器,也可以从文末 Open VSX Registry 或 GitHub 链接下载 .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 文件提供语法高亮和代码提示,并且支持常用第三方命令的自定义高亮。例如 reghdfe、ivreghdfe、gtools、winsor2、outreg2 等命令,都可以加入自己的高亮列表。
在运行过一次代码后,扩展还可以根据当前数据集提供变量名补全。对于变量很多的数据集,这个功能会比较省心,直接在编辑器里输入前几个字符即可获得提示。

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

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 + 1 至 Ctrl/Cmd + 6 能将文本快速转换对应等级标题,Ctrl/Cmd + 0 恢复为普通代码行。

还可以开启多级序号显示,让大纲呈现出 1.1、1.2.1 这样的结构。对于论文复现、课程代码和项目模板,这个功能会比较实用。
7. 看数据:不用来回切换窗口
很多时候,我们并不是要正式编辑数据,只是想快速看一眼 .dta 文件。
Stata All in One 提供了数据查看器,可以直接在 VS Code 中点击并打开 .dta 文件。数据查看器会展示变量名称、变量标签、变量类型等信息,也支持按需加载数据行列。


运行代码后,也可以在控制台面板中查看当前数据结果。这样就不用在 Stata、数据编辑器和 VS Code 之间频繁切换。
对于大多数“快速确认一下”的场景,这个功能会很方便。
8. 用顺手:分隔线、注释和安全重命名
除了运行和查看,扩展还加入了一些偏“顺手”的小功能。
-
可以一键插入分隔线,让 do 文件更清晰:
**# ================================================== **# 基准回归 **# ==================================================通过
Ctrl/Cmd + [符号]快速插入分隔线:Ctrl/Cmd + -(短横线)|Ctrl/Cmd + =(等号)|Ctrl/Cmd + Shift + 8(星号) -
快捷键
Ctrl/Cmd + /可以快速注释。对于需要注释或者临时取消代码的场景,这类小功能会很常用。 -
扩展还提供安全重命名模式。选中变量后按
F2,可以尝试重命名当前文档中的变量;同时会检查新名称是否符合 Stata 命名规则,并尽量避免误改 Stata 命令或常用选项。 -
快捷键
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 代码。


同时,这套 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. 工作流:举一个简单的使用场景
假设我们现在要完成一篇论文的实证部分,可以这样组织工作流:
- 用 VS Code 打开项目文件夹;
- 在 do 文件中用
**#标题划分模块; - 打开
.dta文件,初步查看和检查变量和数据; - 写代码时使用语法高亮、变量补全和悬停帮助;
- 用
Ctrl/Cmd + D运行当前行、选中代码或整个章节; - 在嵌入式控制台中查看结果和图;
- 打开数据查看器,快速检查变量和样本;
- 如果需要,再让 AI 辅助检查代码或定位报错;
- 最后,还可分享运行代码和结果分享给他人。
这样做的好处是,项目结构更清楚,运行路径更顺手,也更容易把代码整理成可复现的形式。
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
相关链接
- VS Code Marketplace - 插件链接:https://marketplace.visualstudio.com/items?itemName=ZihaoVistonWang.stata-all-in-one
- Open VSX Registry - 插件链接:https://open-vsx.org/extension/ZihaoVistonWang/stata-all-in-one
- GitHub - 本插件代码仓库(全球):https://github.com/ZihaoVistonWang/stata-all-in-one
- Gitee - 本插件代码仓库(国内):https://gitee.com/ZihaoVistonWang/stata-all-in-one
- 作者主页:https://zihaowang.cn
- 问题反馈:hi@zihaowang.cn