修复了google-code-prettify w / c#
在对c#进行标记时,Prettify为类型和方法提供相同的类,因此它们的颜色相同。 这是因为方法在c#中是pascal case而不是java中的camel case。 这会影响我的博客和所有stackoverflow c#代码,因为它们也使用了美化。
有人有解决方法吗?
如果没有,你至少可以对2009年3月报道的官方错误进行星级/投票,以便作者再看看。
我实际上编写了自己的语法高亮库来解决这样的问题。 它非常类似于美化,但你必须明确指定语言。
- 网站
- 演示
相同的语法可能具有不同的含义。 没有足够的信息来正确地突出显示所有内容。
看看这个例子:
static class Program { class Foo { public class Bar { public static void Func() { } } } class Foo2 { public static Baz Bar2 { get; set; } } class Baz { public void Func2() { } } static void Main() { Foo.Bar.Func(); Foo2.Bar2.Func2(); } }
在第一行中,Bar是一个内部类,应该以绿色突出显示。 在第二行中,Bar2是Foo2类型的属性,应突出显示为黑色。 Func和Func2都是函数,应突出显示为黑色。
以下是Visual Studio突出显示该代码的方式。
问题是没有上下文,就无法确定它是一种方法还是一种类型。
采用以下示例:
var value = new Test(); Test();
此示例实例化一个新的Test
,然后调用方法Test
。 找出哪个是类,哪个是类型的唯一方法是使用1.整个代码库和2.编译器。
然后我甚至没有触及无效代码。
话虽如此,我认为SO所使用的当前美化器在突出代码样本方面做得非常好,没有任何上下文。
TextMate (OS X)或E-TextEditor (Windows)
TextMate / E-TextEditor将通过语法高亮显示为许多语言生成HTML和CSS。
这是你做的:
- 在TextMate / E-TextEditor中打开文件
- 如果没有自动选择语言,请从屏幕底部的菜单中选择语言
- 转到Bundles-> TextMate->从文档创建HTML
- 这将在新文档中创建所有HTMl / CSS。
- 注意:Windows用户也选择’TextMate’包(不是’E-TextEditor’)
- 利润!
注意:您必须为C#语法安装C#包(包含所有其他通用语言)。 为此,请安装“Get Bundles”软件包,并使用它来安装C#软件包。
编辑:阅读评论我意识到TextMate只是Mac用户的解决方案。 有时我会忘记Windows。