在VS Code中编辑和运行stata的do-file

文章目录

    • 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 配置 Stata\Python\Julia\R
    • 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 ,则需要继续配置。

在VS Code中编辑和运行stata的do-file_第1张图片

3.2 Rundolines 与 Rundo

在 Friedrich Huebler 的博客 中下载 rundolines 与 rundo,下载后我将这两个文件放置于D:\stata16\ado\personal\,解压文件后,可以用 VS Code 打开其中的 ini 文件,分别设置 rundolines 与 rundo 的 ini 文件:

  • 修改 Stata 所在路径,例如statpath = "D:\stata16\StataSE-64.exe"
  • 修改 Stata 版本,例如statawin = "Stata/SE 16.0
    在VS Code中编辑和运行stata的do-file_第2张图片

3.3 Code Runner

VS Code 中搜索并安装 code runner 插件,安照下图点击图标,调出 user settings,添加一段 json 格式代码。
在VS Code中编辑和运行stata的do-file_第3张图片

将下面这段代码中的 D:\\stata16\\ado\\personal\\rundo51\\rundo.exeD:\\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

在VS Code中编辑和运行stata的do-file_第4张图片

3.4 运行

打开 file->preference->keyboard shortcuts ,可以查看运行代码的快捷键。默认快捷键是 ctrl+alt+N (运行整份文件)和 ctrl+alt+K(运行选择的代码),可以根据自己的需要进行修改。配置结束之后建议关闭 VS Code 重新打开。rundo.exe 有个 bug 会忽略文件的最后一行,记得在 dofile 最后留至少一行空。打开一份 dofile范本 试试效果,需要同时打开Stata16才能看到运行结果。

在VS Code中编辑和运行stata的do-file_第5张图片

3. 方法二: 基于 runStata 插件 + stata-exec

第一种配置方法是我本人采用的方法。我在 VS Code 中还见到有另外一个插件runStata,大家也可以安装 runStata 插件,根据插件 Details 中提供的配置方法进行一步步操作。该插件的配置主要基于为 Atom 提供 stata 功能的 stata-exec ,配置过程与 利用 Atom 的编辑器功能来写 dofile 的步骤类似,如果已经用该方法配置过 Atom,采用这种方法应该会比较方便。

在VS Code中编辑和运行stata的do-file_第6张图片

具体配置步骤如下:

(该配置步骤我没有操作过,均来源于 runStata 插件配置步骤的翻译。)

  1. 安装 runStata 插件. 同时,推荐安装 Stata Enhanced 插件用于显示 Stata 语法高亮.

  2. 安装 Node. 默认设置是按照此版本的 Node (点击可直接下载).

  3. 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 [email protected]
    
  4. 打开命令提示符(即 “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
    
  5. Link the Stata Automation library. 在Windows 10上,Stata.exe 文件很可能在文件夹中 C:\Program Files (x86)\Stata15.

    1. 在安装目录中,右键单击Stata可执行文件,例如StataSE.exe。选择创建快捷键。
    2. 右键点击创建的快捷方式 > 属性 > 目标,将路径用英文引号括起来,然后在后面加上/Register,如将 E:\STATA\Stata15\StataMP-64.exe 改成 "E:\STATA\Stata15\StataMP-64.exe" /Register。改完后点击确定,再打开时目标路径上的引号消失,表示成功。
      注意:在 Register 前面是一道斜杠,而且斜杠之前还有一个空格。
    3. 右键点击快捷方式,“以管理员身份运行”一次即可

    在执行此操作时,将Stata可执行文件的路径添加到设置中的 Stata path 选项中。

  6. 重启 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,应该用第二种方法会比较方便。

你可能感兴趣的:(stata,statistics)