Вызов Astyle для строки или файла через C#

Я генерирую код C++ через C#, по какой-то причине после применения astyle мой скомпилированный код компилируется. Так есть ли способ я могу вызвать astyle из моего приложения C# Windows?

2 ответа

Решение

Я наконец-то понял это несколько дней назад, поэтому подумал, что поделюсь своей функцией с astyle через C#

'private void astyleDirectory (string target_path) {System.Diagnostics.Process pProcess = new System.Diagnostics.Process (); // Введите путь, чтобы получить Astyle.exe здесь pProcess.StartInfo.FileName = System.IO.Path.GetDirectoryName (System.Reflection.Assembly.GetExecutingAssembly (). Location) + @ "\ Astyle.exe";

       pProcess.StartInfo.Arguments = "--options=none --style=ansi --recursive  *.h *.cpp";
       pProcess.StartInfo.UseShellExecute = false;
       pProcess.StartInfo.RedirectStandardOutput = true;
       pProcess.StartInfo.RedirectStandardError = true;
       pProcess.StartInfo.WorkingDirectory = System.IO.Path.GetDirectoryName(target_path);
       try
       {
           pProcess.Start();
           string strOutput = pProcess.StandardOutput.ReadToEnd();
           string strError = pProcess.StandardError.ReadToEnd();
           pProcess.WaitForExit();

       }
       catch { }
   }

'

Astyle - это инструмент командной строки, поэтому, используя класс Process, вы можете вызвать его извне и попросить отформатировать исходный файл C++.

Я делал подобные проекты в прошлом, такие как

http://alex.codeplex.com/

Другие вопросы по тегам