温馨提示: 定期 清理浏览器缓存,可以获得最佳浏览体验。
作者: 郭皑馨 (华南理工大学)
E-mail: valerie_guo@163.com
目录
温馨提示: 文中链接在微信中无法生效。请点击底部「阅读原文」
在连享会过去的推文中已经有基于 Stata 内部 do-file 编辑器介绍,如:
另外,也介绍了如何配合外部编辑器来编写 Stata 代码,如:
今天这篇推文,重点补充下在 VS Code 中编辑和运行 Stata 的 do-file 。
Stata 更新到 16.0 之后,已经可以在 Stata 中调用 Python,并支持 markdown 了。
随着 Python 越来越火,在连享会最近的推文中 Python 爬虫的话题也是非常多 (参见 「连享会专辑 · 文本分析+爬虫」)。在学习 Python 的过程中,我接触到了 Visual Studio Code (简称 VS Code )这一款轻量且强大的文本编辑器,就想用 VS Code 同时作为 Stata 的编辑器。简单来看下 VS Code 的优点,这些就是我选择 VS Code 的原因:
在 VS Code 的 Extension 中搜索安装 Stata Enhanced
,可以实现 syntax highlighting(语法高亮)、syntax auto completion(自动补全),如果只是将 VS Code 用于编辑 do-file 就可以到此结束了。如果你还需要在此基础上运行 do-file ,则需要继续配置。
在 Friedrich Huebler 的博客 中下载 rundolines 与 rundo,下载后我将这两个文件放置于D:\stata16\ado\personal\
,解压文件后,可以用 VS Code 打开其中的 ini 文件,分别设置 rundolines 与 rundo 的 ini 文件:
statpath = "D:\stata16\StataSE-64.exe"
statawin = "Stata/SE 16.0
VS Code 中搜索并安装 code runner
插件,安照下图点击图标,调出 user settings,添加一段 json 格式代码。
将下面这段代码中的 D:\\stata16\\ado\\personal\\rundo51\\rundo.exe
、D:\\stata16\\ado\\personal\\rundolines51\\rundolines.exe
、"D:\\Stata16\\StataSE-64.exe"
修改成对应的路径,加进 user settings 中即可。
"code-runner.executorMapByFileExtension": {
".do": "D:\\stata16\\ado\\personal\\rundo51\\rundo.exe"
},
"code-runner.customCommand": "D:\\stata16\\ado\\personal\\rundolines51\\rundolines.exe",
"stataRun.stataPath": "D:\\Stata16\\StataSE-64.exe",
"stataRun.whichApp": "stataSE",
"stataRun.pasteSpeed": 1,
"stataRun.advancePosition": false
打开 file->preference->keyboard shortcuts ,可以查看运行代码的快捷键。默认快捷键是 ctrl+alt+N (运行整份文件)和 ctrl+alt+K(运行选择的代码),可以根据自己的需要进行修改。配置结束之后建议关闭 VS Code 重新打开。rundo.exe 有个 bug 会忽略文件的最后一行,记得在 do-file 最后留至少一行空。打开一份 dofile范本 试试效果,需要同时打开Stata16才能看到运行结果。
第一种配置方法是我本人采用的方法。我在 VS Code 中还见到另外一个插件runStata
,大家也可以通过安装 runStata 插件,实现同样的功能。该插件的配置主要基于为 Atom 提供 stata 功能的 stata-exec ,配置过程与 利用 Atom 的编辑器功能来写 dofile 的步骤类似,根据插件 Details 中提供的配置方法进行操作即可。如果已经用该方法配置过 Atom,采用这种方法应该会更加方便。
具体配置步骤如下:
(该配置步骤我没有操作过,均来源于 runStata
插件配置步骤的介绍。)
安装 runStata
插件. 同时,推荐安装 Stata Enhanced
插件用于显示 Stata 语法高亮.
安装 Node
. 默认设置是按照此版本的 Node (点击可直接下载).
stataRun
插件需要按照 wimax
模块来编译二进制文件. Node
需要 Python2.7 的 windows-build-tools
和 Visual Studio 编译插件. 按照时间为 20 min 需要几个 GB 的存储空间. 打开 Windows PowerShell 并输入:
npm install --global --production windows-build-tools
第一个命令如果错误,就使用第二个命令
npm install --global --production windows-build-tools@2.2.1
打开命令提示符(即 “cmd” )并键入:
cd %USERPROFILE%\.vscode\extensions\yeaoh.statarun-1.1.8
npm install winax --python=%USERPROFILE%\.windows-build-tools\python27\python.exe
在VSCode
中,进入Help
->About
。在下一个命令中,将ELECTRON_VERSION
替换为About
对话框中的版本。
npm rebuild winax --runtime=electron --target=ELECTRON_VERSION --build-from-source
Link the Stata Automation library.
在Windows 10上,Stata.exe 文件很可能在文件夹中 C:\Program Files (x86)\Stata15
.
在安装目录中,右键单击Stata可执行文件,例如StataSE.exe。选择创建快捷键。 右键点击创建的快捷方式 > 属性 > 目标,将路径用英文引号括起来,然后在后面加上 /Register
,如将E:\STATA\Stata15\StataMP-64.exe
改成"E:\STATA\Stata15\StataMP-64.exe" /Register
。改完后点击确定,再打开时目标路径上的引号消失,表示成功。 注意:在 Register 前面是一道斜杠,而且斜杠之前还有一个空格。右键点击快捷方式,“以管理员身份运行”一次即可
在执行此操作时,将Stata可执行文件的路径添加到设置中的 Stata path
选项中。
重启 VS Code 即可 (I hope...).
方法一的配置过程:
我主要参考 2020 年 4 月最新的 这篇博文,这位博主还提供了 Rundolines 与 Rundo 百度网盘下载链接(感谢这位博主!)。这两份文件的原始下载地址在 hueble的博客(可能会打不开)。
如果还有问题不能解决就看下前两年的这两篇文章:如何在VS Code 中编辑和调试Stata程序 和 来篇干货:使用VS Code当作Stata编辑器。
方法二的配置过程: 主要是 runStata 插件的具体配置步骤的翻译,可以看看该插件的原始说明。如果已经用 stata-exec 方法配置过 Atom,应该用第二种方法会比较方便。
连享会-直播课 上线了!
http://lianxh.duanshu.com
免费公开课:
直击面板数据模型 - 连玉君,时长:1小时40分钟 Stata 33 讲 - 连玉君, 每讲 15 分钟. 部分直播课 课程资料下载 (PPT,dofiles等)
支持回看,所有课程可以随时购买观看。
专题 | 嘉宾 | 直播/回看视频 |
---|---|---|
⭐ 最新专题 ⭐ | DSGE, 因果推断, 空间计量等 | |
⭕ Stata数据清洗 | 游万海 | 直播, 2 小时,已上线 |
研究设计 | 连玉君 | 我的特斯拉-实证研究设计,-幻灯片- |
面板模型 | 连玉君 | 动态面板模型,-幻灯片- |
面板模型 | 连玉君 | 直击面板数据模型 [免费公开课,2小时] |
Note: 部分课程的资料,PPT 等可以前往 连享会-直播课 主页查看,下载。
关于我们
课程, 直播, 视频, 客服, 模型设定, 研究设计, stata, plus, 绘图, 编程, 面板, 论文重现, 可视化, RDD, DID, PSM, 合成控制法
等
连享会小程序:扫一扫,看推文,看视频……
扫码加入连享会微信群,提问交流更方便
✏ 连享会学习群-常见问题解答汇总:
✨ https://gitee.com/arlionn/WD