1

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

1 回答 1

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 配置时才完成(使用调用项)。这与 2008 年的行为不同,在 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.
于 2013-03-02T20:41:54.183 回答