VSCode插件设置开发Configuration

部署运行你感兴趣的模型镜像

VS Code 插件Setting开发

优先级

在进行设置项开发时认真阅读设置优先级相关的内容 (Visual Studio Code User and Workspace Settings)。

什么是 “workspace”

官方解释链接 What is a VS Code “workspace”,相关API的使用会用到工作区的概念,建议看文档,官方对于工作区的定义。

一般情况下一个VS Code 实例(窗口)打开一个文件夹,根据需求一个VS Code实例(窗口),可使用高级配置 Multi-root workspaces 多根工作区来包含多个文件夹。

打开多个工作区文件夹方式:File -> Add Folder to Workspace

设置值的存储

全局设置项的值存储位置

Windows: %APPDATA%\Code\User\settings.json

工作区空间设置项的存储
  1. 只有一个工作区空间文件夹时,设置项保存在 .vscode/settings.json
  2. 存在多个工作区空间文件夹时,设置项保存在 <***>.code-workspace 中

在设置页面对设置项重置时,其值会从对应的的 .json 文件中进行移除

在package.json配置设置项

"configuration": {
  "title": "PyReloader",
  "properties": {
    "aa.bb.cc.dd": {
      "type": "string",
      "default": null,
      "scope": "window",
      "markdownDescription": "示例"
    },
  }
}

所示 aa.bb.cc.dd 就是一个设置项,设置项由字符串组成,用.分割,分割成若干部分。

设置的适用范围

package.json中通过scope字段控制设置项的适用范围

官方文档

  • machine: 只能在用户设置或远程设置中配置的配置。
  • application: 只能在用户设置中配置的配置
  • language-overridable: 可以在特定于语言的设置中配置的资源配置
  • machine-overridable: 可在工作区或文件夹设置中配置的机器配置。
  • resource: 可以在用户、远程、工作空间或文件夹设置中配置的配置。
  • window: 可以在用户、远程或工作区设置中配置的配置。

读取设置项,get、inspect方法

配置示例

  "properties": {
    "aa.bb.cc.dd": {
      "type": "string",
      "default": null,
      "markdownDescription": "示例"
    },
  }
get方法

通过官方API

export function getConfiguration(section?: string, scope?: ConfigurationScope | null): WorkspaceConfiguration;

参数

section: 设置项,以.分隔的标识字符串,可以是设置项分隔后的一部分

scope: 设置项的适用范围

返回值: WorkspaceConfiguration 对象

const setting = vscode.workspace.getConfiguration(“aa.bb”, undefine);

setting包含一个只读的对象 {cc: {dd: 100}}

通过setting可获取值 setting.get(“cc.dd”);

const setting = vscode.workspace.getConfiguration(“aa”, undefine);

setting包含一个只读的对象 {bb: {cc: {dd: 100}}}

通过setting可获取值 setting.get(“bb.cc.dd”);

get 方法使用注意

  1. 调用 getConfiguration 未指定配置适应范围时,get 方法将会按照从小范围到大范围依次获取值
  2. 在使用 getConfiguration、get时,指定适用范围没有生效(暂时没查到原因),依旧按照未指定适应范围的规则获取
    • 注意:在设置页面对设置项编辑器之后,如果没有重置其值,就算设置项的值与默认值相同也不是默认值
inspect方法

const configuration= vscode.workspace.getConfiguration(“aa.bb”, undefine);

configuration.inspect(“cc.dd”);

检查一个配置项的所有相关信息,包括默认值、全局值、工作区值、文件夹值和语言特定值。有一定限制,获取信息里面只能获取默认值,全局值、工作区值

对设置的修改

update(section: string, value: any, configurationTarget?: ConfigurationTarget | boolean | null, overrideInLanguage?: boolean): Thenable<void>;

修改工作区的设置项

const configuration= vscode.workspace.getConfiguration(“aa.bb”, undefine);

configuration.update(“cc.dd”, vscode.ConfigurationTarget.Workspace);

使用注意事项:

  1. 对于设置项的修改,指定适应范围有全局、工作空间、工作空间文件夹,对于工作空间有多个文件夹,无法指定对哪个工作区文件夹进行修改,修改的就是第一个工作区文件夹的值。
  2. 当使用设置类型为字符串时,且设置默认值为 null 之后,编辑过后内容然后输出内容,此时不是默认值,是一个空字符串

您可能感兴趣的与本文相关的镜像

ACE-Step

ACE-Step

音乐合成
ACE-Step

ACE-Step是由中国团队阶跃星辰(StepFun)与ACE Studio联手打造的开源音乐生成模型。 它拥有3.5B参数量,支持快速高质量生成、强可控性和易于拓展的特点。 最厉害的是,它可以生成多种语言的歌曲,包括但不限于中文、英文、日文等19种语言

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值