代码分享 | Stata All in One
logo
目录
Stata All in One
一个为 Stata 用户量身打造的 VS Code 扩展
| 版本: 0.2.9 | 作者: 王梓豪 | Translate: English Version |
一站式 Stata 体验:语法高亮 + 代码提示 + 智能大纲 + 运行代码 + 快捷编辑,All in One!
Stata All in One 源自 Stata Outline,进行了功能扩展和改进。
功能概览
1. 增强语法高亮与代码提示
- 完整语法高亮和代码提示支持:集成 Stata Enhanced 语法引擎1,为
.do文件提供精确的语法高亮和代码提示(遵循MIT许可)。 - 自定义命令高亮:支持为用户常用的第三方命令(如
reghdfe、ivreghdfe、gtools等)添加关键字高亮,可在设置中自由配置。
2. 智能大纲与结构导航
- 多级大纲识别:自动识别
**#至**######格式的注释行,最高支持 6 级层级标题。- 快捷键:
Ctrl/Cmd + 1-6快速转换对应等级标题,Ctrl/Cmd + 0恢复为普通代码行。
- 快捷键:
- 光标自动跟随:编辑器光标移动时,大纲视图将自动高亮并跳转至对应章节。
- 设置方法:点击大纲右上角
···按钮,勾选「跟随光标」。2
- 设置方法:点击大纲右上角
- 多级逻辑序号:支持在大纲中显示
1.1、1.2.1等格式的序号(需在设置中开启)。 - 自动同步序号:插件会根据大纲结构自动在
.do文件中插入或删除序号(需在设置中开启)。 - 支持
program define块:在大纲视图中显示 program 名称,方便导航和管理自定义程序。
3. 代码运行 (Stata 交互)
- 平台支持:无需额外扩展即可与 macOS 和 Windows 上的 Stata 无缝集成。
- 多场景执行策略:
- 智能运行当前章节代码:当未选中任何代码时,点击编辑器标题栏或大纲视图顶部的 ▶️ 按钮 或 按
Ctrl/Cmd + D将自动识别当前章节范围,执行从当前标题起始至下一个同级(或高级别)标题前的所有代码。 - 精准选中运行:按 ▶️ 按钮 或
Ctrl/Cmd + D执行选中的代码块。支持模糊选中,即使未完全覆盖整行字符,插件也会自动匹配并执行所选的完整行。
- 智能运行当前章节代码:当未选中任何代码时,点击编辑器标题栏或大纲视图顶部的 ▶️ 按钮 或 按
- ⚠️ 注意
- Windows 系统下运行代码依赖 PowerShell 脚本自动化,如果电脑较慢或偶发漏键时可适当调大步骤延迟(设置项
stata-all-in-one.stataStepDelayOnWindows)。
- Windows 系统下运行代码依赖 PowerShell 脚本自动化,如果电脑较慢或偶发漏键时可适当调大步骤延迟(设置项
4. 高效分隔线与样式
- 快速插入:支持多种符号,显著提升代码的可读性。
- 标准分隔符:通过
Ctrl/Cmd + [符号]快速插入分隔线:Ctrl/Cmd + -(短横线) |Ctrl/Cmd + =(等号) |Ctrl/Cmd + Shift + 8(星号)
- 自定义分隔符:
Ctrl + Alt + S(Windows) |Ctrl + Cmd + S(macOS),此处 S 代表 “Separator”(分隔符)。- 按下快捷键后,输入你想要的字符即可生成对应的分隔线。
- 标准分隔符:通过
- 智能包裹模式:
- 空行插入:生成完整宽度的分隔线(长度可在设置中调整)。
- 非空行插入:初次按快捷键在行上方插入,再次按键则在下方插入,实现“包裹”效果。
- 标题修饰:选中标题的若干字符按快捷键,将生成带有平衡装饰符的标题(例如:
**# === 标题内容 ===),且不影响大纲识别。- 标题居中:如果使用 标题修饰 + 自定义空格分隔符,则标题内容将自动居中显示。
5. 更多精彩
-
注释增强
- 一键切换:使用
Ctrl/Cmd + /快速切换行注释状态。 - 可选样式:默认使用
//,支持在设置中更改为其他合法注释符。
- 一键切换:使用
-
内置帮助(Stata Help)
- 快捷帮助:例如:选中
regress,按下快捷键Ctrl/Cmd + Shift + H,即可打开 Stata 的regress帮助页面。
- 快捷帮助:例如:选中
- 智能换行(Stata Line Break)
- 一键换行:使用
Shift+Enter在光标位置插入 Stata 换行符///。 - 智能缩进:自动缩进 4 个空格
- 一键换行:使用
快捷键
点击这里查看完整快捷键列表。
安装
扩展市场安装
- 在 VS Code 扩展中搜索 “Stata All in One” 并安装。
手动安装
- 从 发布页面 下载
stata-all-in-one-x.x.x.vsix。 - VS Code → 扩展面板 →
...→从 VSIX 安装...。 - 选择下载的文件完成安装。
配置
在 VS Code 设置中搜索 “Stata All in One”,配置以下选项:
语法高亮和代码提示
-
自定义命令高亮 (
stata-all-in-one.customCommands)- 自定义需要高亮的 Stata 命令(字符串数组),默认包含
reghdfe。 - 示例:
["reghdfe", "ivreghdfe", "gtools", "winsor2", "outreg2"] - 配置后需要重载窗口生效。
- 自定义需要高亮的 Stata 命令(字符串数组),默认包含
大纲与导航
-
显示多级序号 (
stata-all-in-one.numberingShow)true:大纲显示1.1、1.2.1等序号。false(默认):显示原始标题。
-
自动添加标题序号 (
stata-all-in-one.numberingAdd)true:当启用序号时,自动更新.do文件中的section标题以包含序号。false(默认):仅大纲显示序号,不修改文件。
代码运行
-
显示运行按钮 (
stata-all-in-one.showRunButton)true(默认):是否在编辑器标题栏显示运行按钮。false:隐藏按钮。
-
Stata 版本(macOS) (
stata-all-in-one.stataVersionOnMacOS)- [macOS] Stata 运行版本。可选择
StataMP、StataIC、StataSE版本。
- [macOS] Stata 运行版本。可选择
-
Stata 路径(Windows) (
stata-all-in-one.stataPathOnWindows)- [Windows] Stata 执行文件路径(例如
C:\Program Files\Stata17\StataMP-64.exe)。
- [Windows] Stata 执行文件路径(例如
-
步骤延迟(Windows) (
stata-all-in-one.stataStepDelayOnWindows)- [Windows] PowerShell 自动化每一步之间的延迟(毫秒)。默认:
100(最小:50)。电脑较慢或偶发漏键时可适当调大。
- [Windows] PowerShell 自动化每一步之间的延迟(毫秒)。默认:
-
运行代码后激活 Stata 至前台 (
stata-all-in-one.activateStataWindow)true(默认):运行代码后激活Stata窗口(将其带到前台)。false:不激活 Stata 窗口。
代码风格
-
注释样式 (
stata-all-in-one.commentStyle)//(默认):用于切换注释的样式。选项包括//、*或/* ... */
-
分隔线长度 (
stata-all-in-one.separatorLength)
- 分割线所在行的字符总长度(包括前缀 ‘** #’ 和分隔符)。默认值:
60
- 分隔线对称性 (
stata-all-in-one.separatorSymmetric)
true:在分割线末尾添加**以保证视觉对称(例如** === 标题 === **)。false(默认):分割线不添加末尾后缀。
注意:修改设置后需重新打开
.do文件生效。禁用numberingAdd时,文件中现有序号将被自动移除。
版本记录
| 版本 | 更新内容 | 发布日期 |
|---|---|---|
| 0.2.9 | 修复了自定义命令在注释中仍显示高亮颜色的问题,现在被注释的自定义命令正确显示为灰色 | 2026-02-23 |
| 0.2.8 | 修复了关于标题序号的已知问题 | 2026-02-03 |
| 0.2.7 | mac 执行代码改为异步 AppleScript 调用以提升启动与执行响应;大纲视图新增对 program define 块的识别并在当前 section 下显示程序名 | 2026-01-30 |
| 0.2.6 | macOS 版 Stata 自动检测(支持 Stata 19+);新增分隔线“对称”配置与批量更新命令;帮助快捷键改为 Ctrl/Cmd+Shift+H | 2026-01-30 |
| 0.2.5 | 新增智能换行功能(Shift+Enter),支持 Stata 代码自动缩进和格式化 | 2026-01-28 |
| 0.2.4 | 添加了stata帮助功能;修复了一些已知问题 | 2026-01-28 |
| 0.2.3 | 集成 Stata Enhanced 语法高亮;添加迁移提示以及来自 Stata Outline 的自动迁移设置 | 2026-01-27 |
| 0.2.2 | Windows 原生支持运行 Stata 代码 | 2026-01-27 |
| 0.2.0-0.2.1 | macOS 原生支持运行代码,无需额外依赖;新增分隔线命令与快捷键 | 2026-01-25 |
| 0.1.9 | 大纲自动跟随光标,光标移动时实时高亮相应章节 | 2026-01-24 |
| 0.1.7-0.1.8 | 新增切换注释功能,支持自定义注释样式 | 2026-01-22 |
| 0.1.5-0.1.6 | 新增"运行当前节"功能 | 2026-01-12 |
| 0.1.4 | 添加多级序号显示与自动文件更新功能 | 2026-01-12 |
| 0.1.3 | 修复 **# 无空格时无法显示的问题 |
2025-12-30 |
| 0.1.2 | 新增快捷键功能 | 2025-12-26 |
| 0.1.0-0.1.1 | 初始版本,匹配 Stata 书签风格 | 2025-12-25 |
-
Stata Enhanced 语法引擎由 Kyle Barron 开发,提供了对 Stata 语言的全面支持。本拓展遵循 MIT 许可协议,感谢 Kyle Barron 的贡献! ↩︎
-
抱歉~此为VS Code的GUI设置,我无法通过插件控制它。 ↩︎