Stata+Sublime:美观高效的dofile编辑器

发布时间:2020-10-06 阅读 35

Stata 连享会   主页 || 视频 || 推文

温馨提示: 定期 清理浏览器缓存,可以获得最佳浏览体验。

课程详情 https://gitee.com/arlionn/Course   |   lianxh.cn

课程主页 https://gitee.com/arlionn/Course

作者:李珍 (厦门大学)


目录


首先我们来看看 Sublime Text 的界面,显然右边 Sublime 的代码呈现比 Stata 自带的 do-file 酷炫、美观很多:

111
111

如何做到呢?本文基于 Use Sublime!,介绍如何配置 subline 以便能编写和执行 Stata 命令。

1. 什么是 Sublime ?

Sublime Text 是一个免费的跨平台源代码编辑器。我们可以轻松添加多个插件来扩展它的功能,它不仅可以编辑 Stata , Python , R , LaTeX , Julia 等各种软件的代码,还可以自定义其他方面,像是多列布局或快捷键等等。

你可能会问,这和目前在 Python 或者 LaTeX 中运行使用的像 PyCharms 这样的 Python IDE 编辑器和像 Texmaker 的 LaTeX 编辑器有什么不同吗?

事实上,如果我们遇到大型复杂的项目时,需要处理各种各样的文件,这个时候如果拥有一个可以处理所有文件的轻量级的、可自定义的编辑器,我们能够更容易地掌握全局,并快速深入了解任何类型的代码。

2. Sublime的安装

前往Sublime Text,选择适合电脑操作系统的 Sublime Text 3(ST3) 下载并安装。

安装 ST3 后,还必须安装 Package Control ,以便轻松添加和删除其他插件。

方法一:通过 Sublime Text

这是最简单容易、推荐使用的方法。我们只需要打开已经安装的 ST3 界面,使用 ctrl + 快捷方式或通过菜单 View > Show Console 访问控制台,将下面的 ST3 的 Python 代码粘贴到控制台中。(你也可以查看 PackageControl,使用适用于 Sublime Text 2 的安装代码。)

import urllib.request,os,hashlib; h = '6f4c264a24d933ce70df5dedcf1dcaee' + 'ebe013ee18cced0ef93d5f746d80ef60'; pf = 'Package Control.sublime-package'; ipp = sublime.installed_packages_path(); urllib.request.install_opener( urllib.request.build_opener( urllib.request.ProxyHandler()) ); by = urllib.request.urlopen( 'http://packagecontrol.io/' + pf.replace(' ', '%20')).read(); dh = hashlib.sha256(by).hexdigest(); print('Error validating download (got %s instead of %s), please try manual install' % (dh, h)) if dh != h else open(os.path.join( ipp, pf), 'wb' ).write(by)

方法二:手动安装

首先,单击 Preferences > Browse Packages… menu

然后,浏览文件夹,找到 Installed Packages 文件夹;

接着,下载 Package Control.sublime-package,并将它拷贝至 Installed Packages 文件夹中,即存放于 Installed Packages/ 路径下;

最后,重新启动 Sublime Text 就完成安装了。

3. Sublime 的界面优化

在菜单栏中 Tools 的下拉选项中选择 Command Palette ,输入 install ,按 回车键 , ST3 会出现对话:

在对话框中搜索 Monokai Pro ,点击 enter 进行安装。Monokai Pro 还有一系列“彩色滤镜”,通过 Tools ‣ Command Palette ‣ Monokai Pro: select theme可以查看。

4. 准备工作

为了能够使用 Sublime Text 对 Stata 文件进行编辑,首先要给 ST3 添加插件。

在 Windows 中有两个用 Sublime Text 的 Stata 插件 :StataEditor 和 Stata Enhanced 。 此处以 StataEditor 进行说明。

安装步骤:

1、安装 StataEditor :

在ST3中,使用 Ctrl + Shift + P 启动命令面板,输入 install 并按 Enter 键 (也可以在菜单栏中 Tools 的下拉选项中选择 Command Palette ,输入 install ,按 回车键 ),搜索 StataEditor ,然后单击它即可安装。

2、根据提示,安装 Pywin32 :

重复上述过程,安装 Pywin32 插件;

3、配置 StataEditor :

根据提示,在 ST3 中,利用 Preferences -> Package Settings -> StataEditor -> Settings - Default 。我们可以复制默认设置内容,然后打开 Preferences -> Package Settings -> StataEditor -> Settings - User 根据自己电脑的设置更改 Stata 的版本的路径。

例如,我的电脑显示 Windows 中的配置文件如下所示(注意每条设置之间需要用逗号隔开)

