Вызов 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++.
Я делал подобные проекты в прошлом, такие как