背景
我的项目中须要一份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