概述
文章目录
- 1. 简介
- 2. 选择 VS Code 的原因
- 3. 方法一:基于 Stata Enhanced + Code Runner 插件
- 3.1 Stata Enhanced 插件
- 3.2 Rundolines 与 Rundo
- 3.3 Code Runner
- 3.4 运行
- 3. 方法二: 基于 runStata 插件 + stata-exec
- 4. 主要参考
1. 简介
在连享会过去的推文中已经有基于 Stata 内部 dofile 编辑器介绍,如: Stata 中 dofile 编辑器的使用 、Stata 中 dofile 编辑器的配置 —— 来个漂亮的编辑器。另外,也介绍了对如下外部编辑器的使用,如:
- 使用 Sublime 编辑器
- Stata+Sublime:美观高效的dofile编辑器)
- Jupyter Notebook 编辑器
- 使用 Jupyter Notebook 配置 StataPythonJuliaR
- Jupyter Notebook 简介
- Jupyter Notebook 和 Stata 之融合)
- Atom 编辑器
- Stata+Atom: 强强联手打造编辑利器
今天这篇推文,重点补充下在 VS Code 中编辑和运行 Stata 的 do-file 。
2. 选择 VS Code 的原因
好消息:Stata 更新到 16.0 之后,听说已经可以在 Stata 中调用 Python 和 markdown 了, Python 越来越火了,在连享会最近的推文中 Python 爬虫的话题也是非常多,我 Python 的学习过程中,接触到了 Visual Studio Code (简称 VS Code )这一款轻量且强大的文本编辑器,就想用 VS Code 同时作为 Stata 的编辑器。简单来看下 VS Code 的优点,这些就是我选择 VS Code 的原因:
-
轻量级文本编辑器:微软产品,小巧方便,打开速度快,能够感受到它最近比较火。
-
功能齐全:具有文本编辑器应该具备的基本功能,比如,语法高亮、自动补全、multiple selections(一次性修改变量名)
-
可拓展性强:可以搭配各种各样的插件,支持很多种语言,比如, Python、R、Markdown、tex 等,可以打开不同后缀的文件。
3. 方法一:基于 Stata Enhanced + Code Runner 插件
3.1 Stata Enhanced 插件
在 VS Code 的 Extension 中搜索安装 Stata Enhanced
,可以实现 syntax highlighting(语法高亮)、syntax auto completion(自动补全),如果只是将 VS Code 用于编辑 dofile 就可以到此结束了。如果你还需要在此基础上运行 dofile ,则需要继续配置。
3.2 Rundolines 与 Rundo
在 Friedrich Huebler 的博客 中下载 rundolines 与 rundo,下载后我将这两个文件放置于D:stata16adopersonal
,解压文件后,可以用 VS Code 打开其中的 ini 文件,分别设置 rundolines 与 rundo 的 ini 文件:
- 修改 Stata 所在路径,例如
statpath = "D:stata16StataSE-64.exe"
- 修改 Stata 版本,例如
statawin = "Stata/SE 16.0
3.3 Code Runner
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
3.4 运行
打开 file->preference->keyboard shortcuts ,可以查看运行代码的快捷键。默认快捷键是 ctrl+alt+N (运行整份文件)和 ctrl+alt+K(运行选择的代码),可以根据自己的需要进行修改。配置结束之后建议关闭 VS Code 重新打开。rundo.exe 有个 bug 会忽略文件的最后一行,记得在 dofile 最后留至少一行空。打开一份 dofile范本 试试效果,需要同时打开Stata16才能看到运行结果。
3. 方法二: 基于 runStata 插件 + stata-exec
第一种配置方法是我本人采用的方法。我在 VS Code 中还见到有另外一个插件runStata
,大家也可以安装 runStata 插件,根据插件 Details 中提供的配置方法进行一步步操作。该插件的配置主要基于为 Atom 提供 stata 功能的 stata-exec ,配置过程与 利用 Atom 的编辑器功能来写 dofile 的步骤类似,如果已经用该方法配置过 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%.vscodeextensionsyeaoh.statarun-1.1.8 npm install winax --python=%USERPROFILE%.windows-build-toolspython27python.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:STATAStata15StataMP-64.exe
改成"E:STATAStata15StataMP-64.exe" /Register
。改完后点击确定,再打开时目标路径上的引号消失,表示成功。
注意:在 Register 前面是一道斜杠,而且斜杠之前还有一个空格。 - 右键点击快捷方式,“以管理员身份运行”一次即可
在执行此操作时,将Stata可执行文件的路径添加到设置中的
Stata path
选项中。 -
重启 VS Code 即可 (I hope…).
4. 主要参考
- 方法一的配置过程:我主要参考2020年4月最新的这篇博文,这位博主还提供了 Rundolines 与 Rundo 百度网盘下载链接。这两份文件的原始下载地址在hueble的博客。如果还有问题不能解决就看下前两年的这两篇 如何在vs Code 中编辑和调试Stata程序 和 来篇干货:使用vscode当作Stata编辑器。
Rundolines 与 Rundo 百度网盘下载链接:https://pan.baidu.com/s/1GfEcO1n0GvDYeiyCXlQ6Hg
提取码:w0zh
- 方法二的配置过程:主要是 runStata 插件的具体配置步骤的翻译,如果已经用该方法配置过 Atom,应该用第二种方法会比较方便。
最后
以上就是体贴方盒为你收集整理的在VS Code中编辑和运行stata的do-file的全部内容,希望文章能够帮你解决在VS Code中编辑和运行stata的do-file所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复