vscode插件快餐教程(10) - 设置

本文详细介绍如何在VSCode插件中读写配置项,包括使用getConfiguration()获取配置、update()更新配置以及在package.json中添加自定义配置项的方法。同时讲解了配置项的优先级和默认值设定。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

vscode插件快餐教程(10) - 设置

在插件中,根据用户的环境和个性化的不同,需要增加一些配置项。

读写配置项

可以通过vscode.workspace.getConfiguration()方法来获取所有的设置项。

let config: vscode.WorkspaceConfiguration = vscode.workspace.getConfiguration();

设置项可以分类,可以指定某一类前缀,来获取这一类的所有属性,例:

let config2: vscode.WorkspaceConfiguration = vscode.workspace.getConfiguration('launch');

获取的配置对象将包括:launch.configurations:Array和launch.compounds等子项。

取得到全部或者分类之后,就可以根据名称来通过get方法来读取配置项的值了:

例,我们读取一个tab等于多少个空格的选项:

	let editorConfig: vscode.WorkspaceConfiguration = vscode.workspace.getConfiguration('editor');
	let tabsize = editorConfig.get<number>('tabSize');

同样,我们可以通过WorkspaceConfiguration的update方法来更新配置项,例:

	editorConfig.update('tabSize',4);

添加自己的配置项

在package.json中,contributes下通过configuration来添加设置项,例:

	"contributes": {
		"configuration": {
			"title": "BanmaOS CodeComplete Configuration",
			"properties": {
				"banmaos.enableCodeCompletion": {
					"type": "boolean",
					"default": false,
					"description": "Whether to enable AliOS code completion"
				},
				"banmaos.codeCompletionServer": {
					"type": "string",
					"default": "",
					"description": "Server list for code completion"
				}
			}
		}
	}

运行后打开settings,显示出来是这个样子的:
settings

指定缺省值

自己设置的配置项可能都设了默认值,但是如果是依赖别人的配置项,可能因为环境不同就没有这个项目。这时有三个解决方案:

  1. 假设存在,然后判断undefined
  2. 先用has方法判断下存不存在
  3. 指定一个默认值, get方法的第二个函数就是干这个的:
let whatisthis = editorConfig.get<string>('notExisted',"Unknown value");

因为这个项目就是没定义,所以返回值为Unknown value。

值的优先级

在目前的版本中,配置项的值有4种:默值值、全局值、工作区值、工作区目录值。
除了默认值不能改之外,其他三个值的类型叫做ConfigurationTarget,分为Global,Workspace和WorkspaceFolder三种。
前面讲到的update方法的第三个参数就是ConfigurationTarget值。可以直接指定ConfigurationTarget,也可以给一个布尔值,true表示Global,false表示Workspace。如果为空或者undefined,则优先选WorkspaceFolder,如果不适用则自动适配为Workspace.

例:带有ConfigurationTarget的更新:

	editorConfig.update('tabSize',4, vscode.ConfigurationTarget.Global);
	editorConfig.update('tabSize',4, true);

值这么多有点乱哈,所以vscode为我们提供了一个方法去检查这个配置项的所有值,即inspect方法。我们看个例子:

console.log(editorConfig.inspect<string>('tabSize'));

输出的对象类似这样:

key:"editor.tabSize"
defaultValue:4
globalValue:4
workspaceValue:4
### 配置和自定义VSCode编辑器的设置 #### 设置基本配置选项 Visual Studio Code 支持通过图形界面和JSON文件两种方式进行配置。对于一些常见的自定义配置选项,可以通过点击左下角齿轮图标中的`Settings`来打开设置页面,在这里可以根据个人喜好和工作流程进行调整[^1]。 #### 使用 JSON 文件修改高级配置 除了图形化界面外,还可以直接编辑 `settings.json` 文件来进行更深入的定制。此文件位于命令面板(可通过按 `Ctrl+Shift+P` 打开)中选择 "Preferences: Open Settings (JSON)" 路径之下。在这里可以添加各种参数来自定义环境,比如更改字体大小、启用特定功能等。 ```json { "editor.fontSize": 14, "workbench.colorTheme": "Default Dark+" } ``` #### 动态更新配置项 为了实现动态地改变某些配置属性而无需重启应用程序,可利用 API 函数 `vscode.workspace.getConfiguration().update()` 来完成这一目标。例如,下面这段 JavaScript 代码展示了如何切换插件提示显示状态: ```javascript const configuration_showTip = vscode.workspace.getConfiguration('vscodePluginDemo').get('showTip'); await vscode.workspace.getConfiguration().update('vscodePluginDemo.showTip', !configuration_showTip, true); ``` 上述代码片段会获取当前名为 `vscodePluginDemo` 的扩展程序下的 `showTip` 属性值并将其反转保存回去[^2]。 #### 自定义代码片段 创建专属自己的代码模板也是提高效率的好办法之一。要向项目里加入新的代码片段,则需按照如下路径操作:先点击左侧活动栏底部的小齿轮按钮 (`⚙️`) ,接着依次选取 “Snippets”,再指定语言对应的 `.json` 文件名如 `vue.json` 或者新建其他类型的文件;最后就可以在里面编写想要快速插入的内容了[^3]。 #### 定制用户体验细节 进一步优化日常使用的体验方面,有多种方法可供尝试。例如,防止标签页自动替换的问题可以通过相应设置解决。另外还有诸如调整缩放比例等功能也十分实用,用户能够依据需求设定适合自己的快捷组合键以便迅速调节视窗内的文字尺寸[^4]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Jtag特工

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值