*为了使 Stata 正常工作,需要提供 Stata 的安装位置。(使用正斜杠而不是反斜杠)*
	"stata_path": "C:/FILES/本地磁盘F/StataSE12.0/StataSE.exe",
* 为确保 Sublime Text 可以正常使用 Stata 编码的代码,需要提供 Stata 的版本。 Windows-1252 用于 Stata 13 及更早版本,而 utf-8 用于 Stata 14 。*
	"stata_version": 12,

连享会计量方法专题……

4、注册Stata Register Stata Automation library:

根据 ST3 给出的路径,创建 ** StataSE.exe ** 的快捷方式,然后右击快捷方式,选择属性,在目标中,路径在末尾添加 /Register注意:/ 前有空格)。例如将目标改为 "C:\Program Files\Stata14\StataSE.exe" /Register,然后点击应用并确定更改。之后再次右键单击快捷方式,选择“以管理员身份运行”(注意:此项运行什么都不会发生)。

5. Sublime + Stata 配合使用

重新启动 ST3 并尝试打开现有的 do 文件(或创建一个扩展名为 .do 的新文件),可以发现 ST3 的右下角为 Stata ,此时使用 Ctrl + D 会弹出 Stata 的对话框,并执行刚才打开的这个 do 文件, 即外部文本软件直接执行 do-file 。

ST3 中还有自动补全的功能,非常方便。当输入 re ,就自动出现下拉列表,展示所有 re 开头的命令 replacerecode 以及 rename , 在输入 c 时,会自动提示数据中所有 c 开头的变量名 。这在多次输入某个命令或者变量名的时候会很方便,避免输入错误。

而且,在ST3中 使用 暂元 local ,可以用快捷键 alt + L ,或者直接按下 微信图片_20190722215154 键,即可得到 `'

此外,通过菜单 Preferences -> Package Settings -> StataEditor -> Key Bingdings - User 参照 key Bindings- defult 中的设置复制修改快捷键内容。

ATTENTION:目前遇到的问题是,当 ST3 配合 Stata 12.0 的 do 文件使用时, 会出现中文乱码的问题: 所有中文的标签、注释、路径都无法正确显示。

Stata 12.0
Stata 12.0

这一问题对 Stata 15.0 的 do 文件似乎不存在。

Stata15
Stata15

6. 结语

1、在安装之前,要确认电脑的操作系统是 32 位或 64 位,这对拓展 ST3 的操作环境非常重要。

2、可以通过菜单 View ‣ Side Bar ‣ Show Side Bar ,显示 ST3 的侧边栏。侧边栏的好处是不仅列出了所有打开过的文件,还可以新建、打开、关闭项目及文件。 ST3 还提供了一个叫 SideBarEnhancements 的插件可以强化侧边栏的功能。

3、ST3 、ultraedit 等许多文本软件的功能要比 Stata 自带的 dofile editor 更为强大,在处理复杂命令时,这些外部文本软件的优势更为明显,更可况 Sublime Text 目前被认为是最优秀的文本外部助推器。

相关课程

连享会-直播课 上线了!
http://lianxh.duanshu.com

免费公开课:


课程一览

支持回看,所有课程可以随时购买观看。

专题 嘉宾 直播/回看视频
最新专题 DSGE, 因果推断, 空间计量等
Stata数据清洗 游万海 直播, 2 小时,已上线
研究设计 连玉君 我的特斯拉-实证研究设计-幻灯片-
面板模型 连玉君 动态面板模型-幻灯片-
面板模型 连玉君 直击面板数据模型 [免费公开课,2小时]

Note: 部分课程的资料,PPT 等可以前往 连享会-直播课 主页查看,下载。


关于我们

  • Stata连享会 由中山大学连玉君老师团队创办,定期分享实证分析经验。直播间 有很多视频课程,可以随时观看。
  • 连享会-主页知乎专栏,300+ 推文,实证分析不再抓狂。
  • 公众号推文分类: 计量专题 | 分类推文 | 资源工具。推文分成 内生性 | 空间计量 | 时序面板 | 结果输出 | 交乘调节 五类,主流方法介绍一目了然:DID, RDD, IV, GMM, FE, Probit 等。
  • 公众号关键词搜索/回复 功能已经上线。大家可以在公众号左下角点击键盘图标,输入简要关键词,以便快速呈现历史推文,获取工具软件和数据下载。常见关键词:课程, 直播, 视频, 客服, 模型设定, 研究设计, stata, plus, 绘图, 编程, 面板, 论文重现, 可视化, RDD, DID, PSM, 合成控制法

连享会主页  lianxh.cn
连享会主页 lianxh.cn

连享会小程序:扫一扫,看推文,看视频……

扫码加入连享会微信群,提问交流更方便

✏ 连享会学习群-常见问题解答汇总:
https://gitee.com/arlionn/WD