LIveWriter中使用插入代码块插件插入cpp代码的问题

安装完LiveWriter后我就下载了"代码插入插件" http://gallery.live.com/liveItemDetail.aspx?li=1f07e880-608e-4d26-b657-a1583de6200a&bt=9&pl=8

装上后第二次使用的时候就出现了意外错误,于是就在网上找解决方法,路过了这位大哥的博客http://m.cnblogs.com/67316/1680123.html终于找到了问题的原因及解决方法,引用如下:

下面是原始代码, 在Wilco.SyntaxHighlighting.HighlighterCollection中

public HighlighterBase this[string name] { get { HighlighterBase highlighter = null; for (int i = 0; i < this.List.Count; i++) { highlighter = (HighlighterBase)this.List[i]; if (highlighter.Name.ToLower() == name.ToLower()) return highlighter; } return null; } }

highlighter有两个属性与名字有关: Name和FullName

CPPHighlighter的Name是C++, FullName是CPP

而传进去的name是我们在第一次插入代码块时在下拉选项框中选择的语言 - cpp.

此时根据原始代码的判断,找不到这样的HighLighterBase对象, 系统因此崩溃.

我做了简单修改:

public HighlighterBase this[string name] { get { HighlighterBase highlighter = null; for (int i = 0; i < this.List.Count; i++) { highlighter = (HighlighterBase)this.List[i]; if (String.Compare(highlighter.Name, name, true) == 0 || String.Compare(highlighter.FullName, name, true) == 0) return highlighter; } return null; } }

重新编译后拷贝到\Windows Live\Writer\Plugins\中去, OK通过。

修正后的插件:

https://files.cnblogs.com/wfpb/Plugins.rar

posted @ 2010-03-19 12:12  princeblade  阅读(361)  评论(0编辑  收藏  举报