使用设置存储更改 VS 选项:找到正确的 CollectionPath?
Change VS option by using the Settings Store: finding the right CollectionPath?
我需要设置在 Visual Studio -> Tools -> Options -> Text Editor -> JavaScript/TypeScript -> EsLint
中找到的 Visual Studio 选项的值,但我似乎找不到该选项的 CollectionPath
。
GetSubCollectionNames("Text Editor");
产生了多个结果,而 GetSubCollectionNames("Text Editor\JavaScript");
产生了 0 个结果。
TL;DR
如何为下图中的选项找到正确的 CollectionPath
?
这是我目前使用的。
[ImportingConstructor]
internal VSOptions([Import] SVsServiceProvider serviceProvider)
{
var settingsManager = new ShellSettingsManager(serviceProvider);
_writableSettingsStore = settingsManager.GetWritableSettingsStore(SettingsScope.UserSettings)
?? throw new Exception(nameof(settingsManager));
var textEditorSubCollections = _writableSettingsStore.GetSubCollectionNames("Text Editor");
var javaScriptSubCollections = _writableSettingsStore.GetSubCollectionNames("Text Editor\JavaScript");
// TODO: set option value when we have the right CollectionPath
}
WritabelSettingsStore class 用于扩展 Visual Studio 中的常用设置 Visual Studio。您可以使用 GetPropertyNames("Text Editor\JavaScript") 列出 JavaScript 的所有 writabel 设置,您会发现并未列出 JavaScript 子集合下的所有属性。
EsLint 不常见 Visual Studio 设置。它是第三方工具,用于识别和报告在 ECMAScript/JavaScript 代码中发现的模式,目的是使代码更加一致并避免错误。
所以我们不能直接用 WritableSettingsStore 改变它 class。你需要知道EsLint是如何在Visual Studio中添加的然后修改它的配置文件为Visual Studio.
我需要设置在 Visual Studio -> Tools -> Options -> Text Editor -> JavaScript/TypeScript -> EsLint
中找到的 Visual Studio 选项的值,但我似乎找不到该选项的 CollectionPath
。
GetSubCollectionNames("Text Editor");
产生了多个结果,而 GetSubCollectionNames("Text Editor\JavaScript");
产生了 0 个结果。
TL;DR
如何为下图中的选项找到正确的 CollectionPath
?
这是我目前使用的。
[ImportingConstructor]
internal VSOptions([Import] SVsServiceProvider serviceProvider)
{
var settingsManager = new ShellSettingsManager(serviceProvider);
_writableSettingsStore = settingsManager.GetWritableSettingsStore(SettingsScope.UserSettings)
?? throw new Exception(nameof(settingsManager));
var textEditorSubCollections = _writableSettingsStore.GetSubCollectionNames("Text Editor");
var javaScriptSubCollections = _writableSettingsStore.GetSubCollectionNames("Text Editor\JavaScript");
// TODO: set option value when we have the right CollectionPath
}
WritabelSettingsStore class 用于扩展 Visual Studio 中的常用设置 Visual Studio。您可以使用 GetPropertyNames("Text Editor\JavaScript") 列出 JavaScript 的所有 writabel 设置,您会发现并未列出 JavaScript 子集合下的所有属性。
EsLint 不常见 Visual Studio 设置。它是第三方工具,用于识别和报告在 ECMAScript/JavaScript 代码中发现的模式,目的是使代码更加一致并避免错误。
所以我们不能直接用 WritableSettingsStore 改变它 class。你需要知道EsLint是如何在Visual Studio中添加的然后修改它的配置文件为Visual Studio.