背景

我的项目中须要一份json配置文件,这份配置文件的某些字段是根据另外的一个typescrip文件export进去的字段,为了升高编码过程中造成的字段名出错的机率。

因而,思考开发一个插件用于:

  • json文件中主动补全fn name
  • jaon文件到typescript文件的自定义跳转
  • json文件中谬误波浪线智能提醒(当typescript文件没有export该字段时显示波浪线)

插件成果:

实现

我的项目源码

主动补全

跳转到定义

智能诊断&提醒

关键点:应用json-to-ast将json文件转化为AST

一些踩坑

  1. 公布插件时执行vsce publish时报错ERROR Failed request: (401),生成的personal access token权限弄错了,应该选Full access

  1. 公布插件时报错:ERROR Make sure to edit the README.md file before you package or publish your extension -- 批改一下工程外面的README.md文件(原来的文件删除&重写)
  2. 应用地址创立publisher账号始终不胜利 -- 网络被限度了(迷信上网真香)
  3. 插件在本地开发环境下能够运行,公布到线上没有响应(也没有报错)

    通过排查,我的项目中应用了一些npm库,然而公布插件时应用了tsc来编译,这种状况下node_modules外面一些npm库的代码是没有被编译进去的。须要引入webpack来进行打包&编译

参考

  • VS Code插件开发全攻略
  • VS Code Document
  • Some demo