以编程方式导入/导出VS设置?

4

是否有一种通过Visual Studio API导入/导出Visual Studio设置的方式?

我想将某些特定的设置导出到本地文件,就像VS导入和导出设置向导所做的那样,但当然不需要进行UI交互。

2个回答

2

有一个名为 Tools.ImportandExportSettings 的 Visual Studio 命令。

您可以使用 DTE2.ExecuteCommand 执行该命令。

导入/导出示例:

dte2.ExecuteCommand("Tools.ImportandExportSettings", "/export:\"C:/temp/setttings.vssettings\"")
dte2.ExecuteCommand("Tools.ImportandExportSettings", "/import:\"C:/temp/settings.vssettings\"")

谢谢,太好了。你知道吗,是否可以偶然地只导出某些特定部分的配置? - D.R.
不,我不这么认为。然而,使用此命令似乎并未导出所有的VSSettings。与使用UI导出时获得的.vssettings相比较,该命令似乎只返回TextEditor设置。 - Sosian
这个命令只返回TextEditor的设置吗?你确定它不会返回上次选择的设置吗? - D.R.
进一步调查后,似乎这不仅限于TextEditor的设置,而且涉及到很多其他设置(可能/很可能是所有设置)。但它绝对不受Visual Studio 2015导入/导出向导中最后选择的设置的影响。 - Sosian
对我来说,拥有正确的引号是至关重要的。 - Matthias

-2

你也可以使用Roslyn:

var componentModel = (IComponentModel) Package.GetGlobalService(typeof(SComponentModel));
var visualStudioWorkspace = componentModel.GetService<VisualStudioWorkspace>();
visualStudioWorkspace.Options = visualStudioWorkspace.Options.WithChangedOption(CSharpFormattingOptions.NewLineForElse, false);

我没有尝试过,但API表明您确实可以通过Roslyn更改全局选项。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接