Prettify在对c#进行标记时为类型和方法提供相同的类,因此它们的颜色相同。这是因为方法在c#中是pascal case而不是java中的camel case。这会影响我的博客和所有stackoverflow c#代码,因为它们也使用了美化。
是否有人对此有解决方法?
如果没有,你至少可以在2009年3月报道star/vote the official bug,以便作者再看看。
答案 0 :(得分:8)
相同的语法可能具有不同的含义。没有足够的信息来正确地突出显示所有内容。
看一下这个例子:
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突出显示该代码的方式。
答案 1 :(得分:7)
答案 2 :(得分:3)
问题是如果没有上下文,就无法确定它是方法还是类型。
采用以下示例:
var value = new Test();
Test();
此示例实例化新的Test
,然后调用方法Test
。找出哪个是类,哪个是类型的唯一方法是使用1.整个代码库和2.编译器。
然后我甚至没有触及无效代码。
话虽如此,我认为SO所使用的当前美化剂在突出代码样本方面做得非常好,没有任何上下文。
答案 3 :(得分:2)
以下是您的工作:
注意:您必须为C#语法安装C#包(包含所有其他通用语言)。为此,请安装“Get Bundles”软件包,并使用它来安装C#软件包。
编辑:阅读评论我意识到TextMate只是Mac用户的解决方案。有时我会忘记Windows。