VSCodeExtension开发的踩坑记录

VSCodeExtension环境搭建

最近在捣鼓VSCode插件,作为一名后端工程师写这个工具有些不习惯,踩了几个坑记录一下。在开发之前需要看官方文档:

1. https://code.visualstudio.com/api/get-started/your-first-extension

2. https://github.com/microsoft/vscode-extension-samples/tree/main/helloworld-sample

就在Windows下安装相关依赖并开发组件就好,比较方便,插件也是跨平台的。

主要是两个命令:

1. npm install -g yo generator-code // 如果没有安装node.js则需要装一下

2. yo code //脚手架新建一个插件工程

坑1. Command xxx not found

按照脚手架的提示完成后,应该能创建好第一个最最简单的vscode插件,按下F5弹出一个新界面再按ctrl+shift+P 输入你的插件名称,找到运行即可。但是,这时可能会报错Command xxx not found.

那么很可能是依赖没有安装,在工程的terminal里执行 npm install 安装依赖,如下图所示:

如果npm install 命令执行不了则运行命令修改执行策略:Set-ExecutionPolicy RemoteSigned -Scope CurrentUser 然后再执行npm install.

坑2. 在extension.ts页面下按F5运行

这个在修改代码后经常会忘记。刚开始我不在extension.ts页面下按F5就会报错,或者同时打开多个文件时也会报错。后来发现是因为打开的文件有错误。

按F5运行扩展时,除了打开extension.ts文件外也可以同时打开多个文件,如果必须把其他文件关掉才能运行则说明其他文件有问题(红线标识)需要优化。

坑3. ContributesPoints Configuration

这个的作用就是可以在vscode的 Preference-->setings.json里面配置插件,不用写死在代码里。贡献点是您在软件包的贡献领域中发表的一组JSON声明。贡献点要扩展代码中的多种功能,例如认证、菜单、语言、配置、颜色等等。这里记录一下配置的用法。

在扩展的核心配置文件package.json中定义configuration,如下所示:

"configuration": {
	"title": "MyExtension",
	"properties": {
		"MyExtension.gitUrl": {
			"type": "string",
			"default": "git@11.2.3.4:Cloud/demo.git",
			"description": "The Git URL used by the extension."
		},
		"MyExtension.gitBranch": {
			"type": "string",
			"default": "main",
			"description": "The Git branch used by the extension."				
		}		
	}
}

那么对应的在settings.json中要像如下定义:

"MyExtension.gitUrl": "git_url": "git@172.18.8.210:leaf/tree.git",
"MyExtension.gitBranch": "master",
  

这种格式看起来有点散,可以这样定义(注意object类型!):

"configuration": {
            "title": "MyExtension",
            "properties": {
                "MyExtension": {
                    "type": "object",                    
                    "description": "The extension configuration used by the extension.",
                    "properties": {
                        "git_url": {
                            "type": "string",
                            "default": "git@172.18.8.210:CloudExplorer/java-demo.git",
                            "description": "Git repository URL used by the extension."
                        },
                        "git_tag": {
                            "type": "string",
                            "default": "v1.0.0",
                            "description": "Git tag used by the extension."
                        }
                    }
                }
            }
        }

那么对应在settings.json中的定义格式就如下所示:

"MyExtension": {
        "git_url": "git@172.18.8.210:leaf/tree.git",
        "git_tag": "v1.0.0",        
    }

可以更加需求选择定义格式。

另外,查看settings.json文件时,如果关于你的插件的部分代码是灰色的,说明插件没有激活,可以按下F5后在弹出的窗口查看它的settings.json,就会看到这部分代码是高亮的,这个弹出的窗口加载了你正在开发的插件。

最后,settings.json的右上角有个转换图标,点击可以转换成settings UI格式 。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值