c# - 如何格式化 Visual Studio 2012 中的所有文件?

对于以前版本的 Visual Studio,我使用了 Kevin Pilch-Bisson's script格式化我的解决方案中的所有 C# 文件。

VS2012 放弃了对宏的支持,所以它不再起作用了。

如何在 VS2012 中轻松格式化所有文档?

最佳答案

打开 Tools->Library Package Manager->Package Manager Console,然后运行以下命令。最后,所有文档都将在 IDE 中打开。 (低 RAM 机器会遇到大型解决方案的问题。)更改的文件将 在 IDE 中修改,并没有保存到磁盘。如果你准备好了,你可以全部保存,然后全部关闭。

VS2012 移除了之前版本中存在的类 VB 宏语言 Visual Studio 。但是,底层 DTE 接口(interface)仍然存在,并且您 可以在包管理器控制台中通过 PowerShell 访问它

传递给 ProjectItem.Open 的奇怪 GUID 是 Constants.vsViewKindCode .

通常我会将其拆分为多行,但包管理器控制台 不支持续行。

您可以在 https://gist.github.com/JayBazuzi/9e0de544cdfe0c7a4358 找到最新版本

function f($projectItems) { $projectItems | ? { $_.Name.EndsWith( ".cs" ) } | % { $win = $_.Open('{7651A701-06E5-11D1-8EBD-00A0C90F26EA}') ; $win.Activate() ; $DTE.ExecuteCommand('Edit.FormatDocument') } ; if ($projectItems) { $projectItems | % { f($_.projectItems) } } }

$dte.Solution.Projects | % { f($_.ProjectItems) }

https://stackoverflow.com/questions/15458332/

相关文章:

android - 点后 2 位 float

c#-3.0 - 如何在 Resharper 中更改 "Use Object Initializer

coding-style - 线宽格式标准

emacs - 在 Emacs 中,如何在一系列初始化语句中排列等号?

formatting - 复制/粘贴到 Word 时如何保留 rstudio 的格式?

python - 从 Python 日期/时间获取 "2:35pm"而不是 "02:35PM"?

eclipse - 格式化后无法删除 Eclipse 中的 block 注释

c - 如何填充 printf 以考虑负号和可变长度数字?

java - String.format 或类似的正确格式字符串

documentation - reStructuredText 中粗体字的一部分