Hands-on Copilot: Writing Stata in VS Code
第15届 · 应用社会科学研究方法研修班
《数据分析专题》系列讲座
2026 年 7 月 22 日
Stata 自带的 do-file 编辑器
help我们今天要换的环境
写 Stata 的痛,多半不在统计,而在重复敲字。
今天起点:② 补全。 你仍然逐行掌控代码,只是敲得更快。
本场后半段:③ 智能体。 用一句话,让它读数据、写代码、出结果。
它是什么
Tab 接受和聊天机器人的区别
一句话:Copilot 是会写代码的输入法。你起头,它补全;你定夺,按 Tab 收下。
技巧:先用一行注释说清你要做什么,Copilot 顺着补出命令。
你输入(一行 Stata 注释)→ Copilot 自动补全(灰色幽灵文字,按 Tab 接受):
▌
▌⇥ Tab 接受注释写得越具体,补全越准。变量名、选项、if/in 条件 都可以在注释里点名。
① 注释即提示 先写一行注释说清你要做什么,让它顺着补。
② 顶部先写目标 文件开头写下整体目标,给 Copilot 全局上下文。
③ 拆成小步 一次只写一行,接受后再写下一句,预测更准。
④ 给个例子 在注释里写一个「输入 → 输出」样例,照着补。
⑤ 命名要清楚 不怕变量名长,只怕晦涩难懂。
⑥ 打开相关文件 Copilot 会读你打开的标签页,借此理解上下文。
同一招”注释即提示”,在训练数据丰富的语言上效果最好:
R · dplyr
▌
▌Python · pandas
▌
▌| 操作 | 快捷键 (Windows) |
|---|---|
| 接受建议 | Tab |
| 拒绝 / 取消 | Esc |
| 接受下一个词 | Ctrl + → |
| 下一个 / 上一个建议 | Alt + ] · Alt + [ |
| 手动触发建议 | Alt + \ |
| 打开补全面板(多个候选) | Ctrl + Enter |
| 行内对话 | Ctrl + I |
现场看看: 写一行注释 → 看灰色补全 → 按下面的键操作(每按一次 → 演示一个键)。
▌
▌行内对话(Ctrl + I)+ 斜杠命令 是”一次补全不够”时的定点操作:
/explain 解释 · /fix 修错 · /tests 写测试 · /doc 写文档。
Stata 自带编辑器的自动补全,长期很弱,且高度依赖版本:
| Stata 版本 | 自带补全 | 能补什么 |
|---|---|---|
| ≤ 15 | 无 | 完全没有 |
| 16 – 18 | 部分 | 命令 / 关键词 / 括号;不补变量名 |
| 19 / StataNow | 较全 | 命令 + 变量名 + 宏 + 存储结果 |
VS Code + Copilot 把这条线拉平: 无论你用的是 Stata 14 还是 19,都能获得行内 AI 补全。
1
装 VS Code + Stata 扩展。 推荐 Stata All in One(高亮+补全+运行+数据浏览), 或更轻的 vscode-stata / stataRun。
2
注册 Stata 自动化接口(一次性,让 VS Code 能把代码送进 Stata):
← 这一步用的是老牌 Automation 接口,旧版本 Stata 同样适用。
3
在扩展设置里填上 Stata 可执行文件路径。 例如 C:\Program Files\Stata18\StataMP-64.exe(旧版常在 Program Files (x86))。
| 操作 | vscode-stata | stataRun |
|---|---|---|
| 运行选中 / 当前行 | Shift + Enter |
Shift + Ctrl + S |
| 运行整个文件 | Ctrl + Shift + D |
Shift + Ctrl + A |
| 运行光标以下 | – | Shift + Ctrl + D |
代码在右侧真正的 Stata 窗口里执行,结果、图、r()/e() 都和平时一模一样。 快捷键名因扩展而异,以你装的扩展为准。
世界价值观调查
目标:用 Copilot 在 VS Code 里,对 WVS 做一段清理 → 描述 → 回归,全程 Stata。
同一页演示三种用法:写注释出命令、写几个字补全一行、顺上下文接下一步(变量名为 WVS 第 7 波占位示例):
▌
▌▌
▌▌
▌▌
▌继续做制度信任的 logit;其中第二条反过来:写命令、让 Copilot 给你写注释(变量为占位示例):
▌
▌▌
▌▌
▌为什么它对 Stata 偏弱
真实翻车例子
pwvariance来源:Ozier(世界银行)、Goldsmith-Pinkham 等公开评测
铁律:Copilot 给的是草稿,不是答案。每一行都要自己跑、自己核。
对话 · ChatGPT / Claude 解释报错、给思路。
补全 · Copilot 和你一起写,你按下每一个 Tab。
智能体 · Claude Code 替你读数据、写代码、出结果。
Minghong Shen · 2026 · SHU Summer School