代码分享 | Stata 大纲(Stata Outline)
logo
目录
Stata 大纲
版本: 0.2.1 作者: 王梓豪
功能概览
1. 智能大纲与结构导航
- 多级大纲识别:自动识别
**#至**######格式的注释行,最高支持 6 级层级标题。- 快捷键:
Ctrl/Cmd + 1-6快速转换对应等级标题,Ctrl/Cmd + 0恢复为普通代码行。
- 快捷键:
- 光标自动跟随:编辑器光标移动时,大纲视图将自动高亮并跳转至对应章节。
- 设置方法:点击大纲右上角
···按钮,勾选「跟随光标」。(抱歉~此为VS Code的GUI设置,我无法通过代码进行配置)
- 设置方法:点击大纲右上角
- 多级逻辑序号:支持在大纲中显示
1.1、1.2.1等格式的序号(需在设置中开启)。 - 自动同步序号:插件会根据大纲结构自动在
.do文件中插入或删除序号(需在设置中开启)。
2. 代码运行 (Stata 交互)
- 原生支持 (macOS):无需额外扩展即可与 Stata 通信;Windows 环境暂不支持。
- 多场景执行策略:
- 全局/全量执行:点击编辑器标题栏或大纲视图顶部的 ▶️ 按钮,运行当前脚本。
- 智能分节运行:当未选中任何代码时,按
Ctrl/Cmd + D将自动识别当前章节范围,执行从当前标题起始至下一个同级(或高级别)标题前的所有代码。 - 精准选中运行:按
Ctrl/Cmd + D执行选中的代码块。支持模糊选中,即使未完全覆盖整行字符,插件也会自动匹配并执行所选的完整行。
3. 高效分隔线与样式
- 快速插入:支持多种符号,显著提升代码的可读性。
- 标准分隔符:通过
Ctrl/Cmd + [符号]快速插入分隔线:Ctrl/Cmd + -(短横线) |Ctrl/Cmd + =(等号) |Ctrl/Cmd + Shift + 8(星号)
- 自定义分隔符:
Ctrl + Alt + S(Windows) |Ctrl + Cmd + S(macOS),此处 S 代表 “Separator”(分隔符)。- 按下快捷键后,输入你想要的字符即可生成对应的分隔线。
- 标准分隔符:通过
- 智能包裹模式:
- 空行插入:生成完整宽度的分隔线(长度可在设置中调整)。
- 非空行插入:初次按快捷键在行上方插入,再次按键则在下方插入,实现“包裹”效果。
- 标题修饰:选中标题文本按快捷键,将生成带有平衡装饰符的标题(例如:
**# === 标题内容 ===),且不影响大纲识别。
4. 注释增强
- 一键切换:使用
Ctrl/Cmd + /快速切换行注释状态。 - 可选样式:默认使用
//,支持在设置中更改为其他合法注释符。
Stata .do文件中的层级大纲视图(左侧:VS Code,右侧:Stata)
安装
扩展市场安装
- 在 VS Code 扩展中搜索 “Stata Outline” 并安装。
- 打开任意
.do文件,通过资源管理器 → 大纲查看层级结构。
手动安装
- 从 发布页面 下载
stata-outline-x.x.x.vsix。 - VS Code → 扩展面板 →
...→从 VSIX 安装...。 - 选择下载的文件完成安装。
- 打开
.do文件并查看大纲面板。
配置
在 VS Code 设置中搜索 “Stata Outline”,配置以下选项:
-
显示多级序号 (
stata-outline.showNumbering)true:大纲显示1.1、1.2.1等序号。false(默认):显示原始标题。
-
自动更新文件内容 (
stata-outline.updateFileContent)true:自动在.do文件中添加/删除序号(需启用序号显示)。false(默认):仅大纲显示序号,不修改文件。
-
显示运行按钮(仅 macOS) (
stata-outline.showRunButton)true:编辑器标题栏与大纲视图顶部显示播放按钮。false(默认):隐藏按钮。
-
Stata 版本(仅 macOS) (
stata-outline.stataVersion)- 可选择
StataMP、StataIC、StataSE版本,以运行代码。
- 可选择
-
运行代码后激活Stata至前台(仅 macOS) (
stata-outline.activateStataWindow)true(默认):运行代码后激活 Stata 窗口。false:不激活 Stata 窗口。
-
注释样式 (
stata-outline.commentStyle)//(默认):双斜杠行注释。*:Stata 单行注释。/* ... */:块状注释。
-
分隔线长度 (
stata-outline.separatorLength)- 用于控制分隔线的总长度(包含前缀)。
注意:修改设置后需重新打开
.do文件生效。禁用updateFileContent时,文件中现有序号将被自动移除。
版本记录
| 版本 | 更新内容 | 发布日期 |
|---|---|---|
| 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 |
