Skip to content

Instantly share code, notes, and snippets.

@haacked
Created May 21, 2011 08:06
Show Gist options
  • Save haacked/984353 to your computer and use it in GitHub Desktop.
Save haacked/984353 to your computer and use it in GitHub Desktop.
Format all CS files in a Visual Studio solution (UGLY VERSION)
// 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);}} }}
@TravisTheTechie
Copy link

http://nuget.codeplex.com/workitem/1055 does it recursively. Well, not the same action, but takes an action.

@brianschmitt
Copy link

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. ;)

@haacked
Copy link
Author

haacked commented May 22, 2011 via email

@keyvan
Copy link

keyvan commented May 23, 2011

I had also written a blog post on this in 2008:

http://www.nayyeri.net/simpler-code-addin-for-visual-studio-2008

@bsimser
Copy link

bsimser commented May 24, 2011

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?

@kiquenet
Copy link

Not ugly version for VS 2012 and VS 2013 ?

@ahmadalli
Copy link

it's great but it has a little problem: it doesn't walk through projects in folders

@ahmadalli
Copy link

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment