选javascript,因typescript需额外配置tsconfig.json、类型声明和编译路径,而简单功能用原生js即可;yo code生成后直接修改extension.js,保存即生效,调试支持断点和console.log。

能直接用 yo code 生成可运行插件,5 分钟内完成从零到弹窗,不需要改配置、不依赖外部服务、不写构建脚本。
用 yo code 初始化项目时选 JavaScript 还是 TypeScript?
选 JavaScript。TypeScript 需额外配 tsconfig.json、装类型声明、处理编译输出路径,而绝大多数简单功能(比如替换文本、弹窗、读取当前文件)用原生 JS 就够了。生成后直接改 extension.js,保存即生效,调试时断点、console.log 全都可用。
- 如果选 TypeScript,
npm run compile或自动构建必须跑通,否则 F5 启动会报Cannot find module './extension' - package.json 中的
"main"字段必须指向真实存在的 JS 文件,不是.ts源码 - 新手容易卡在“写了 TS 却没编译”或“编译后路径不对”,纯 JS 绕过所有这类问题
注册命令后为什么 Ctrl+Shift+P 找不到?
两个硬性条件缺一不可:activationEvents 声明 + contributes.commands 注册。只写 registerCommand 不生效,只配 JSON 也不触发。
-
activationEvents必须包含对应命令,例如"onCommand:myExtension.sayHello",VSCode 启动时不会加载插件,直到这个命令被调用 -
contributes.commands里的command字符串必须和registerCommand第一个参数完全一致,大小写、中划线都不能错 - 改完
package.json后必须重载窗口(Ctrl+Shift+P→Developer: Reload Window),否则新命令不进命令面板
F5 调试时弹出新窗口但插件没反应?
常见原因是 VSCode 版本与 package.json 中 engines.vscode 不匹配,或者插件没真正激活。
- 检查你本地 VSCode 版本(
Help → About),确保package.json里"vscode": "^1.80.0"这类值 ≤ 你当前版本;比如你用的是 1.78,就别留 ^1.80.0 - 在
extension.js的activate函数开头加一句console.log('activated'),打开开发者工具(Help → Toggle Developer Tools)看控制台有没有输出 - 如果没输出,说明插件根本没激活——大概率是
activationEvents配错,或命令 ID 拼写不一致
最简路径就是:Node.js ≥ 18 → npm install -g yo generator-code → yo code(选 JavaScript)→ 改 extension.js 里那行 showInformationMessage → F5 → Ctrl+Shift+P 输入命令名。中间任何一步失败,优先查版本号、拼写、是否重载窗口——这些才是卡住 90% 新手的真实节点。











