بنقرة واحدة
easyeda-extension-debugging
// Use when debugging 嘉立创EDA extensions, using the runtime eda object, testing logic with independent scripts, loading IFrame windows, recovering from broken extensions, or explaining API stability rules.
// Use when debugging 嘉立创EDA extensions, using the runtime eda object, testing logic with independent scripts, loading IFrame windows, recovering from broken extensions, or explaining API stability rules.
Use when packaging, auditing, or preparing a 嘉立创EDA / EasyEDA extension for submission, including extension.json completeness, icon requirements, entry validation, README and CHANGELOG checks, privacy review, and pre-release packaging readiness.
EasyEDA Pro API skill for AI agents. Use when working with EasyEDA Pro EDA software, including PCB design, schematic editing, footprint/symbol management, and project operations. Supports live debugging in EasyEDA and EasyEDA extension development. Provides complete API reference (120+ classes, 62 enums, 70 interfaces), extension-development documentation, and a WebSocket bridge server to execute code in the running EasyEDA Pro client. Trigger on: "嘉立创EDA,启动!", "立创EDA,启动!", "EDA,启动!", "EasyEDA", "PCB", "schematic", "footprint", "EDA", "circuit board", "嘉立创EDA", "原理图", "PCB设计". **IMPORTANT**: 嘉立创EDA's English name is **EasyEDA**. They are the SAME product. Never use other transliterations like "EasyEDA Pro" (unless specifically versioned), "EASYEDA", "easyeda", etc. Always use "EasyEDA" for English references and "嘉立创EDA" for Chinese references.
Use when designing, implementing, or reviewing EasyEDA extensions that involve IFrame windows, cross-context communication, runtime eda access, resource packaging, and API invocation boundaries.
Use when creating a new EasyEDA extension from a proven menu plus registerFn plus IFrame template, especially when you want a copyable host entry, iframe page structure, and direct eda API usage pattern inspired by the generate-silkscreen demo extension.
Use when creating or reviewing a 嘉立创EDA extension manifest, writing extension.json, configuring headerMenus, or wiring registerFn exports for EasyEDA extensions.
| name | easyeda-extension-debugging |
| description | Use when debugging 嘉立创EDA extensions, using the runtime eda object, testing logic with independent scripts, loading IFrame windows, recovering from broken extensions, or explaining API stability rules. |
This skill focuses on extension runtime behavior, debug entry points, IFrame windows, failure recovery, and API stability. Use easyeda-api for detailed API references.
| Goal | Best choice | Why |
|---|---|---|
Verify menu wiring, packaging, registerFn, or IFrame | Real extension runtime | These depend on packaged extension behavior |
| Try pure API logic quickly | Independent script | Faster than rebuild and upload |
| Build a custom window | IFrame inside a real extension | UI assets and extension resources are involved |
| Context | What it is good for | Important limit |
|---|---|---|
| Extension runtime | Real packaged behavior | Requires build + upload cycle |
| Independent script | Fast logic experiments | Some APIs such as SYS_IFrame are unavailable |
| IFrame window | Fully custom UI inside an extension | Resource loading is not recursive |
Think of this as workshop mode versus showroom mode: independent scripts are the workbench for quick experiments, while packaged extensions are the real shipped product.
eda Access Ruleseda objecteda object each runeda + instantiated object name + method or property_, lowercased, for example SYS_I18n -> sys_I18nExample:
eda.sys_ToastMessage.showMessage(
eda.sys_I18n.text('Done'),
ESYS_ToastMessageType.INFO,
);
cll=debugF12Console first, then verify the expected extension behaviorBrowser editor debug mode:
https://pro.lceda.cn/editor?cll=debug
F12F12 three times quicklyClient debug mode:
window.location.href = 'https://client/editor?cll=debug';
Use independent scripts when you want to test logic without rebuilding the full extension package.
顶部菜单 -> 设置 -> 扩展 -> 独立脚本顶部菜单 -> 高级 -> 运行脚本LocalStorage or IndexedDBCommon limit:
SYS_IFrame to work inside an independent scripteda object when neededRecommended structure:
/iframe/eda.sys_IFrame.openIFrame('/iframe/index.html', 500, 500)Use IFrame when built-in dialogs are too constrained and you need a fully custom window.
eda.sys_IFrame.openIFrame(...) from the real extension runtime/iframe/If a broken extension corrupts menus, covers the UI, or prevents uninstall, disable extensions and scripts globally with:
https://pro.lceda.cn/editor?safetyMode=true
Client entry:
window.location.href = 'https://client/editor?safetyMode=true';
Need both safety mode and debugging:
https://pro.lceda.cn/editor?safetyMode=true&cll=debug
This is a safe startup mode, not a permanent platform setting. Use it to regain control, remove or repair the broken extension, then reopen the editor normally.
major: breaking API changes or changed behavior that may require extension updatesminor: new APIs and most bug fixes; extensions on newer 嘉立创EDA builds can use them automaticallypatch: urgent fixes, tiny changes, and documentation updatesBusiness value: this versioning model tries to balance fast feature delivery with extension reliability, so published extensions do not break every time the editor evolves.
SYS_IFrame to run from independent scriptseda is shared across runssafetyMode=true when a bad extension blocks the normal uninstall patheasyeda-extension-manifest for extension.json, headerMenus, and registerFneasyeda-api for API classes, enums, interfaces, and bridge-based execution