Stock Watcher
实时查看 A 股股票、指数、场内基金行情,在 VS Code 状态栏展示,支持分时/K线图表和暗盘明盘资金流向分析。
功能
- 状态栏实时行情 — 默认展开显示排序最前的 2 只个股最新价和涨跌幅,支持点击折叠
- 悬浮窗详情 — 鼠标悬停查看完整表格(含涨幅、换手率、成交额、明盘资金、暗盘资金、总资金)
- 快捷新增标的 — 悬浮弹窗分类标题后点击
[+] 一键跳转排序配置页面
- 明暗盘资金开关 — 分时/K 线页面和悬浮弹窗均支持一键切换显示/隐藏明暗盘资金数据
- 暗盘明盘资金流向 — 自动从东方财富获取大宗交易/明盘资金数据,支持回退最近交易日
- 分时走势图 — 当日分时线和均价线,支持成交量柱
- 日 K 线图 — 支持近 30/60/90/120/240 天,显示多周期 MA 均线,支持成交量柱
- 历史分时弹窗 — 双击 K 线查看任意交易日分时走势(可拖拽、前后切换日期)
- 拖动排序 — 拖拽调整股票/指数/基金顺序,松开自动保存;支持自定义简称(悬浮优先展示)与隐藏条目
- 多数据源自动切换 — 腾讯财经(默认)→ 新浪财经 → 东方财富,连续失败 3 次自动切换
- 可配置刷新间隔 — 默认 1 秒刷新
使用方法
快速上手
- 安装后自动激活,状态栏显示股票市场概览(涨跌家数)
- 点击状态栏:切换展开/折叠个股行情
- 鼠标悬浮状态栏:弹窗查看完整表格(含涨幅、换手率、成交额、明暗盘资金等),点击股票名称快速跳转到详情面板
- 悬浮弹窗中点击
[+]:快速打开排序配置页面,进行新增/删除/排序标的
- 详情面板:查看分时走势图、日 K 线图,支持切换股票、调整 K 线周期
添加/管理监控标的
方式一:悬浮弹窗跳转(推荐)
- 鼠标悬浮状态栏,点击任意分类标题后的
[+],直接打开排序配置面板
- 在排序面板中:输入代码新增、拖拽排序、自定义简称、隐藏/显示条目
方式二:命令面板
- Ctrl+Shift+P(macOS: Cmd+Shift+P)打开命令面板
- 输入
Stock Watcher: 拖动排序 打开排序面板
- 或使用快捷键绑定该命令
方式三:VS Code 设置
- 在设置中搜索
stockWatcher,或编辑 .vscode/settings.json
命令
| 命令 |
操作 |
Stock Watcher: 展开/折叠行情 |
切换状态栏展开/收缩 |
Stock Watcher: 行情详情 |
打开当前选中股票的分时/K 线详情面板 |
Stock Watcher: 拖动排序 |
打开排序弹窗(新增、拖拽排序、自定义简称、隐藏条目) |
Stock Watcher: 手动刷新 |
立即刷新所有行情数据 |
配置
在 VS Code 设置中搜索 stockWatcher,或编辑 .vscode/settings.json:
{
"stockWatcher.stocks": [
{ "code": "sh600519", "name": "贵州茅台" }
],
"stockWatcher.indexes": [
{ "code": "sh000001", "name": "上证指数" }
],
"stockWatcher.funds": [
{ "code": "sh510050", "name": "上证50ETF" }
],
"stockWatcher.refreshInterval": 1,
"stockWatcher.dataSource": "tencent"
}
字段说明
| 参数 |
类型 |
默认值 |
说明 |
stocks |
array |
贵州茅台 |
监控的股票列表 |
indexes |
array |
上证指数 |
监控的指数列表 |
funds |
array |
上证50ETF |
监控的场内基金列表 |
refreshInterval |
number |
1 |
刷新间隔(秒) |
dataSource |
string |
tencent |
首选数据源:tencent/sina/eastmoney |
StockConfigItem 格式
{ "code": "600519", "name": "贵州茅台", "shortName": "茅台", "hidden": false }
code: 必填,股票代码(可以不加 sh/sz 前缀,系统自动识别)
name: 可选,股票名称
shortName: 可选,状态栏显示的自定义简称,为空时显示 name
hidden: 可选,是否在状态栏隐藏该条目(可在排序弹窗中切换)
自动识别规则:
5/6/9 开头 → sh(沪市),如 600519、688981
0/1/2/3/159 开头 → sz(深市),如 000001、300750
- 已有
sh/sz/bj 前缀的保留原样
注意:上证指数 000001 和平安银行 000001 代码重复,需要显式写 sh000001(上证指数)或 sz000001(平安银行)。
数据源
| 数据源 |
ID |
特点 |
| 腾讯财经 |
tencent |
默认,速度快,数据全 |
| 新浪财经 |
sina |
备选 1,稳定性好 |
| 东方财富 |
eastmoney |
备选 2 |
连续请求失败 3 次自动切换数据源。
暗盘明盘资金流向
从东方财富接口获取每日个股的暗盘(大宗交易/非公开市场)和明盘(公开市场)资金流向数据:
- 智能缓存:交易时段(9:30-15:00)每 5 分钟自动刷新,非交易时段永久缓存
- 自动回退:当日无数据时自动回退最近 10 个交易日(覆盖周一/节假日)
- 反爬措施:全量扫描 ~5300 只 A 股(54 页),每页间隔 50-150ms 随机延迟
- 数据以 亿 为单位显示,保留 2 位小数
- 状态栏悬浮弹窗和详情面板均支持展示
- 一键开关:分时/K 线页面顶部「明暗盘」按钮可随时切换显示/隐藏,关闭后悬浮弹窗同步隐藏该列
开发
# 安装依赖
npm install
# 编译
npm run compile
# 类型检查
npm run lint
# 监听模式
npm run watch
在 VS Code 中按 F5 启动扩展开发模式调试。
发布到 VS Code Marketplace
首次发布
- 在 Azure DevOps 创建 Personal Access Token (PAT),范围选 Marketplace (Acquire)。
- 登录并打包发布:
npm install -g @vscode/vsce
vsce login <publisher> # publisher 即 package.json 中的 publisher 字段
vsce publish # 自动打包 + 发布
后续更新
# 1. 修改 package.json 中的 version 字段(语义化版本号)
# 2. 重新编译确保无错误
npm run compile
# 3. 发布更新(会自动打包 + 推送到 Marketplace)
vsce publish
# 或分步操作:先打包再手动上传
vsce package # 生成 .vsix 文件
# 然后访问 https://marketplace.visualstudio.com/manage 手动上传更新
版本号规则:Marketplace 不允许重复版本号,每次发布必须递增 major.minor.patch(如 0.2.0 → 0.3.0)。可在 package.json 中修改 version 字段,或使用 vsce publish patch/minor/major 自动递增。
许可
MIT