当我使用StudioShell创建新窗口配置时,如下例所示,它不会在退出Visual Studio 2012时保存配置。是否应该运行cmdlet以强制进行此更改?
cd dte:\windowconfiguration
new-item Work
ls dte:\windowconfigurations
Location: studioshell\PSDTE::WindowConfigurations
Available Operations: d+ <
Name
---------- ----
~<> i Debug
~<> i Design
~<> i NoToolWin
答案 0 :(得分:1)
窗口配置很棘手,似乎从2008年到2010年(以及代理2012)改变了行为。
TL; DR:使用new-item创建新配置,然后立即在新配置上调用invoke-item。当您退出visual studio时,将保存配置,并在您再次启动Visual Studio时重新加载。
窗口配置以winprf(windows配置文件)xml文件的形式保存到%APPDATA%\ microsoft \ visualstudio \ 11.0文件夹中。另外还有一个windows.index文件,它基本上是winprf文件的配置名称的索引。
使用new-item为windows.index文件添加一个条目;但它不会强制创建实际存储Windows设置的winprf文件。只有在应用了Windows配置(使用invoke-item)时,才会执行此操作。这与2008年的行为不同,其中支持new-item的dte操作会神奇地为您创建索引条目和winprf文件。
我已经更改了Windows配置路径的new-item的行为,以强制Windows配置的持久性。它将在下一个维护版本中提供;在那之前,解决方法就是:
new-item dte:/windowconfigurations/myawesomeconfig # this creates the index
invoke-item dte:/windowconfigurations/myawesomeconfig # this forces VS to acknowledge the profile and save it on exit.