默认情况下,CSDN的模板已经加载了SyntaxHighlighter的所需文件。
SyntaxHighlighter使用<pre>及<textarea>作为显示代码的容器,但目前CSDN好像只支持<textarea>. 此外,CSDN的在线编辑功能常常过于主动地为<pre>的内容加上<br />,从而破坏<pre>原有内容,因此,在CSDN中不推荐使用<pre>,否则,要花很多时间为其重新整容。
使用<textarea>很简单,代码如下:
<textarea cols="95" rows="10" name="code" class="cpp">
#include <iostream>
int main(){
return 0;
}
</textarea>
在CSDN中使用SyntaxHighlighter, <textarea>的name及class属性是必须指定的。name必须为”code”,class则根据需求设定。上例是C++代码,其class设定为”cpp”. 如果是C#代码,class则应设为”c-sharp”。而rows及cols属性可以不设。SyntaxHighlighter会自动根据页面来设置其值。但在编辑过程中,为这两个属性设定初始值可方便输入代码。我的体会是,如果是在CSDN在线写博,可将rows设为10,将cols设为95,可得到较好的编辑环境。
注:可能是由于CSDN的改版,以上通过直接编辑源代码的形式很容易被CSDN发表博文时所用的xhEditor破坏。一种更好的方法是使用xhEditor中工具栏上的“插入代码”的图标,在编程语言栏中先选好代码类型,如HTML,CSS,C++等,然后将相应代码直接贴进下面的文本框中。(修改于2011-7-16 21:28)