代码之家  ›  专栏  ›  技术社区  ›  Mike Valenty

修复谷歌代码美化w/c#

  •  16
  • Mike Valenty  · 技术社区  · 15 年前

    Prettify 在标记化C时,为类型和方法提供相同的类,因此它们的颜色相同。这是因为在C语言中,方法是Pascal情况,而不是像Java中的驼峰情况。这会影响我的博客和 所有StackOverflow C代码 因为他们也用了漂亮的衣服。

    有人能解决这个问题吗?

    如果没有,你至少可以 star/vote the official bug 这是在2009年3月报道的,所以作者们又看了一眼。

    4 回复  |  直到 11 年前
        1
  •  7
  •   tmont    14 年前

    实际上,我编写了自己的语法高亮库来解决这样的问题。它与prettify非常相似,但您必须明确指定语言。

        2
  •  8
  •   David Yaw    14 年前

    相同的语法可能有不同的含义。只是没有足够的信息来正确地语法突出显示所有内容。

    看看这个例子:

    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如何突出显示该代码。

    alt text

        3
  •  3
  •   Pieter van Ginkel    14 年前

    问题是,没有上下文,就不可能知道它是方法还是类型。

    举个例子:

    var value = new Test();
    
    Test();
    

    此示例实例化一个新的 Test 然后调用该方法 试验 . 找出哪个是类,哪个是类型的唯一方法是使用1。整个代码库和2。编译器。

    然后我甚至没有接触到无效的代码。

    也就是说,我认为目前使用的更漂亮的工具在没有任何上下文的情况下突出显示代码示例方面做得非常好。

        4
  •  2
  •   Brandon    14 年前

    TextMate (OS X)或 E-TextEditor (Windows)

    textmate/e-textfeditor将通过突出显示多种语言的语法来生成HTML&css。

    以下是您的工作:

    1. 在textmate/e-texteditor中打开文件
    2. 如果不自动选择,请从屏幕底部的菜单中选择语言。
    3. 转到bundles->textmate->从文档创建HTML
      • 这将在新文档中创建所有HTML/CSS。
      • 注意:Windows用户还可以选择“textmate”包(而不是“e-texteditor”)。
    4. 利润!

    注意:您必须安装C bundle for C语法(包括所有其他通用语言)。为此,请安装“获取捆绑包”捆绑包,并使用该捆绑包安装C捆绑包。

    编辑:阅读我认识到的注释,textmate只是Mac用户的一个解决方案。有时我会忘记窗户。

    您也可以使用 电子文本 对于Windows。步骤相同。