
Smart API Debug Tool
Smart API Debug Tool
oshwhub-official0Ace Code Editor for EDA Editing Evolution
A lightweight, embeddable JavaScript code editor built on Ace Editor, designed specifically for the EasyEDA Pro environment. Supports syntax highlighting, intelligent autocompletion, custom dictionaries, and one-click code execution.

API Auto-Generated Test Cases

API Auto-Distinguish PCB and Schematic

Support Custom Completion & Edit Completion Parameters

Three Built-in Styles and Custom Primitives

HTML Online Preview with Path References

A Brand New Workflow-Based Plugin Development Approach

Features
- Built-in themes and customization: Primitive styles support customization, all colors can be switched
- JavaScript syntax highlighting & intelligent autocompletion
- Top scrollable function sidebar (reserved for future extensions)
- Custom dictionary support: Internal API can be injected for intelligent hints
- Zero-dependency dynamic loading: All resources are statically referenced, no network requests required
- Responsive layout: Adapted for iframe embedding scenarios
Directory Structure
/iframe/
└── script/
└── Ace_Editor/ # Ace core resources (must be deployed to this path)
├── ace.js
├── ext-language_tools.js
├── mode-javascript.js
├── theme-monokai.js
└── worker-javascript.js (optional)
└── main/
└── index.html # Main page of this editor
Ensure that the Ace_Editor/ folder has been fully uploaded to the /iframe/script/ directory of the EDA server.
Custom Dictionary (API Intelligent Hints)
Add custom completion rules in the initialization script of index.html:
// Example: Add dictionary
editor.completers.push({
getCompletions: function (editor, session, pos, prefix, callback) {
var completions = [
{ name: 'myFunction', value: 'myFunction', score: 1000, meta: 'custom' },
// ... other completion items
];
callback(null, completions);
},
});
Supports dynamic dictionary updates, suitable for internal SDKs or platform APIs.
Open Source Dependencies
Runtime Dependencies (distributed with the extension)
| Library | Version | License | Purpose |
|---|---|---|---|
| Ace Editor | 1.36+ | BSD-3-Clause | Code editor core |
| SweetAlert2 | 11.26.17 | MIT | Modal dialogs |
| JSZip | 3.10.1 | MIT OR GPL-3.0-or-later (MIT chosen here) | Project import/export ZIP |
| highlight.js | 11.9.0 | BSD-3-Clause | AI chat code highlighting |
| marked | 15.0.12 | MIT | Markdown rendering |
| js-beautify | — | MIT | Code formatting |
Development Dependencies (build-time only, not distributed with the extension)
| Library | Version | License | Purpose |
|---|---|---|---|
| @jlceda/pro-api-types | ^0.1.175 | Apache-2.0 | EDA API type definitions |
| TypeScript | ^5.7.3 | Apache-2.0 | Type checking & compilation |
| esbuild | ^0.24.2 | MIT | Bundling & building |
| ESLint | ^8.57.0 | MIT | Code linting |
| Prettier | ^3.4.2 | MIT | Code formatting |
| husky | ^9.1.7 | MIT | Git hooks |
| lint-staged | ^15.3.0 | MIT | Staged files checking |
| rimraf | ^6.0.1 | ISC | Cross-platform file cleanup |
| ts-node | ^10.9.2 | MIT | TS script execution |
| fs-extra | ^11.3.0 | MIT | Enhanced file operations |
| JSZip | ^3.10.1 | MIT OR GPL-3.0-or-later (MIT chosen) | Build packaging |
| @microsoft/tsdoc | ^0.15.1 | MIT | TSDoc parsing |
| @trivago/prettier-plugin-sort-imports | ^5.2.1 | Apache-2.0 | Import sorting |
| ignore | ^7.0.3 | MIT | .gitignore rule parsing |
License Compliance
All dependencies use permissive open source licenses (MIT / BSD / Apache-2.0 / ISC). There are no GPL or other copyleft licenses with mandatory viral requirements.
JSZip uses a dual license (MIT OR GPL-3.0-or-later), and this project chooses the MIT license.
License
This project is released under the Apache-2.0 license. The UI and integration code may be freely used for internal development.
Made with ❤️ for EDA developers Happy Coding!
2.6.8
新增
- 新增支持多语言
- 合并图像文件夹,移除构建产物
2.6.7
新增
- 面板弹出功能:拖拽左侧导航按钮到主窗口外,即可将"所有项目"、"项目设计"、"常用代码"面板弹出为独立浮动窗口。各面板通过实时消息同步状态,操作一个面板其他面板同步响应
- 内置项目渲染指示器:运行内置项目时,项目名称旁显示绿色"渲染中"标识。
- 内置项目单独渲染:设置中新增开关,开启后内置项目在独立 EDA 窗口中渲染,不再占用编辑器预览区,也不会影响已打开的项目文件列表
- 启动文件选择器:将多文件项目映射到顶部菜单时,弹出文件选择框选择启动文件(HTML 优先于 JS,index.html 最优先),支持搜索过滤
- 渲染行为设置:新增"渲染页面时关闭面板"开关,开启后点击渲染会自动收起侧边栏腾出空间
优化
- 文件树悬浮效果:鼠标悬浮文件名时背景变为淡蓝色半透明
- 标签页关闭行为:关闭最后一个标签页不再关闭整个项目,文件列表保持可见,方便继续打开其他文件
- 文件树空白区域点击:只清除文件选中状态,不再意外关闭项目
- 顶部菜单快捷按钮行为调整:
- 左键点击:根据启动文件类型执行脚本或预览 HTML
- 右键菜单"加载项目":在项目设计面板中打开项目进行编辑
- 项目 UUID 体系:每个项目创建时自动分配独立 UUID,快捷按钮使用项目 UUID 精确匹配,删除项目时自动清理对应的快捷按钮
- 弹出面板关闭主窗口时自动同步关闭所有副面板
修复
- 修复消息总线重复订阅导致内置项目弹出多个窗口的问题
- 修复弹出面板中无法打开自定义项目的问题
- 修复弹出面板中选中文件无法在编辑器中打开的问题
- 修复弹出面板中 Ace 编辑器因 Blob URL 路径加载 worker 报错的问题
- 修复插件删除后 autoStartPlugins 未同步清理的问题
- 修复拖拽面板时拖拽幽灵显示面板名称文本的问题
- 修复快捷按钮右键"加载项目"调用不存在的 API 导致报错的问题
- 修复启动文件选择器点击取消仍会保存映射的问题
- 修复快捷按钮 HTML 项目调用未定义的函数的问题
- 修复暗色模式下文件树悬浮文字对比度不足的问题
- 修复关闭顶部标签再点击空白区域导致项目被关闭的问题
2.6.6
新增
- HTML 弹出预览功能:支持在独立窗口中预览 HTML 项目,右键菜单增加"弹出预览"选项
- 脚本导出功能:文件树右键菜单支持导出单个 .js 脚本文件
- 启动项管理:支持脚本选择启动时机(onStartupFinished、onActivated 等)
- 新建脚本时可选是否第一行带文件名注释
- 补全仓库增加悬浮对比色,提升视觉识别度
优化
- 文件树 UX 优化:
- 点击文件夹名称即可展开/折叠,增大点击面积
- 选中文件夹时展开图标变为高对比度颜色,防止被背景遮挡
- 编辑器设置项交互优化:补全模式标签可点击切换,提升易用性
- 顶部菜单映射优化:
- 改为 UUID 严格匹配机制,避免重名冲突
- 数据库结构升级(v2),新增 uuid 和 projectId 字段
- 支持同名脚本重复映射检测
- 插件启动方式优化:使用隐藏 iframe 异步执行,避免阻塞主流程
- 快捷键页面交互优化:更合理的表单布局和操作反馈
- 补全仓库细节优化:更好的视觉效果和交互体验
更改
- 布局调整:优化预览示例和其他 UI 元素的布局
修复
- HTML 资源引用修复:JS/CSS 文件未以内联方式引用导致页面渲染异常
- 暗色模式修复:选中色和文字颜色相近导致看不清的问题
- 代码高亮修复:打开 HTML 窗口后再打开 JS 窗口代码不高亮
- 窗口同步修复:重命名文件后窗口名和文件名不同步
- 标签页修复:某些情况下关闭标签页导致错误复制
- CSS 样式修复:统一样式,修复渲染异常问题
2.6.5
修复
- 修复某些情况下关闭标签页导致标签错误复制的问题
- 修复CSS样式不统一导致某些情况下渲染异常的问题
2.6.4
修复
- 修复带注释补全的换行符问题
- 带注释补全与随机分配变量现在可兼容同时启用,注释在前,随机变量在后
- 修复编辑器选中区域高亮颜色与当前行高亮混淆的问题,选中区域现为半透明蓝色
更改
- 光标定位逻辑简化,直接从编辑器读取行内容查找等号位置,提高多行场景下的准确性
2.6.3
新增
- 插件管理面板支持启用/禁用开关,可控制启动时是否自动加载
- 插件管理面板新增重命名功能
- 编辑器选中行背景色自定义,同步影响选中文本和当前行高亮
- 设置-快捷键页改为可交互表单,点击输入框直接按下组合键即可修改,支持保存/恢复默认
更改
- 文件右键菜单「保存到启动项」更名为「保存为插件」,同名插件保存时询问是否覆盖
- 移除设置面板中重复的 AI 配置页(Copilot 面板已有独立入口)
- 插件管理从简单列表升级为完整面板:每项含开关、重命名、加载、删除按钮
- 颜色选择器读取逻辑重写,支持
#rgb/#rrggbb/rgb()/rgba()格式,容错回退 - 二级菜单字号从 14px 统一为 12px
修复
- 修复 颜色修改报错
- 修复 插件开关状态不持久化的问题
优化
- IndexedDB ExtStore 迁移至 v2,新增
enabled字段,旧数据自动兼容 ExtStore_LoadAndRunAllPlugins仅执行启用状态的插件- 快捷键编辑时自动禁用全局快捷键,防止冲突
2.6.1
新增
- AI 配置支持多方案切换,可保存多组 API Key / Base URL / Model / Temperature 配置并按需切换
- 新增 Temperature 数字输入框,替代硬编码值
- 新增第三套主题"黑底白图",编辑器暗色 + UI 面板亮色
- CSS 变量化主题引擎,三套内置预设 + 自定义主题实时编辑,色盘/HEX 输入框同步修改即时生效
- 内置项目单击直接打开 index.html 预览,双击关闭侧边栏并渲染;取消右键复制功能
- 添加加载画面,主题初始化完成后淡出隐藏
- AI 配置保存成功/代码删除成功吐司提示
更改
- 主题系统从双 CSS 文件切换改为 CSS 变量 + JS 引擎驱动,统一 EDA 设计风格
- 按钮统一为品牌蓝白色,删除/危险按钮不再使用红色
- 全部原生弹窗替换为吐司非侵入式提示
- 删除已保存代码增加确认弹窗,去掉按钮点击时的警告吐司
- AI 编程按钮移至工具栏右侧,改名为 Copilot
- AI 配置弹窗布局改为标签与输入框同行排列,字号统一
- 设置页面增加 overflow 滚动支持,修复布局溢出问题
- Temperature 从滑块改为数字输入框,移至预设名称下方
- 预设名称改为直接输入保存,去掉多余的改名按钮
- 去掉自定义主题的保存按钮,色盘修改实时生效
修复
- 修复设置面板 isDark 检测依赖已删除 DOM 元素导致的空指针
- 修复 ACE_Config.js GetTheme/SetTheme 访问 null.disabled 崩溃
- 修复脚本加载顺序导致 ThemeEngine 未定义
- 修复 Ai_Chat.js defaultConfig 中 temperature 引用 chatConfig 导致的 TDZ 错误
- 修复设置面板滚动条未适配主题颜色
- 修复颜色选择器仅修改value未修改text导致的三位 hex 值显示为黑色的问题
- 修复删除代码确认框回调格式错误
- 移除 Theme_Engine.js 与 ACE_Config.js 中重复的 GetTheme/SetTheme 定义
- 移除 Ai_Chat.js 中未使用的 populateFields 死代码
- 修复内置项目 index.html 资源引用不内联导致加载失败
2.5.2
优化
- 修正部分文案,改为更明确的报错原因提示
- 增加MD语法渲染
- 更宽容的文件解析格式,尝试以不同的格式解析文件
- 变更LOGO图像
2.5.1
更改
- 变更LOGO图像
- 修正部分文案
2.4.8
新增
- 增加内置项目功能,ext 文件夹下的项目将作为只读示例项目展示,用户可复制到自己的项目中编辑
- 增加基于工作流的可视化插件开发方式(积木大师 beta),支持拖拽式流程设计和代码生成
- 增加代码补全自动聚焦第一个参数功能,选择补全后自动选中第一个参数便于快速替换
- 增加多路分支、条件判断等流程控制模块,丰富工作流编辑能力
- 增加支持整个项目保存为快捷按钮,支持导出整个项目文件
- 增加允许导入本地文件夹并生成项目
优化
- 修复代码生成器生成的代码无法正常运行的问题
- 修复部分组件切换主题异常的问题
- 修复补全不聚焦的问题
- 完成部分文案的修正,统一界面语言风格
- 修复 CSS 层级错误导致的遮罩层异常问题
- 拆分启动项的添加入口到"文件"的二级菜单下,优化菜单结构
- 优化颜色样式,提升视觉体验
- 修复第一次打开面板的 CSS 异常问题
- 修改宽高输入框的 hint 为当前宽高,增强提示
- 优化鼠标右键的使用方式
- 减小插件体积,删除未用到的依赖
文档
- 更新 README 文档,增加开源依赖清单和许可证合规性说明
- 新增工作流插件开发方式的截图和说明
- 新增 HTML 在线预览功能的截图说明
2.4.7
优化
- 增加项目级插件开发能力,允许在编辑器中以工程的形式进行插件开发,并配合SDK快速生成插件
- 增加常用代码库,可以通过点击快速调用
- 新增html语法解析,并支持直接引用同级项目下的js文件
- 优化性能,提升使用体验
2.4.6
优化
- 修复AI编程模块中 README文档不渲染的问题
- 增加快捷键设置,现在你可以给任意函数配置快捷键了
2.4.5
优化
- 修复输入不符合要求的宽高导致页面卡死的问题
- 优化部分输入体验
2.4.4
优化&新增
- 对现有模块进行分类整合,部分内容转移到二级菜单
- 增加"设置"选项,增加单独的设置页面,允许设置窗口尺寸,主题,补全方式等
2.4.3
优化
- 增加区分方法所属工作区
- 增加AI自动生成指定API的测试用例
- 增加自定义补全参数
2.4.1
优化
- 解除20条的显示限制,展示所有补全条目
- 动态适配新的上游依赖
2.3.2
优化
- 优化构建逻辑,适配新的上游依赖
- 更新新版API文档的映射
2.3.1
新增
- 新增过渡性弹窗动画
- 增加vibe coding 支持open ai格式的API调用
优化
- 修改弹窗配色,统一风格
2.2.2
新增
- 新增封装工作区扩展支持
优化
- 增加对更多EDA版本的支持以实现自动更新
2.2.1
优化
- 删除了编辑器的滚动条
- 修复了引入资源路径错误导致的报错
2.1.4
优化
- 优化补全自动注释
- 优化补全自动空格
- 更全的工作区支持
- 修改部分亮色背景适配EDA风格
新增
- 增加代码格式化
2.1.3
新增
- 现在支持直接在编辑器中调用异步函数而不需要定义async或链式调用了
2.1.2
新增
- 新增主窗口支持最大化和最小化
- 新增Ctrl+S触发保存
- 新增更友好的AI辅助提示
- 新增支持自动缓存上次内容(某次忘记保存导致半小时白干才想起来需要这个)
- 新增支持导出当前代码为JS
2.1.1
新增
- 支持Ctrl+H进行替换和Ctrl+F进行搜索
修改
- 修改增加到列表的触发方式改为直接触发
1.12.5
新增
- 新增支持快捷导入JS文件格式
- 新增插件仓库,支持将代码保存为插件,加载时自动启动
- 新增右键菜单,对于已经注册的代码,支持右键跳转到嘉立创EDA文档地址
修改
- 修改部分提示为中文
- 修改构建脚本,构建的代码补全库新增"return"字段
- 修改补全文档解释,增加返回值提示,增加无参数提示
1.12.4
新增
- 新增补全项中带参数注释
- 优化npm run dev 中构建的文件带参数注释
1.12.3
修改
- 变更扩展名称、扩展描述、扩展信息等内容
1.12.2
新增
- 新增支持保存代码为左侧快捷按钮
修改
- 修改了按钮布局
- 修复了indexDB冲突导致的一些BUG
1.12.1
新增
- 新增支持代码的增删改查操作
- 新增两种主题风格的切换
- 新增了一个AI后端集成拓展包
- 新增快捷跳转嘉立创EDA扩展广场
1.0.0
初始版本

Type
Keyword
Extension Info
| Version | v2.6.8 |
| Author | 嘉立创EDA |
| Published at | 2026-06-26 08:57:04 |
| Name | eext-api-debug-tool |
| UUID | 7ca98ae04b7142599ab107e34acc8e5e |
| Works with | >=3.1.59 |
| Report | Report abuse |
Comment