我正在嘗試從我的 vs 代碼擴展更新 setting.json,我想添加下面的代碼
"files.associations": {
"*.app": "auraComponent"
}
換句話說,我想將下面的鍵值對從擴展添加到要安裝我的應用程式的用戶

所以我嘗試將下面的代碼放在 extension.js 中,但它沒有更新設定。
import { ConfigurationTarget, workspace } from 'vscode';
const configuration = workspace.getConfiguration('files.associations');
configuration.update('.app', 'auraComponent', ConfigurationTarget.Global).then(() => {
// take action here
});
有人可以建議我是否使用正確的方法來更新用戶或作業區設定,以及 extension.js 中的代碼是否會自動執行。
更新
我添加了 extension.js 并在他的回答中包含了標記中提到的 js 代碼
并更新我的 package.json 如下
"main": "./extension",
"activationEvents": [
"*"
],
如果我在除錯模式下運行我的擴展,那么它可以正常作業,但不能實時作業。
uj5u.com熱心網友回復:
無論是否存在預先存在的files.association設定,以下內容均有效。如果已經有一個,則將新關聯添加到其中(因此可能位于設定檔案末尾以外的某個位置 - 否則將在檔案的最后添加一個全新的files.associations設定settings.json。
const fileConfiguration = vscode.workspace.getConfiguration('files');
const associations = fileConfiguration.get('associations');
associations['*.app'] = "auraComponent";
fileConfiguration.update('associations', associations, vscode.ConfigurationTarget.Global).then(() => {
// take action here
});
改編自https://stackoverflow.com/a/49566662/836330。
正如那里所解釋的,您真正想要更新的是associations物件,即要更新的值。 "*.app": "auraComponent不是配置鍵。 files.associations是鍵,并且有一個物件{...}是它的值。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/430348.html
