# Leek Tomato **Repository Path**: timecontract/leek-tomato ## Basic Information - **Project Name**: Leek Tomato - **Description**: vscode插件,鼠标悬浮底部状态栏能预览股票分时图 - **Primary Language**: Unknown - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-08-22 - **Last Updated**: 2026-09-18 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Leek Tomato 韭菜番茄 > 鼠标悬浮底部状态栏能预览股票分时图 在 VS Code 里一边写代码一边盯盘的轻量级 A 股行情扩展。侧边栏维护你的自选股列表,勾选的股票会以最新价与涨跌幅的形式显示在底部状态栏,点击即可跳转同花顺分时网页查看详细走势。 ## 功能特性 - **侧边栏自选股列表**:在活动栏新增一个「Leek Tomato」入口,集中管理所有自选股票。 - **自选股分组**:可从列表标题栏创建分组,并通过分组右键菜单重命名;分组可拖拽排序,股票可拖入不同分组管理。 - **拖拽排序**:在股票列表中直接拖动即可调整显示顺序。 - **勾选即上状态栏**:勾选的股票会自动在底部状态栏生成独立的行情条目,显示名称、最新价、涨跌幅。 - **实时行情刷新**:通过东方财富接口批量拉取最新价与涨跌幅,仅在 A 股交易时段内按设定间隔自动刷新,避免非交易时段的无效请求。 - **状态栏快速跳转**:点击任意状态栏股票条目,自动打开同花顺分时网页查看完整走势。 - **悬浮预览分时图**:把鼠标悬停在底部状态栏的股票条目上,会拉取同花顺当日分时数据并就地绘制成分时图,含价格线、均价线,以及昨收 / 开盘 / 最低 / 最高 / 最新五个参考价及其数值标签,无需离开编辑器即可快速看走势。 - **悬浮预览买卖盘**:悬浮提示中还会以表格展示东方财富五档买卖盘(买一~买五 / 卖一~卖五的价格与挂单量,单位为手),交易时段内按设定间隔自动刷新,盯盘挂单一目了然。 - **搜索添加**:支持按股票名称 / 代码模糊搜索并加入自选。 - **快捷操作**:列表项右侧提供「移动到顶部」「移动到底部」「删除股票」的内联按钮,配合搜索按钮快速增删。 - **自动持久化**:股票列表与勾选状态自动保存到 VS Code 设置,跨会话保留。 ## 使用方法 1. 在活动栏点击 **Leek Tomato** 图标,打开「股票列表」视图。 2. 点击视图标题栏的 🔍 搜索按钮,输入股票名称或代码,选中后即可加入自选。 3. 点击视图标题栏的创建分组按钮新建分组;拖动分组可调整顺序,右键分组可重命名。 4. 勾选 / 取消勾选列表项,控制哪些股票显示在底部状态栏。 5. 在列表中拖动股票可调整顺序或移动到其他分组;点击列表项右侧的 ⬆ / 🗑 可置顶或删除。 6. 点击底部状态栏的股票条目,浏览器会打开同花顺分时网页。 7. **鼠标悬停**底部状态栏的股票条目,即可在悬浮提示中看到当日分时图。 > - 实时行情(最新价 / 涨跌幅)仅在 A 股交易时段(9:30–11:30、13:00–15:00)内按设定间隔自动刷新,非交易时段保留最后一次获取的数据。 > - 分时图在启动时拉取一次,交易时段内按 `leekTomato.trendRefreshInterval` 设定的间隔(默认 15 秒)更新当日分时;非交易时段若接口无当日数据,悬浮提示回退为纯文本,点击条目仍可打开网页查看完整走势。 > - 买卖盘在启动时拉取一次(非交易时段为上一交易日收盘缓存的五档),交易时段内按 `leekTomato.orderBookRefreshInterval` 设定的间隔(默认 5 秒)更新;非交易时段不轮询,保留缓存数据展示。 > - 当 VS Code 窗口失焦或最小化 / 隐藏时,行情定时器继续更新状态栏,分时与买卖盘定时器自动暂停;切回窗口时恢复,并立即补取一次分时与买卖盘数据。 ### 分时图配色说明 分时图中各元素的颜色固定不变,便于一眼区分: | 元素 | 颜色 | 说明 | | --- | --- | --- | | 价格曲线 / 填充 | 红 / 绿 | **唯一随涨跌变色**的元素:当日上涨为红,下跌为绿 | | 均价线 | 橙(虚线) | 成交均价 VWAP | | 昨收价 | 灰(虚线) | 上一交易日收盘价,价格曲线涨跌的基准 | | 开盘价 | 紫(虚线) | 当日开盘价 | | 最低价 | 浅绿(虚线) | 当日最低成交价 | | 最高价 | 浅红(虚线) | 当日最高成交价 | | 最新价 | 蓝 | 当日最新成交价,含端点标记 | > 上述 5 个参考价的线条与左侧数值标签颜色固定,不随涨跌改变;当若干参考价价位接近时,左侧数值会自动错开 11px 以上避免重叠。 > > 悬浮提示的头部还会以一张图例条横向列出这 5 个参考价(颜色与图表一致):昨收显示其价格作为基准,开盘 / 最低 / 最高 / 最新则显示相对昨收的涨幅百分比(始终带正负号、保留 2 位小数)。由于 VS Code 的悬浮提示会剥离内联文字着色,图例条用 SVG 图片渲染以保证颜色正常显示。 ## 扩展设置 本扩展贡献以下设置(可在「设置 → Leek Tomato」中修改): | 设置 | 类型 | 默认值 | 说明 | | --- | --- | --- | --- | | `leekTomato.stocks` | `array` | `[]` | 侧栏股票列表(按显示顺序),由插件自动维护 | | `leekTomato.groups` | `array` | `[]` | 侧栏股票分组及顺序,由插件自动维护 | | `leekTomato.checkedStocks` | `array` | `[]` | 已勾选、在底部状态栏显示的股票代码,由插件自动维护 | | `leekTomato.refreshInterval` | `number` | `5000` | 交易时间内侧栏行情的刷新间隔(毫秒),最小 1000 | | `leekTomato.trendRefreshInterval` | `number` | `15000` | 交易时间内底部状态栏分时图的刷新间隔(毫秒),最小 3000,修改后立即生效 | | `leekTomato.orderBookRefreshInterval` | `number` | `5000` | 交易时间内底部状态栏悬浮提示五档买卖盘的刷新间隔(毫秒),最小 1000,修改后立即生效 | | `leekTomato.statusBarFormat` | `string` | `{name} {price} {change}` | 底部状态栏股票显示格式,可用占位符:`{name}` 股票名称、`{price}` 最新价、`{change}` 涨跌幅 | | `leekTomato.statusBarPriority` | `integer` | `25` | 底部状态栏股票条目的起始优先级,数值越大越靠左,修改后立即生效 | | `leekTomato.statusBarRiseColor` | `string` | `#F44336` | 状态栏上涨股票的文字颜色,修改后立即生效 | | `leekTomato.statusBarFallColor` | `string` | `#C9AD06` | 状态栏下跌股票的文字颜色,修改后立即生效 | 例如把状态栏改为只显示名称和涨跌幅: ```json "leekTomato.statusBarFormat": "{name} {change}" ``` ## 命令 | 命令 | 标题 | 说明 | | --- | --- | --- | | `leek-tomato.searchStock` | 搜索股票 | 按名称 / 代码搜索并添加自选 | | `leek-tomato.createGroup` | 创建分组 | 新建一个空的股票分组 | | `leek-tomato.renameGroup` | 重命名分组 | 修改选中分组的名称 | | `leek-tomato.moveToTop` | 移动到顶部 | 将选中股票移至列表顶部 | | `leek-tomato.moveToBottom` | 移动到底部 | 将选中股票移至列表底部 | | `leek-tomato.removeStock` | 删除股票 | 从自选列表中删除 | | `leek-tomato.openStockPage` | 打开分时网页 | 在浏览器打开同花顺分时图(状态栏点击触发) | ## 已知问题 - 行情数据来源于第三方公开接口,接口变更或限流时可能出现刷新失败。 - 当前仅支持 A 股,暂不支持港股 / 美股。 ## Release Notes ### 0.1.0 新增“模拟股票全天盘面异动”命令。 ### 0.0.26 批量行情接口分批获取,每批最多 180 只股票,避免单次请求体过大。 ### 0.0.25 盘面异动监控优化。 1,均价改用批量行情的成交额/成交量计算,去掉逐只请求分时接口,大幅降低网络开销。 2,修复含括号的复杂表达式(如 `(涨幅>5 || 跌幅>3) && 量比>2`)无法正确解析的问题,括号不再被条件正则吞掉。 3,修复负数条件(如 `涨变5<-0.01`)解析失败导致整组规则失效的问题。 4,修复"昨涨"参数始终为空的问题,日K线接口改用收盘价(字段11)计算。 5,异动详情页面中股票代码可点击跳转到同花顺分时页。 6,添加"清除数据缓存"命令,解决旧缓存导致新字段无法获取的问题。 ### 0.0.24 盘面异动监控。 1,修复 `&&` `||` 逻辑操作符被条件正则贪婪吞掉导致多条件表达式无法解析的问题。 ### 0.0.23 盘面异动监控增强。 1,添加"昨涨"参数,支持昨日涨跌幅判断。 2,添加"时""分"参数,支持时间条件过滤。 3,优化日K数据获取,合并量比基准与昨日涨幅请求,减少网络开销。 4,修复多条件表达式(如 `涨幅>5 and 量比>2`)无法正确解析的问题,支持 `and`/`or`/`且`/`或` 等多种逻辑操作符。 ### 0.0.22 盘面异动监控。 1,添加7个参数,昨收价,均价,均变1~5。 2,可以进行加减乘除操作。 ### 0.0.21 盘面异动监控。 1,图表添加每分钟节点数值显示。 2,改成真实换手率。 3,添加3个参数,市值 最高涨幅 最低涨幅。 ### 0.0.20 1,修复删除股票错误删除其他分组股票问题。 2,股票拖动到股票为移动,股票拖动到分组为复制。 3,盘面异动监控添加换手率选项,参数添加中文命名。 ### 0.0.19 1,盘面异动监控添加量比和涨幅变化判断。 2,盘面异动监控通知添加详情界面。 ### 0.0.18 1,盘面异动监控对相同股票进行去重。 ### 0.0.17 1,分时图添加量比曲线。 2,添加盘面异动监控功能。 ### 0.0.14 1,主侧栏股票选项添加涨停统计功能。 ### 0.0.13 1,搜索股票时,已持有的股票也会显示。 2,添加删除股票分组功能。 3,修复股票分组从上往下拖动的异常问题。 4,底部状态栏可设置,分时图预览是否显示,鼠标点击是否打开网页。 5,底部状态栏自定义格式添加“涨跌额”“昨收价”字段。 6,底部状态栏分时图预览“开盘价”“最低价”“最高价”“现价”添加价格显示。 ### 0.0.12 1,行情和买卖盘换成同花顺接口批量获取。 2,行情默认间隔时间由5秒改成3秒,买卖盘间隔时间合并到行情间隔时间。 3,分时图默认间隔时间由15秒改成5秒,最小间隔时间由3秒改为1秒。 4,底部状态栏悬浮提示添加分时量和量价配比图,可在设置是否显示。 5,底部状态栏悬浮提示时间轴不会固定显示9点到15点了,根据当前时间调整。 6,更改底部状态栏悬浮提示分时图显示样式。 ### 0.0.11 底部状态栏悬浮提示添加行情更新时间显示。 ### 0.0.1 初始版本:侧边栏自选股管理、状态栏实时行情、交易时段自动刷新、同花顺分时网页跳转、**鼠标悬浮状态栏预览当日分时图**。 --- ## 开发 ```bash # 安装依赖 npm install # 监听编译(esbuild + tsc 类型检查) npm run watch # 类型检查 / lint / 打包 npm run package # 运行测试 npm test ``` 按 `F5` 在「扩展开发主机」中调试本扩展。 ## 许可证 MIT