代码分享 | Stata 大纲(Stata Outline)

2026年1月1日·
王梓豪
王梓豪
· 4 分钟阅读时长
logo
目录

Stata 大纲

版本: 0.2.1 作者: 王梓豪

English Version / 英文版本


功能概览

1. 智能大纲与结构导航

  • 多级大纲识别:自动识别 **#**###### 格式的注释行,最高支持 6 级层级标题
    • 快捷键Ctrl/Cmd + 1-6 快速转换对应等级标题,Ctrl/Cmd + 0 恢复为普通代码行。
  • 光标自动跟随:编辑器光标移动时,大纲视图将自动高亮并跳转至对应章节。
    • 设置方法:点击大纲右上角 ··· 按钮,勾选「跟随光标」。(抱歉~此为VS Code的GUI设置,我无法通过代码进行配置)
  • 多级逻辑序号:支持在大纲中显示 1.11.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 + / 快速切换行注释状态。
  • 可选样式:默认使用 //,支持在设置中更改为其他合法注释符。

fig
Stata .do 文件中的层级大纲视图(左侧:VS Code,右侧:Stata)


安装

扩展市场安装

  1. 在 VS Code 扩展中搜索 “Stata Outline” 并安装。
  2. 打开任意 .do 文件,通过资源管理器 → 大纲查看层级结构。

手动安装

  1. 发布页面 下载 stata-outline-x.x.x.vsix
  2. VS Code → 扩展面板 → ...从 VSIX 安装...
  3. 选择下载的文件完成安装。
  4. 打开 .do 文件并查看大纲面板。

配置

在 VS Code 设置中搜索 “Stata Outline”,配置以下选项:

  1. 显示多级序号 (stata-outline.showNumbering)

    • true:大纲显示 1.11.2.1 等序号。
    • false(默认):显示原始标题。
  2. 自动更新文件内容 (stata-outline.updateFileContent)

    • true:自动在 .do 文件中添加/删除序号(需启用序号显示)。
    • false(默认):仅大纲显示序号,不修改文件。
  3. 显示运行按钮(仅 macOS) (stata-outline.showRunButton)

    • true:编辑器标题栏与大纲视图顶部显示播放按钮。
    • false (默认):隐藏按钮。
  4. Stata 版本(仅 macOS) (stata-outline.stataVersion)

    • 可选择 StataMPStataICStataSE 版本,以运行代码。
  5. 运行代码后激活Stata至前台(仅 macOS) (stata-outline.activateStataWindow)

    • true(默认):运行代码后激活 Stata 窗口。
    • false:不激活 Stata 窗口。
  6. 注释样式 (stata-outline.commentStyle)

    • // (默认):双斜杠行注释。
    • * :Stata 单行注释。
    • /* ... */:块状注释。
  7. 分隔线长度 (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