VS Code Extensions
Stata Preview

Stata Preview

by LiuQi

VSCode extension for previewing Stata .dta file content in table form within the editor

Downloads

120

Rating

(0)

Version

0.2.0

Last updated

Jun 16, 2026

Stata 预览

简体中文 | English

无需离开编辑器,即可在 VSCode 中打开 Stata 格式的 .dta 文件,并以表格形式预览文件内容。当前支持 Stata .dta 格式 113-115、117-119,并兼容 LSF/MSF 字节序。

插件开发初衷

处理 .dta 文件时,我们往往需要切换到 Stata 软件,仅为了查看变量、核对标签、筛选行数据,或对单个变量做快速频次分析。

本插件专为这类轻量需求设计:

  • 打开数据集文件
  • 梳理数据结构
  • 查看行数据详情
  • 快速筛选、排序数据
  • 核对变量标签与值标签
  • 对单个变量快速生成频次表或描述性统计
  • 将当前查看结果导出为通用表格文件

插件并非要替代 Stata,而是为了在编辑器中实现数据的快速查看、轻量化探索与核验。

核心功能

已实现功能

  • 以只读表格视图打开 .dta 文件
  • 支持 Stata .dta 格式 113-115、117-119,兼容 LSF/MSF 字节序
  • 加载数据时展示进度,直观反馈加载状态
  • 支持分页加载,适配大容量数据集
  • 支持类 Stata 表达式筛选行数据,可使用中文等 Unicode 变量名
  • 支持括号、算术运算、缺失值判断、集合/区间判断、字符串函数、正则匹配和日期函数
  • 支持筛选输入自动补全、表达式历史和常用筛选保存
  • 支持单列排序、Shift + 点击多列组合排序
  • 支持拖拽列头右侧手柄调整列宽
  • 支持列头右键菜单,可复制变量名/标签、排序、隐藏列、重置列宽和打开变量统计
  • 支持数据单元格右键菜单,可复制当前单元格或将当前行复制为变量=值文本
  • 显示变量标签与值标签,并可在原始值、标签、原始值 + 标签之间切换显示方式
  • 可通过侧边栏隐藏 / 显示指定列,并可高亮显示缺失值
  • 内置变量字典:集中查看变量名、变量标签、存储类型、统计类型、有效数、缺失率和唯一值数
  • 内置变量探索器:支持单变量频次分析、描述性统计
  • 点击表格行可打开行详情,以转置表查看当前行的变量、标签、值和值标签
  • 变量统计会以可视标记展示纯空白字符串,便于区分缺失值和空白字符串
  • 支持将当前表格视图或变量字典导出为 CSV 或 Excel
  • 内置文件信息弹窗,可查看路径、大小、更新时间、Stata 版本、字节序、数据量和变量数
  • 内置使用说明弹窗,快速查看筛选表达式和表格操作说明
  • 可识别部分更早的 Stata .dta 格式,并提示清晰的不支持版本信息
  • 底层文件更新时,自动刷新视图

暂不支持的功能

  • 不提供数据编辑能力
  • 不支持将修改内容写回 .dta 文件
  • 无法替代 Stata 完成模型估计、脚本编写或全流程数据管理工作

使用指南

表格视图操作

  • 点击 .dta 文件即可直接打开
  • 通过顶部工具栏输入条件筛选行数据
  • 筛选框支持变量名/函数自动补全,可从历史和常用筛选中复用表达式
  • 点击列标题实现排序;按住 Shift 点击多个列标题可进行多列排序
  • 拖拽列标题右侧手柄可调整列宽
  • 右键点击列标题可打开列操作菜单
  • 右键点击数据单元格可复制当前单元格,或将当前行复制为变量=值的多行文本
  • 可在值标签显示控件中切换原始值、标签、原始值 + 标签
  • 点击数据行可打开行详情;再次点击已选中的行可关闭详情
  • 行详情面板支持拖拽调整高度,详情表列宽也可拖拽调整
  • 侧边栏支持搜索变量、隐藏 / 显示指定列,并可切换缺失值高亮显示
  • 点击变量名可向筛选框插入变量名或函数模板
  • 可打开使用说明、变量字典和文件信息,也可刷新或导出数据
  • 打开文件信息、使用说明、变量字典或变量统计弹窗后,可按 Esc 关闭

