程序代码语法加亮插件比较
来源:互联网 发布:js ajax java实例 编辑:程序博客网 时间:2024/05/17 03:11
Note: this entry has moved.
程序代码语法加亮插件是写BLOG程序员的必选,我试用过多款插件,最终选定功能比较强大的有两款:Code Syntax Highlighter和Source Code Formatter,看我BLOG的人可以知道,我以前的BLOG一直使用Source Code Formatter,那是因为一直没有试用Code Syntax Highlighter,通过比较我发现Code Syntax Highlighter的表现力更好,以下是一个简单的比较:
Source Code Formatter的C#效果,选中了自动折行和带行号:
1 public override object SaveState(object container) 2 { 3 XmlDocument document = (XmlDocument)container; 4 XmlElement element = (XmlElement)base.SaveState(container); 5 6 // Save settings. 7 XmlElement nodeRootElement = document.CreateElement("nodes"); 8 element.AppendChild(nodeRootElement); 9 10 this.StoreNode(document, nodeRootElement, this.xmlSpecialCharNode, "SpecialCharNode");11 this.StoreNode(document, nodeRootElement, this.xmlTagNode, "TagNode");12 this.StoreNode(document, nodeRootElement, this.xmlNamespaceNode, "NamespaceNode");13 this.StoreNode(document, nodeRootElement, this.xmlCommentNode, "CommentNode");14 this.StoreNode(document, nodeRootElement, this.xmlAttributeNameNode, "AttributeNameNode");15 this.StoreNode(document, nodeRootElement, this.xmlAttributeValueNode, "AttributeValueNode");16 17 return element;18 }
Code Syntax Highlighter的C#表现效果,选中了带行号:
1. | public override object SaveState(object container) |
2. | { |
3. | XmlDocument document = (XmlDocument)container; |
4. | XmlElement element = (XmlElement)base.SaveState(container); |
5. | |
6. | // Save settings. |
7. | XmlElement nodeRootElement = document.CreateElement("nodes"); |
8. | element.AppendChild(nodeRootElement); |
9. | |
10. | this.StoreNode(document, nodeRootElement, this.xmlSpecialCharNode, "SpecialCharNode"); |
11. | this.StoreNode(document, nodeRootElement, this.xmlTagNode, "TagNode"); |
12. | this.StoreNode(document, nodeRootElement, this.xmlNamespaceNode, "NamespaceNode"); |
13. | this.StoreNode(document, nodeRootElement, this.xmlCommentNode, "CommentNode"); |
14. | this.StoreNode(document, nodeRootElement, this.xmlAttributeNameNode, "AttributeNameNode"); |
15. | this.StoreNode(document, nodeRootElement, this.xmlAttributeValueNode, "AttributeValueNode"); |
16. | |
17. | return element; |
18. | } |
可以看出Code Syntax Highlighter的代码更紧凑,语法着色也更丰富。来看看它们的选项:
Code Formatter | Code Highlighter | |
支持语言数 | 14 | 22 |
显示行号 | 支持 | 支持 |
显示边框 | 不支持 | 支持 |
改变背景色 | 支持 | 支持 |
自动折行 | 支持 | 支持 |
固定宽度 | 不支持 | 支持 |
自定义TAB宽度 | 支持 | 不支持 |
Code Syntax Highlighter的源代码有两个小问题:
1. 对中文注释的支持有问题
2. 不支持Live Writer Wave 3 Beta
前者是因为它对RTF文件的处理有点问题,后者是因为它使用的WindowsLive.Writer.Controls.BrowseButton 在Wave 3里面不再存在了。
我对代码做了修改,以上两个BUG都做了改正。
1. 修改RTF编码保证正常显示中文。
2. 使用WindowsLive.Writer.Controls.BitmapButton代替WindowsLive.Writer.Controls.BrowseButton ,同时支持14.x和15.x。
3. 同步了最新版本的Wilco SyntaxHighlighting。
Code Syntax Highlighter: 程序下载,修改的源代码下载。
- 程序代码语法加亮插件比较
- 加亮语法代码
- eclipse 不能语法加亮
- Visual Studio 2008/2010的一个GLSL, HLSL, Cg语法加亮插件-NShader
- C++源代码的语法加亮
- 发布语法加亮控件(SyntaxTextBox)
- 配置 vim 自动语法加亮
- android ultredit smali语法加亮
- Android:UltraEdit Smali语法加亮
- 关于语法加亮的一些讨论
- JScud语法加亮程序初次发布
- 发布语法加亮编辑器控件(SyntaxTextBox)
- 启用代码语法加亮CSS统一风格
- JS实现的PHP语法加亮函数
- 为 CSDN Blog 加入语法加亮功能
- OneNote 程序代码高亮插件
- WP常用插件程序代码分享
- 方便 Weblog 显示加亮语法 PHP 代码的小程序
- 初次入博,以记心得,以记所学,以记所用,以记所困
- 网络通讯服务端设计思想
- JSP中使用equals实现字符串之间的比较
- java关键字Transient
- Windows远程桌面
- 程序代码语法加亮插件比较
- 莲花--安妮宝贝
- 什么是贾金斯式的人物
- 重复信息中case when exists 的应用...
- 女人与程序的对应关系!
- 用Live Writer找回你的BLOG的密码
- 网络程序服务端设计二
- VC实现工具栏的下拉箭头按钮
- Linux 编程之C与脚本的混合编程