使用node开发一个解放双手的小工具《二》- vsCode插件包装

背景:此篇是上篇《使用node开发一个解放双手的小工具》的后续,前边遗留了一些问题,最近完善了一下。

因为发现实际使用起来,有很多的不方便:

  1. 使用上,需要配置对应的根目录,因为是需要用户手动修改config中的地址,这时目录就有可能有问题,不是根目录、路径不完整之类的。
  2. 工具本身,提交到git上,需要拉下来,然后再工具的对应目录下运行,去生成对应目录下的文件。操作起来有点奇怪。

索性直接搞成vsCode插件么,现在前端开发应该对vscode这么熟悉,它自带的插件本身使用起来就很方便。而且在vsCode中使用,也比直接运行项目看起来更优雅。

于是开始百度vsCode插件编写,《VSCode插件开发全攻略》小茗同学的这篇攻略,真的是很详细了,所以关于vsCode发布相关的东西,我这里就不详细介绍了。

目录结构

├─.eslintrc.json
├─.gitignore
├─.vscodeignore
├─CHANGELOG.md
├─extension.js
├─jsconfig.json
├─LICENSE
├─package-lock.json
├─package.json
├─README.md
├─vsc-extension-quickstart.md
├─test
|  ├─runTest.js
|  ├─suite
|  |   ├─extension.test.js
|  |   └index.js
├─src									核心替换代码
|  ├─app.js
|  ├─config.js
|  ├─package.json
|  ├─util
|  |  └index.js
|  ├─template
|  |    ├─baseRepart                  模板目录
|  ├─image
|  |   └doge.jpg

改造思路

核心代码其实已经写好了,只要vsCode相关事件能触发我的生成方法就可以了。目前是这样想的:在用户右键要生成的目录,弹出可选择的按钮,点击之后调用创建模板的函数,因为是直接选择了对应目录,所以就可以获取到目录的路径,也解决了需要手动输入路径的问题。

// extension.js
// vsCode中注册一个 createTem事件。
    let createTem = vscode.commands.registerCommand('hhcreatepage.createTem',  (uri) => {
        vscode.window.showInformationMessage(`创建模板 当前路径:${uri.path}`);
        try {
            // 调用主方法
            createTemFun(uri._fsPath)
            console.log('执行成功')
        } catch (error) {
            console.log(error)
            vscode.window.showErrorMessage(error);
        }
    });

    context.subscriptions.push(createTem);

// package.json中 配置相关菜单和点击事件
	"contributes": {
		"commands": [
			{
				"command": "hhcreatepage.createTem",
				"title": "create-template"
			}
		],
		"menus": {
			"explorer/context": [
				{
					"command": "hhcreatepage.createTem",
					"group": "z_hh-create"
				}
			]
		}
	},

其实关于vsCode的东西非常少,只是相当于在外边套了一个壳子。传入了项目路径,之后的东西还是原来的模板生成。之后,将vsCode打包并发布到应用市场就可以了,发布相关的东西,参考上边教程链接

目前问题与后续计划

  1. 目前只能要求用户知道对应的目录(src的上级目录),选中了这一级才能生效,不然还是有问题(因为没找到用代码控制菜单显示隐藏的方法)
  2. 模板还是比较单一的,并不能控制生成代码是选择哪一个模板去生成。

虽然目前功能还是比较单一,但是也解决了目前的刚需问题。后边的优化,可以慢慢搞。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值