Как отобразить исходный код C # из внешнего файла? - PullRequest
4 голосов
/ 25 ноября 2010

Для моего проекта я хотел бы отобразить исходный код C #, полученный из внешнего файла. Все, что я хочу сделать, - это проанализировать этот файл и, если возможно, отобразить код с подсветкой синтаксиса.

Если возможно, я бы хотел разделить код, который я прочитал, на различные методы.

С чего мне начать?

Ответы [ 3 ]

1 голос
/ 26 ноября 2010

Я бы порекомендовал AvalonEdit .Это легко настроить и использовать.Пример

xmlns:avalonEdit="http://icsharpcode.net/sharpdevelop/avalonedit"

<avalonEdit:TextEditor Name="textEditor"
                       Loaded="textEditor_Loaded"
                       FontFamily="Consolas"
                       FontSize="10pt"/>

private void textEditor_Loaded(object sender, RoutedEventArgs e)
{
    textEditor.Load(@"C:\MainWindow.xaml.cs");
    textEditor.SyntaxHighlighting =
        HighlightingManager.Instance.GetDefinition("C#");
}

Пример Вывод

alt text

0 голосов
/ 26 ноября 2010

Еще один вариант подсветки синтаксиса .

0 голосов
/ 25 ноября 2010

Альтернативный способ - запустить внешний инструмент или приложение, например средство просмотра.Например, в Windows вы можете использовать приложение VIM , чтобы открыть файл cs в режиме только для чтения и без изменения:

"C:\Program Files\Vim\vim72\gvim.exe" -R -M C:\test\MyClass.cs

Вот несколько кодов для запуска инструмента:

public static int StartViewer(string file)
    {
        string parameters = string.Format("-R -M {0}", file);
        ProcessStartInfo psi = new System.Diagnostics.ProcessStartInfo();
        psi.FileName = "C:\Program Files\Vim\vim72\gvim.exe";
        psi.Arguments = parameters;

        Process p = Process.Start(psi);
        p.WaitForExit();

        return p.ExitCode;
    }

Я думаю, что в VIM есть цветовой синтаксис CS, или вы можете найти лучший.Это бесплатно и имеет отличную функцию поиска.Тем не менее, VIM может не подойти пользователям без VIM.Это всего лишь пример.Вы можете использовать другие инструменты, если хотите использовать преимущества других приложений.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...