如何解决如何使用扩展包更新vscode中的用户settings.json? 您可能要使用的预定义设置:
我已经开发了vscode extension
VSCodeWebDeveloperExperiencePack,现在我面临着其中一些冲突,例如turbo console
和deploy
,我为扩展页面上的配置,如下所示:
您可能要使用的预定义设置:
- 按
ctrl+shift+p
- 键入
settings
- 点击
Prefrences: Open settings (JSON)
以打开您的settings.json文件 - 添加以下几行设置:
"workbench.iconTheme": "material-icon-theme","workbench.colorTheme": "Atom One Dark","files.autoSave": "afterDelay","editor.fontFamily": "Fira Code","editor.fontLigatures": "","editor.formatOnSave": true,"editor.defaultFormatter": "esbenp.prettier-vscode","editor.fontSize": 16,"window.zoomLevel": 1,"sync.gist": "70a5fe700fe4e46aebdf678a5c1db398","typescript.preferences.importModuleSpecifier": "non-relative","local-history.exclude": [
"**/.history/**","**/.vscode/**","**/node_modules/**","**/typings/**","**/out/**","**/Code/User/**"
]
此外,还有一些keybindings
的配置,如下所示:
[
{
"key": "ctrl+shift+alt+l","command": "bookmarks.jumpToNext","when": "editorTextFocus"
},{
"key": "ctrl+alt+l","command": "-bookmarks.jumpToNext",{
"key": "ctrl+shift+alt+k","command": "extension.deploy.listen"
},"command": "-extension.deploy.listen"
}
]
但是我想让它成为现实,或者向用户显示选择configure automatically
的选择,单击它或安装扩展名后,它将所需的配置放入用户的settings.json。
我读了VScode,但是无法解决问题,例如,我确实将此问题添加到了我的ext-pack package.json
中:
"contributes": {
"configuration": {
"title": "VsCode Web Developer Experience","properties": {
"editor.fontSize": {
"type": "number","default": 22,"description": "this will changes the font settings"
}
}
}
}
解决方法
我已经根据 vscode 文档解决了这个问题,这里有一个你可以使用的例子:
- 将其放入
package.json
zpack-package.json:
"contributes": {
"commands": [
{
"command": "zpack.updateConfig","title": "Update Essentials Web Extension Pack (ZPack series) Config"
}
]
},
- 使用它来触发操作 zpack-extension.ts:
import * as vscode from "vscode";
import { extractAsKeyValue,GeneralObject } from "./util";
import { defaultSettings } from "./defaultSettings";
const updateUserSettings = async (settings: GeneralObject[]) => {
settings.forEach(async setting => {
const { key,value } = extractAsKeyValue(setting);
await vscode.workspace
.getConfiguration()
.update(key,value,vscode.ConfigurationTarget.Global);
});
};
export async function activate(context: vscode.ExtensionContext) {
console.log(
'Congratulations,your extension "Essentials Web Extension Pack (ZPack series)" is now active!'
);
let disposable = vscode.commands.registerCommand(
"zpack.updateConfig",async () => {
console.log(JSON.stringify(defaultSettings,null,1));
await updateUserSettings(defaultSettings);
await vscode.window.showInformationMessage(
"ZPack Config has been updated"
);
}
);
context.subscriptions.push(disposable);
}
export function deactivate() {}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。