`

Eclipse plugin开发 —实现语法高亮

 
阅读更多

1. 在public class XMLConfiguration中添加扫描函数:

protected ValueScanner getValueScanner() {
if (valuescanner == null) {
valuescanner = new ValueScanner(colorManager);
valuescanner.setDefaultReturnToken(
new Token(
new TextAttribute(
colorManager.getColor(IXMLColorConstants.DEFAULT))));
}
return valuescanner;
}

2. 在getPresentationReconciler函数中添加:

dr = new DefaultDamagerRepairer(getValueScanner());
reconciler.setDamager(dr, IDocument.DEFAULT_CONTENT_TYPE);
reconciler.setRepairer(dr, IDocument.DEFAULT_CONTENT_TYPE);

3. 最后添加两个类:ValueScanner和WordDetector:

public class ValueScanner extends RuleBasedScanner{

String[]keywords = {"continent","country","hi","int"};

String[] funwords = {"short","long","double","long long",
"char","float","boolean","octet","string",
"unsigned short","unsigned long","unsigned long long"};

public ValueScanner(ColorManager manager)
{
IToken keywordToken =
new Token(
new TextAttribute(manager.getColor(IXMLColorConstants.STRING)));//IXMLColorConstants.STRING指定颜色

IToken funwordToken =
new Token(
new TextAttribute(manager.getColor(IXMLColorConstants.TAG)));

WordRule keywordRule = new WordRule(new WordDetector());
for(int i=0;i<keywords.length;i++)
{
keywordRule.addWord(keywords[i], keywordToken);
}
for(int i=0;i<funwords.length;i++)
{
keywordRule.addWord(funwords[i], funwordToken);
}
setRules(new IRule[]{keywordRule});
}
}

//******************************************************************

public class WordDetector implements IWordDetector{

public boolean isWordStart(char c){
return Character.isLetter(c);
}

public boolean isWordPart(char c){
return Character.isLetterOrDigit(c);
}
}

4. 打完手工。

分享到:
评论

相关推荐

    spket plugin for eclipse

    Widget的开发都有全面的支持 ,例如代码完成,语法高亮和内容概要,帮助开发有成效,创造高效率的javascript代码。 &lt;br&gt;小巧的身躯,强大杀伤力,足以具备紫色装备的特点。 这款利器,专门为 使用 Ext, ...

    eclipse-plugin-smallEditor:一组eclipse编辑器(插件)

    语法高亮 事件亮点 即时验证(使用 JSLint) 自动创建 TODO 和 FIXME 任务 功能概要 自动完成 折叠式的 json 编辑器功能: 语法高亮 事件亮点 大纲 即时验证(使用 JSONLint) 自动完成 折叠式的 css编辑器功能...

    Eclipse-Markdown-Editor-Plugin.zip

    不用看,这便是 Eclipse 用来编辑 Markdown 的插件,支持 .md 和 .txt 编辑,支持语法高亮。 Update URL:http://winterstein.me.uk/projects/tt-update-site/ 标签:Eclipse

    plugin-CEON_ABAP_Eclipse_Editor

    plugin ABAP Eclipse Editor. 习惯了传统IDE(Vistual Studio,Eclipse)开发,使用SAP的ABAP工作台,极其不习惯...试一试这个插件吧,在Eclipse里面建立ABAP项目,编写ABAP程序,语法高亮,带出对象的属性和方法……。

    Eclipse python 插件

    PyDev是一个允许用户利用Eclipse进行Python开发。它提供了一些很好的功能如:代码填空,语法高亮显示,语法分析,重构(refactor)和调试等等.主要是开源的,不需要money哦

    Eclipse HTML编辑器插件(EclipseHTMLEditor)

    - HTML/JSP/XML/CSS/DTD/JavaScript语法高亮 - HTML/JSP预览 - JSP/XML验证 - HTML标签,基于DTD的XML,以及JSP标签的内容输入补全 - HTML/JSP/XML创建向导 包含GEF-ALL-3.7.2.zip及tk.eclipse.plugin.htmleditor_...

    Eclipse Html 插件及GEF依赖库

    eclipse html插件的下载...需求:需要在eclipse里面编辑html和jsp,语法高亮和语法提示,自动补全等。 文件包括:Html插件tk.eclipse.plugin.htmleditor_2.2.0.jar;依赖库GEF-ALL-3.7.2.zip;下载链接和安装说明文档。

    eclipse-solargraph:基于 Solargraph 语言服务器的 Eclipse Ruby 插件

    左:Ruby 版本,具有语法高亮、自动完成、文档、大纲、参考搜索和许多其他功能! 正确:调试会话! :gem_stone: 功能一览丰富的语法高亮和代码折叠代码补全文档悬停重命名重构查找参考资料跳转到声明代码大纲使用可...

    spket(IDE)

    Widget的开发都有全面的支持 ,例如代码完成,语法高亮和内容概要,帮助开发有成效,创造高效率的javascript代码。 &lt;br&gt;小巧的身躯,强大杀伤力,足以具备紫色装备的特点。 这款利器,专门为 使用 Ext, ...

    Rexx plugin for Eclipse-开源

    这个项目是一个用于编程语言 Rexx 的 Eclipse 插件。 它提供语法高亮、内容概述和启动支持。

    freemarker plugin

    freemarker的Eclipse插件,附带了freemarker.jar文件,安装非侵入式的Eclipse插件安装就可以,安装后可以方便的编辑ftl文件,语法提示,高亮等。。。 希望会有所帮助。

    vimplugin-开源

    Vimplugin尝试在Eclipse IDE中使用vim编辑器。 这对于长期使用vim的用户特别方便。 但是其他用户(例如偶尔的vim用户)也可以从中受益:宏,正则表达式,针对1001种语言的语法高亮显示等。

Global site tag (gtag.js) - Google Analytics