在博客上写文章,粘贴代码的时候如何格式化好,是我经常碰到的一个问题。用博客园提供的那些格式化工具倒也很方便,不过要做些更改的话就比较麻烦。而且像我这样比较喜欢直接编辑 HTML 的不是很喜欢使用这些工具。因为要使用这些工具,必须换到可视化编辑状态。而再换回到 HTML 状态的时候,原来格式化好的 HTML 可能就被编辑器给弄得乱七八糟了 :(所以我就打算用 javascript 写一个格式化代码的工具。
现在总算把这个格式化代码的小工具做的差不多了!修正了以前的几个bug,也添加了一些新的功能。另外,我也把这个脚本放到一个类库的工程里面,写成了一个控件;这样大家也可以直接在后台代码里面操作了。
这是现在最新的文件:
- https://files.cnblogs.com/Kellin/CodeFormatter.js
- https://files.cnblogs.com/Kellin/CodeFormatter.rar
现阶段这个格式化工具的主要功能包括:
- 添加行号
- 为一些指定的语言类型高亮关键字、字符串以及注释等。这些语言包括 C#、C/C++、JavaScript、Java。 HTML、XML和一般的编程语言的高亮模式不太一样,这里我还没有实现
要使用这个小东东,有两种方法。一是直接引用 CodeFormatter.js 这个脚本文件:
-
将要格式化的代码放在一个 PRE 元素里面,并添加一个 SourceCode 的属性(指定代码的语言类型)。注意:需要将 PRE 元素代码中的一些特殊字符转换一下(将 & 换成 & 等,或者使用 HttpUtility.HtmlEncode(str) 方法)。如:
<pre sourcecode="html"> public class MyClass { public MyClass() { System.Console.WriteLine( "Hello world!" ); } } </pre>
-
在你的博客中添加下面这段 javascript 语句:
<script src="https://files.cnblogs.com/Kellin/CodeFormatter.js" type="text/javascript"></script>
二是使用编译好的类库中的 Kellin.Web.UI.WebControls.CodeFormatter 控件。大家可以从这里下载这个类库工程:https://files.cnblogs.com/Kellin/CodeFormatter.rar。