🚀 JS API Check for VS Code
智能检测 JavaScript API 浏览器兼容性,让开发更安心

✨ 主要功能
| 功能 |
描述 |
| 🔍 智能检测 |
自动分析 JS/TS/Vue 代码中的浏览器兼容性问题 |
| 🌍 多浏览器支持 |
目标浏览器可切换:Chrome / Safari / Safari iOS |
| 🔧 版本与模式切换 |
浏览器 + 版本一键切换,Chrome 支持 alipayHk/wechat 模式 |
| 📚 MDN 文档链接 |
一键跳转到 MDN 查看详细 API 文档 |
| 🧩 内建 + 常用 Web API |
覆盖内建对象与常见 Web API(如 fetch / URL) |
| ⚡ 实时检测 |
代码修改时实时显示兼容性警告 |
| 🛡️ 性能优化 |
防抖、缓存、大文件保护,避免卡顿 |
🆕 v3 版本变化(相对 v2)
- 从仅支持 Chrome 扩展到 多浏览器目标(Chrome / Safari / Safari iOS)
- 支持 切换浏览器 + 版本,同一项目可快速验证不同环境兼容性
- Chrome 保留开发模式(alipayHk/wechat),不影响其它浏览器设置
🎯 支持的文件类型
- JavaScript:
.js, .jsx, .mjs, .cjs
- TypeScript:
.ts, .tsx, .TS
- React:
.jsx, .tsx (JSX/TSX)
- Vue:
.vue, .VUE
🚀 快速开始
1️⃣ 安装扩展
方式一:VS Code Marketplace(推荐)
- 按
Ctrl+Shift+X 打开扩展面板
- 搜索
jsapi-check
- 点击安装
方式二:VSIX 文件安装
- 下载 jsapi-check.vsix
- VS Code 中按
Ctrl+Shift+P
- 输入
Install from VSIX
- 选择下载的文件
2️⃣ 配置浏览器版本/目标浏览器
- 默认版本: Chrome 69 / Safari 15 / Safari iOS 15
- 切换方式: 右下角状态栏点击切换(浏览器 + 版本)
- 支持模式: alipayHk、wechat 等(仅 Chrome)
- 配置记忆: 浏览器、版本与模式会持久化,重启后保持
3️⃣ 开始使用
打开任意 JS/TS/Vue 文件,扩展会自动检测并显示兼容性问题:
// 示例:Chrome 69 不支持 String.prototype.replaceAll
"hello world".replaceAll("hello", "hi"); // ⚠️ 兼容性警告
📸 界面预览
主界面

兼容性检测

问题面板

开发模式切换


⚙️ 配置说明
浏览器支持与版本设置
- Chrome: 支持开发模式(alipayHk/wechat),可手动输入版本
- Safari / Safari iOS: 可选择目标版本,支持小数(如 16.4)
- 自定义版本: 所有浏览器都可输入任意版本号
检测规则
- 基于 AST 解析,覆盖常见内建对象与 Web API
- Vue 文件仅解析
<script> 内容
- TypeScript 支持基础类型推断
- 只检测当前打开的文件,避免扫描整个工作区
已知限制
- 当前仅支持 Chrome / Safari / Safari iOS 版本兼容性
- 动态属性/复杂类型推断可能导致漏报或误报
- Web API 覆盖为常见集合,非完整浏览器 API
🔧 开发相关
项目结构
src/
├── activation/ # 扩展激活逻辑
├── core/ # 核心功能模块
│ ├── ast/ # AST 解析
│ ├── compatibility/ # 兼容性检测
│ └── diagnostic/ # 诊断信息
└── utils/ # 工具函数
本地调试(方式二:命令行启动)
# 安装依赖(首次)
yarn install
# 启动构建监听
yarn watch
# 启动 Extension Host
code --extensionDevelopmentPath=/Users/carolcross/Downloads/vscode-gzc
版本管理
# 自动版本更新
yarn version:auto # 智能分析提交类型
yarn publish:auto # 自动发布
# 手动版本更新
yarn version:patch # 补丁版本
yarn version:minor # 次要版本
yarn version:major # 主要版本
📚 相关链接
🌟 Star History
如果这个扩展对你有帮助,请给个 ⭐ Star 支持一下!
Made with ❤️ by carolCross
| |