StudioShell不保存现有Visual Studio 2012上的DATE:\ Window Configurations

时间:2013-02-28 18:54:06

标签: visual-studio powershell visual-studio-2012 studioshell

当我使用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                                                                                                                          

1 个答案:

答案 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.