2008-10-25 57 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

相關問題