Create a gist now

Instantly share code, notes, and snippets.

What would you like to do?
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);}} }} does it recursively. Well, not the same action, but takes an action.

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:

I know its not nuget, but it is a solution, and it works recursively. ;)


Haacked commented May 22, 2011

keyvan commented May 23, 2011

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

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?

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

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