数据筛选

筛选框支持基于变量的表达式。变量名可直接书写,包括中文变量名。

常见语法:

  • 比较运算:==!=~=<<=>>=
  • 逻辑运算:&|!,也支持 andornot
  • 算术运算:+-*/^
  • 分组:使用括号控制优先级
  • 辅助函数:missing()inlist()inrange()contains()strpos()regexm()lower()upper()trim()length()year()month()day()

示例:

  • edad > 30(年龄大于 30)
  • treatment == 1(处理组为 1)
  • edad > 30 & treatment == 1(年龄大于 30 且处理组为 1)
  • (year >= 2020 & year <= 2024) | missing(year)(年份在区间内,或年份缺失)
  • inlist(city, "昆明市", "大理市")(城市在指定集合中)
  • contains(城市名称, "市")(中文变量名筛选)
  • regexm(code, "^[0-9]+$")(正则匹配)
  • lower(trim(name)) == "abc"(字符串标准化后比较)
  • year(date) == 2024(按日期年份筛选)

若表达式格式错误,查看器会在筛选框下方提示错误信息,而非静默失效。

数据排序

  • 单击列标题:升序排列
  • 再次单击:降序排列
  • 第三次单击:清除排序
  • 按住 Shift 点击列标题:追加或切换多列排序

列头右键菜单

右键点击列标题可以快速执行列相关操作:

  • 复制变量名或变量标签
  • 升序/降序排序,或清除当前列排序
  • 隐藏当前列,或仅显示当前列
  • 重置当前列宽
  • 打开当前变量统计

数据导出

工具栏下载按钮支持将当前表格视图导出为:

  • CSV
  • Excel(.xlsx)

导出内容会保留当前筛选结果、排序顺序和可见列配置。隐藏列不会被导出。

变量字典弹窗也支持导出为 CSV 或 Excel,便于生成文档或 codebook。

变量字典

变量字典用于集中查看变量结构、标签、存储类型、统计类型、有效数、缺失率和唯一值数。

变量探索器

针对每个变量,探索器可实现:

  • 对分类变量 / 带标签变量生成频次表
  • 对数值变量生成描述性统计
  • 支持为频次分析单独设置筛选条件
  • 可将频次分析的筛选条件与全局表格筛选条件叠加使用
  • 支持 strL 等长文本变量的解析与统计
  • 纯空白字符串会显示为 ␠×2 等可视标记,不会与真正的缺失值混淆

适用场景

  • 无需打开 Stata,即可核验研究仓库中的数据集
  • 检查生成的 .dta 文件是否符合预期
  • 查看标签、编码变量及值标签映射关系
  • 对导出的数据做快速质量核验(QA)
  • 编写代码、文档或分析脚本时,同步探索数据内容
  • 将筛选后的当前视图导出给同事、文档或后续工具使用

性能说明

  • 插件支持大容量文件,但解析速度仍受文件大小和可用内存影响
  • 为优化查看体验,插件采用分页渲染方式,而非一次性加载所有数据
  • 筛选、排序、分页、统计与导出均基于扩展宿主中的列式数据视图处理

来源与许可证

本项目基于 dmenares93/stata-viewer 二次开发,原项目采用 MIT License

本项目继续以 MIT License 发布。上游项目中保留的代码版权归原作者 Diego Menares 所有;本项目新增和修改部分版权归 LiuQi 所有。完整版权声明与许可条款见 LICENSE

Stata 是 StataCorp LLC 的商标。本项目为独立开源项目,与 StataCorp LLC 无隶属、赞助或认可关系。

Related extensions