背景
我的项目中须要一份 json 配置文件,这份配置文件的某些字段是根据另外的一个 typescrip 文件 export
进去的字段,为了升高编码过程中造成的字段名出错的机率。
因而,思考开发一个插件用于:
- json 文件中主动补全 fn name
- jaon 文件到 typescript 文件的自定义跳转
- json 文件中谬误波浪线智能提醒(当 typescript 文件没有 export 该字段时显示波浪线)
插件成果:
实现
我的项目源码
主动补全
跳转到定义
智能诊断 & 提醒
关键点:应用 json-to-ast
将 json 文件转化为 AST
一些踩坑
- 公布插件时执行
vsce publish
时报错ERROR Failed request: (401)
,生成的 personal access token 权限弄错了,应该选Full access
- 公布插件时报错:
ERROR Make sure to edit the README.md file before you package or publish your extension
— 批改一下工程外面的README.md
文件(原来的文件删除 & 重写) - 应用地址创立 publisher 账号始终不胜利 — 网络被限度了(迷信上网真香)
-
插件在本地开发环境下能够运行,公布到线上没有响应(也没有报错)
通过排查,我的项目中应用了一些 npm 库,然而公布插件时应用了
tsc
来编译,这种状况下node_modules
外面一些 npm 库的代码是没有被编译进去的。须要引入webpack
来进行打包 & 编译
参考
- VS Code 插件开发全攻略
- VS Code Document
- Some demo