Skip to content

Instantly share code, notes, and snippets.

@dck-jp
Last active December 26, 2015 15:25
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save dck-jp/98d4cbcfe28887539221 to your computer and use it in GitHub Desktop.
Save dck-jp/98d4cbcfe28887539221 to your computer and use it in GitHub Desktop.
command line tool of formating codes using VisualStudio
using EnvDTE; //Add Reference to EnvDTE
using System;
using System.IO;
using System.Linq;
namespace CodeFormatter
{
class Program
{
static void Main(string[] args)
{
var searchDirectory = @"C:\Users\****\Desktop"; //Set your folder
var files = Directory.GetFiles(searchDirectory, "*.cs", SearchOption.AllDirectories).ToList();
EnvDTE.Solution soln = System.Activator.CreateInstance(
Type.GetTypeFromProgID("VisualStudio.Solution.14.0")) as EnvDTE.Solution;
//Set ProgID of your VS
//Visual Studio 2008 -> 10.0
//Visual Studio 2010 -> 11.0
//Visual Studio 2013 -> 12.0
//Visual Studio 2015 -> 14.0
files.ForEach(file => {
FormatFile(file, EnvDTE.Solution soln);
Console.WriteLine($"format {file}"); //C#6.0
});
}
static void FormatFile(string file, EnvDTE.Solution soln)
{
soln.DTE.ItemOperations.OpenFile(file);
TextSelection selection = soln.DTE.ActiveDocument.Selection as TextSelection;
selection.SelectAll();
selection.SmartFormat();
soln.DTE.ActiveDocument.Save();
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment