2017-09-01 100 views
0

我需要设置在Visual Studio -> Tools -> Options -> Text Editor -> JavaScript/TypeScript -> EsLint中找到的Visual Studio选项的值,但我似乎找不到此选项的CollectionPath使用Settings Store更改VS选项:找到正确的CollectionPath?

GetSubCollectionNames("Text Editor");产生若干结果,而GetSubCollectionNames("Text Editor\\JavaScript");产生0结果。

TL; DR 一个如何去找到下面的图像中描绘的选择权CollectionPath

enter image description here

这是我使用的是什么目前。

[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 
} 

回答

0

WritabelSettingsStore类用于扩展Visual Studio中的Visual Studio常用设置。您可以使用GetPropertyNames(“Text Editor \ JavaScript”)列出JavaScript的所有writabel设置,您将在其中列出并未列出JavaScript子集合下的所有Properties。

EsLint是不常见的Visual Studio设置。它是识别和报告ECMAScript/JavaScript代码中发现的模式的第三部分工具,其目标是使代码更加一致并避免错误。

所以我们不能直接用WritableSettingsStore类来改变它。您需要知道EsLint如何在Visual Studio中添加,然后修改其Visual Studio的配置文件。