Skip to content

Instantly share code, notes, and snippets.

@ubikuity
Forked from JayBazuzi/gist:9e0de544cdfe0c7a4358
Last active November 6, 2018 03:14
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 1 You must be signed in to fork a gist
  • Save ubikuity/62335a46d4439b94a034 to your computer and use it in GitHub Desktop.
Save ubikuity/62335a46d4439b94a034 to your computer and use it in GitHub Desktop.
Fix warning when a project item has no name
# How to reformat all C# files in a solution (except auto-generated files), in Visual Studio 2012.
#
# Open Tools->Library Package Manager->Package Manager Console, and run the
# command below. At the end, all documents will be open in the IDE. (Low-RAM
# machines will have problems with large solutions.) Changed files will be
# modified in the IDE, and not saved to disk. You can SaveAll, then Close All
# if you're ready.
#
# VS2012 removed the VB-like macro language that existed in previous version of
# Visual Studio. However, the underlying DTE interface is still there, and you
# can reach it via PowerShell, in the Package Manager Console
#
# The weird GUID passed to [ProjectItem.Open](http://msdn.microsoft.com/en-us/library/envdte.projectitem.open.aspx)
# is [Constants.vsViewKindCode](http://msdn.microsoft.com/en-us/library/envdte.constants.vsviewkindcode.aspx).
#
# Normally I'd split this in to multiple lines, but the Package Manager Console
# doesn't support line continuation.
function f($projectItems) { $projectItems | ? { $_.Name -ne $null -and $_.Name.EndsWith( ".cs" ) -and -not $_.Name.EndsWith( ".Designer.cs" ) } | % { $win = $_.Open('{7651A701-06E5-11D1-8EBD-00A0C90F26EA}') ; $win.Activate() ; $DTE.ExecuteCommand('Edit.FormatDocument') } ; if ($projectItems) { $projectItems | % { f($_.projectItems) } } }
$dte.Solution.Projects | % { f($_.ProjectItems) }
@JayBazuzi
Copy link

Nice improvements. Merged.

@Kybs0
Copy link

Kybs0 commented Nov 6, 2018

How to use to put these two commands? do not work yet~

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