Stata 配置分享:如何通过 vscode 和 Jupyter 获得更好的 Stata 使用体验

先提示一下,所有文件路径不要出现中文。

1. 使用 vscode 替代原生 Do-file 编辑器

1. 安装插件 Stata Enhanced、Stata language、Code Runner

2. 下载 Rundolines 与 Rundo

在 https://huebler.blogspot.com/2008/04/stata.html 根据自己的 Stata 版本下载 Rundolines 与 Rundo 文件,维护者目前已停止维护,但实测下来 Stata 18 也能正常运行。

下载后将这两个文件放置于 <你的 Stata 目录>,如果没有 personal 文件夹就创建一个。解压文件后,可以用 VS Code 打开其中的 ini 文件,分别设置 rundolines 与 rundo 的 ini 文件:

修改 Stata 所在路径,例如 statpath = “<你的 Stata 目录>-64.exe”

修改 Stata 版本,例如 statawin = “Stata/MP 18.0

3. 配置 Code Runner

点击 Code Runner 插件右下角小齿轮,按下图点击图标,调出 user settings,添加一段 json 格式代码。

将下面这段代码的路径改为自己电脑上的文件路径

1
2
3
4
5
6
7
8
"code-runner.executorMap": {
"stata": "\"D:\\Stata\\ado\\personal\\rundo5.17.0\\rundo.exe\" \"$fullFileName\""
},
"code-runner.customCommand": "\"D:\\Stata\\ado\\personal\\rundolines5.17.0\\rundolines.exe\" \"$selection\"",
"stataRun.stataPath": "D:\\Stata\\StataMP-64.exe",
"stataRun.whichApp": "stataMP",
"stataRun.pasteSpeed": 1,
"stataRun.advancePosition": false,

4. 测试运行

接下来就可以在 vscode 中打开一个 Do-file 文件测试配置是否成功。如果配置成功,应当会直接跳转 Stata 软件并开始运行。

如果点击运行后,未能正常运行且弹出 comand not found,发生这个问题的原因是micromatch引起的,请尝试打开formulahendry.code-runner-0.9.10/out/src/codeManager.js,把以下位置的代码注释掉,禁用micromatch。保存然后重新打开编辑器。(来源:https://github.com/formulahendry/vscode-code-runner/issues/268)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
line 12:
//const micromatch = require("micromatch");

line 225~236:

/* if (executor == null) {
const executorMapByGlob = this._config.get("executorMapByGlob");
if (executorMapByGlob) {
const fileBasename = path_1.basename(this._document.fileName);
for (const glob of Object.keys(executorMapByGlob)) {
if (micromatch.isMatch(fileBasename, glob)) {
executor = executorMapByGlob[glob];
break;
}
}
}
} */

2. 使用 Jupyter Notebook + Stata

1. 打开终端输入下面的命令来安装 uv

powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"

2. 初始化项目并安装依赖

打开终端,找一个你想存放代码的文件夹,初始化一个新的 uv 项目,注意文件路径不要有中文:

1
2
uv init stata_work
cd stata_work

安装 jupyterlab (或者 notebook),以及官方提供的 stata_setup 包。

1
uv add jupyterlab stata_setup

3. 启动 Jupyter Lab

直接通过 uv 启动 Jupyter

1
uv run jupyter lab

4. 在 Notebook 中连接 Stata 18

在打开的 Jupyter 页面中,新建一个 Python 程序 stata_config.py 来配置你的 Stata 路径

1
2
3
import stata_setup
def init():
stata_setup.config('D:/Stata', 'mp') #输入你的 Stata 路径

5. 运行测试

创建一个 Jupyter Notebook 文件

在第一个 cell 输入下面的代码来连接 Stata

1
2
import stata_config
stata_config.init()

运行上面的代码块,如果看到 Stata 的启动界面文字,就说明连接成功了。

需要运行 Stata 指令时,要在 cell 最前面输入 %%stata,如:

1
2
3
%%stata
sysuse auto, clear
reg price mpg weight

Stata 配置分享:如何通过 vscode 和 Jupyter 获得更好的 Stata 使用体验
https://beetlesliu.github.io/2025/12/21/Stata-配置分享:如何通过-vscode-和-Jupyter-获得更好的-Stata-使用体验/
作者
Beetles
发布于
2025年12月21日
更新于
2026年4月8日
许可协议