概述
Stata All in One,指一个源自 Stata Outline,为 Stata 用户量身打造的 VS Code 扩展。语法高亮 + 代码提示 + 智能大纲 + 运行代码 + 快捷编辑,All in One!无需额外扩展即可与 macOS 和 Windows 上的 Stata 无缝集成。
安装
在 VS Code 扩展中搜索 "Stata All in One" 并安装。
功能
1. 增强语法高亮与代码提示
完整语法高亮和代码提示支持:集成 Stata Enhanced 语法引擎[^1],为 .do 文件提供精确的语法高亮和代码提示(遵循MIT许可)。
自定义命令高亮:支持为用户常用的第三方命令(如 reghdfe、ivreghdfe、gtools 等)添加关键字高亮,可在设置中自由配置。
[^1]: Stata Enhanced 语法引擎由 Kyle Barron 开发,提供了对 Stata 语言的全面支持。本拓展遵循 MIT 许可协议,感谢 Kyle Barron 的贡献!
2. 智能大纲与结构导航
多级大纲识别:自动识别 **# 至 **###### 格式的注释行,最高支持 6 级层级标题。
快捷键:Ctrl/Cmd + 1-6 快速转换对应等级标题,Ctrl/Cmd + 0 恢复为普通代码行。
光标自动跟随:编辑器光标移动时,大纲视图将自动高亮并跳转至对应章节。
设置方法:点击大纲右上角 ··· 按钮,勾选「跟随光标」。[^2]
多级逻辑序号:支持在大纲中显示 1.1、1.2.1 等格式的序号(需在设置中开启)。
自动同步序号:插件会根据大纲结构自动在 .do 文件中插入或删除序号(需在设置中开启)。
支持program define块:在大纲视图中显示 program 名称,方便导航和管理自定义程序。
[^2]: 抱歉~此为VS Code的GUI设置,我无法通过插件控制它。
3. 代码运行 (Stata 交互)
平台支持:无需额外扩展即可与 macOS 和 Windows 上的 Stata 无缝集成。
多场景执行策略:
智能运行当前章节代码:当未选中任何代码时,点击编辑器标题栏或大纲视图顶部的 ▶️ 按钮 或 按 Ctrl/Cmd + D 将自动识别当前章节范围,执行从当前标题起始至下一个同级(或高级别)标题前的所有代码。
精准选中运行:按 ▶️ 按钮 或 Ctrl/Cmd + D 执行选中的代码块。支持模糊选中,即使未完全覆盖整行字符,插件也会自动匹配并执行所选的完整行。
⚠️ 注意
Windows 系统下运行代码依赖 PowerShell 脚本自动化,如果电脑较慢或偶发漏键时可适当调大步骤延迟(设置项 stata-all-in-one.stataStepDelayOnWindows)。
4. 高效分隔线与样式
快速插入:支持多种符号,显著提升代码的可读性。
Ctrl + Alt + S (Windows) | Ctrl + Cmd + S (macOS),此处 S 代表 "Separator"(分隔符)。
按下快捷键后,输入你想要的字符即可生成对应的分隔线。
Ctrl/Cmd + - (短横线) | Ctrl/Cmd + = (等号) | Ctrl/Cmd + Shift + 8 (星号)
标准分隔符:通过 Ctrl/Cmd + [符号] 快速插入分隔线:
自定义分隔符:
智能包裹模式:
标题居中:如果使用 标题修饰 + 自定义空格分隔符,则标题内容将自动居中显示。
空行插入:生成完整宽度的分隔线(长度可在设置中调整)。
非空行插入:初次按快捷键在行上方插入,再次按键则在下方插入,实现“包裹”效果。
标题修饰:选中标题的若干字符按快捷键,将生成带有平衡装饰符的标题(例如:**# === 标题内容 ===),且不影响大纲识别。
5. 更多精彩
注释增强
一键切换:使用 Ctrl/Cmd + / 快速切换行注释状态。
可选样式:默认使用 //,支持在设置中更改为其他合法注释符。
内置帮助(Stata Help)
快捷帮助:例如:选中 regress,按下快捷键Ctrl/Cmd + Shift + H,即可打开 Stata 的 regress 帮助页面。
智能换行(Stata Line Break)
一键换行:使用 Shift+Enter 在光标位置插入 Stata 换行符 ///。
智能缩进:自动缩进 4 个空格
作者
姓名:王梓豪
网页:https://gitee.com/ZihaoVistonWang/stata-all-in-one