We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
将几个组件提取到公共组件之后, 开发效率从2小时开发一个基本的后台CRUD模块,提高到了不到 1 小时就能完成。于是,日常的开发就变成了 复制,粘贴,修改表单 fields,增加Router,增加对应菜单的权限key。然后一套写下来差不多 30,40分钟的样子,在暗自窃喜自己又提高了开发效率的一周后,突然感觉到了一阵的空虚,索然无味。重复的创建相同的文件夹,重复的修改文件name,重复的写相似的Router,简直让我感觉到崩溃 这重复的劳动,能不能一键就生成了,我只关注于业务代码的逻辑跟质量,行否? 这念头一起,瞬间四肢百骸 涌起一阵阵的波动,这,这,这,难道便是新的境界?
fields
Router
key
name
背景
目标
Page
PageName
model
namespace
index.js
export
configs
Layout
VSCode
官方文档
在充分了解了各个项目的情况之后,选择使用VSCode 插件扩展的方式,去实现这一次的功能。
官方的文档对开发扩展有详细的文档说明,所以下面就大概提一下
环境安装
npm i -g yo generator-code // 官方插件开发脚手架 yo code // 执行脚手架命令
根据步骤创建一个New Extension
New Extension
这边选的是JavaScript,所以下文都是JavaScript的
JavaScript
这个新建的Hello Word扩展,点击调试,就能运行了,这里需要注意的是 package.json 中vscode的版本
Hello Word
package.json
vscode
打包成.vsix文件
.vsix
npm i -g vsce vsce vscode-plugin-demo
如果没有vscode的 Access Token需要申请一个 vscode 推送准备
Access Token
Node.js
由于 VSCode 的扩展里面,内置了 Node.js ,所以 fs 模块就能直接用了
fs
遇到的问题,以及解决
本来想直接使用 inquirer 这个交互式工具去完成的,结果直接写 命令调用是没用的,需要通过 VSCode 提供的 vscode.window.createTerminal 的命令去创建一个终端,执行自己的 shell 代码。在查看API的过程中,发现可以直接利用input弹框获取输入值,所以就用弹框的形式了
inquirer
vscode.window.createTerminal
shell
API
input
在创建文件夹的时候,需要获取 项目的根路径 ,当时还折腾了下,都不太满意,没想到VSCode里面就直接有命令可以使用获取到。
项目的根路径
对Page/index.js文件内容进行添加操作的时候,需要获取对应的行数,进行添加。思考了下,将fs.readFile 读取出来的字符串以\r\n的方式进行数组分割,再匹配最后一个 export的位置,然后进行插入
Page/index.js
fs.readFile
\r\n
大概的操作
shelljs
cp
0
The text was updated successfully, but these errors were encountered:
No branches or pull requests
故事的起源
将几个组件提取到公共组件之后, 开发效率从2小时开发一个基本的后台CRUD模块,提高到了不到 1 小时就能完成。于是,日常的开发就变成了 复制,粘贴,修改表单
fields
,增加Router
,增加对应菜单的权限key
。然后一套写下来差不多 30,40分钟的样子,在暗自窃喜自己又提高了开发效率的一周后,突然感觉到了一阵的空虚,索然无味。重复的创建相同的文件夹,重复的修改文件name
,重复的写相似的Router
,简直让我感觉到崩溃这重复的劳动,能不能一键就生成了,我只关注于业务代码的逻辑跟质量,行否?
这念头一起,瞬间四肢百骸 涌起一阵阵的波动,这,这,这,难道便是新的境界?想法
背景
目标
Page
文件中的PageName
model
文件 中的namespace
Page
目录下的index.js
文件中export
创建的文件configs
文件中,新增对应的权限key
Layout
目录下新增对应的Router
调研
VSCode
插件扩展官方文档
在充分了解了各个项目的情况之后,选择使用
VSCode
插件扩展的方式,去实现这一次的功能。环境安装
根据步骤创建一个
New Extension
这个新建的
Hello Word
扩展,点击调试,就能运行了,这里需要注意的是package.json
中vscode
的版本打包成
.vsix
文件如果没有
vscode
的Access Token
需要申请一个 vscode 推送准备Node.js
开发准备由于
VSCode
的扩展里面,内置了Node.js
,所以fs
模块就能直接用了遇到的问题,以及解决
本来想直接使用
inquirer
这个交互式工具去完成的,结果直接写 命令调用是没用的,需要通过VSCode
提供的vscode.window.createTerminal
的命令去创建一个终端,执行自己的shell
代码。在查看API
的过程中,发现可以直接利用input
弹框获取输入值,所以就用弹框的形式了在创建文件夹的时候,需要获取
项目的根路径
,当时还折腾了下,都不太满意,没想到VSCode
里面就直接有命令可以使用获取到。对
Page/index.js
文件内容进行添加操作的时候,需要获取对应的行数,进行添加。思考了下,将fs.readFile
读取出来的字符串以\r\n
的方式进行数组分割,再匹配最后一个 export的位置,然后进行插入大概的操作
shelljs
命令,cp
模板文件,放到对应的文件路径下面,判断文件是否存在,给出提示。Node.js
的fs
模块,去读写文件。然后修改文件名,增加对应的语句等...结语
VSCode
开发扩展极其的方便,几乎是0
学习成本VSCode
扩展里。比如扩展公共组件的 参数提示之类的。The text was updated successfully, but these errors were encountered: