-
-
Save haacked/984353 to your computer and use it in GitHub Desktop.
// Open up the NuGet Package Manager in Visual Studio and paste the following line to format every file in the solution. | |
// I'll write a not-so-ugly version later. ;) | |
// BUG! This doesn't recursively grab all files from the project. :( | |
$dte.Solution.Projects | ForEach-Object {$_.ProjectItems | ForEach-Object { if ($_.Name.EndsWith('.cs')) {$window = $_.Open('{7651A701-06E5-11D1-8EBD-00A0C90F26EA}'); if ($window){Write-Host $_.Name;[System.Threading.Thread]::Sleep(100);$window.Activate();$_.Document.DTE.ExecuteCommand('Edit.FormatDocument');$_.Document.DTE.ExecuteCommand('Edit.RemoveAndSort');$window.Close(1);}} }} |
Looks like you have been after a solution to this problem for awhile now - back in 2009 I blogged about a Tweet you made and provided a macro solution to achieve this:
http://www.brianschmitt.com/2009/09/quickly-reformat-your-project-files.html
I know its not nuget, but it is a solution, and it works recursively. ;)
I had also written a blog post on this in 2008:
http://www.nayyeri.net/simpler-code-addin-for-visual-studio-2008
It looks like you're trying to write PowerShell. Would you like me to launch the PowerShell for Dummies Clippy Lives Forever Edition for you to do this?
Not ugly version for VS 2012 and VS 2013 ?
it's great but it has a little problem: it doesn't walk through projects in folders
I've modified your code. it's here: https://gist.github.com/ahmadalli/386da39e4c5db3f8999e170d1b50783f
http://nuget.codeplex.com/workitem/1055 does it recursively. Well, not the same action, but takes an action.