2008-10-25 68 views
13

对于我来说,StackOverflow最受欢迎的功能是它可以自动检测后置代码并为代码设置适当的颜色。如何在StackOverflow中设置代码颜色?

我想知道如何设置颜色。当我做一个Ctrl + F5在一个页面上,代码看起来先是黑色文本,然后改为彩色。它是由jQuery完成的吗?

回答

11

在回答..

斯波斯基:他们怎么知道,他们怎么知道你在写什么语言在?

它没有。该荧光笔非常笨,但设法摆脱它,因为大多数编程语言是如此相似。几乎所有使用的语法都非常接近 - ..

AFunction("a string") 
1 + 4 # <- numbers 
     #  /\ a comment 
     // also a comment.. 

..那么大多数东西突出显示正确。以上不是真正的编程语言,但它完美地突出显示。

也有例外,例如,它有时可以将/作为正则表达式的开始(如在Perl/Ruby中)。当它不是:

this [^\s>/] # is highlighted as a regex, not a comment 

..但这些都是相当罕见的,它的工作了大部分的东西,像一个良好的工作..

/* 
this is a multi-line comment 
"with a string" =~ /and a regex/ 
*/ 
but =~ /this is a regex with a [/*] multiline comment 
markers in it! */ 
20

Stack Overflow Podcast #11

阿特伍德:它。好吧,那是来自这个项目,我认为这是一个Google工程师编写的项目 - 它被称为“美化”。它有点有趣,它实际上推断了所有的语法高亮,这听起来好像不可能奏效 - 如果你仔细想想,它听起来真的很疯狂。但它实际上有些作品。现在,他只支持它,有些方言不太适合它,但对于所有的方言,你会在Google上找到。我认为它来自Google的Google Code。这是实际的代码,它是Google代码上的实际JavaScript,它突出显示了您在Google代码上托管项目时返回的代码。而你,你,呃,因为我认为他们使用Subversion,所以你可以点击...

Spolsky:他们怎么知道,他们怎么知道你在写什么语言?因此,什么是评论和...

阿特伍德:我不知道。这很疯狂。这是prettify.js,所以如果任何人有兴趣看这个,只要做一个“prettify.js”的网络搜索,你就会找到它。

这里的地方,你可以找到prettify.js:http://code.google.com/p/google-code-prettify/

+0

这个“美化”工具非常酷! – 2008-10-25 07:28:53

3

正如DBR说,它做了大多数常见语言结构的虚拟亮点。对于一些奇特的语法,这不起作用。我想知道我们是否可以在不突出显示的情况下执行代码段。

For id = 1 To 10 Do 
    CallSomething() // It likes CamelCase identifiers... 
End 

for id = 1 to 10 do # Also highlight some common keywords... 
    if id % 2 then call_something(); x++; end 
end 

'str' "str" 12 + 15.6 * -7e+9 /* Some common constant forms */ 
=/regex/ ~/regex/ +/RE/ !/regexpr/ but not /[^regex]/ (no operator before it) 

(* Some comment conventions are overlooked... *) 
-- Lua's (and some other languages') 
; So are these comments... 
' And these (Basic) 

对于通用代码来说,工作效果不错,并且比在浏览器中加载十几种语法更好。

+0

代码段没有突出显示?当然。只需简单地在PRE标签中包装普通的,不加粗缩的文本块,就像普通的HTML一样。 – 2009-01-09 15:17:32