如何从外部文件显示C#源代码?

时间:2010-11-25 17:03:41

标签: c# .net wpf parsing

对于我的项目,我想显示从外部文件中获取的C#源代码。我想要做的就是解析该文件,如果可能的话,用语法高亮显示代码。

如果可能的话,我想将我读过的代码分成各种方法。

我应该从哪里开始?

3 个答案:

答案 0 :(得分:1)

我建议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

答案 1 :(得分:0)

另一种方法是启动外部工具或应用程序,如查看器。例如,在Windows中,您可以使用VIM app以只读方式打开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用户不利。这只是一个例子。如果您想利用其他应用程序优势,可以使用其他工具。

答案 2 :(得分:0)

syntax highlighting的另一种看法。