博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Java开发工具IntelliJ IDEA定义语言和文件类型详细说明
阅读量:6821 次
发布时间:2019-06-26

本文共 1828 字,大约阅读时间需要 6 分钟。

hot3.png

使用Intellij IDEA的时候,用户可以根据自身需求定义所支持的语言和文件类型,下面我们就对这一过程进行详细的解释和说明。

1 定义语言

package com.simpleplugin; import com.intellij.lang.Language; public class SimpleLanguage extends Language { public static final SimpleLanguage INSTANCE = new SimpleLanguage(); private SimpleLanguage() { super("Simple");    }}

2 定义图标

将图标复制到com.simple.plugin.icons程序包中。

package com.simpleplugin; import com.intellij.openapi.util.IconLoader; import javax.swing.*; public class SimpleIcons { public static final Icon FILE = IconLoader.getIcon("/com/simpleplugin/icons/jar-gray.png");}

3 定义文件类型

package com.simpleplugin; import com.intellij.openapi.fileTypes.LanguageFileType; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; import javax.swing.*; public class SimpleFileType extends LanguageFileType { public static final SimpleFileType INSTANCE = new SimpleFileType(); private SimpleFileType() { super(SimpleLanguage.INSTANCE);    }     @NotNull    @Override public String getName() { return "Simple file";    }     @NotNull    @Override public String getDescription() { return "Simple language file";    }     @NotNull    @Override public String getDefaultExtension() { return "simple";    }     @Nullable    @Override public Icon getIcon() { return SimpleIcons.FILE;    }}

4 定义一个文件类型factory

package com.simpleplugin; import com.intellij.openapi.fileTypes.FileTypeConsumer; import com.intellij.openapi.fileTypes.FileTypeFactory; import org.jetbrains.annotations.NotNull; public class SimpleFileTypeFactory extends FileTypeFactory{    @Override public void createFileTypes(@NotNull FileTypeConsumer fileTypeConsumer) {        fileTypeConsumer.consume(SimpleFileType.INSTANCE, "simple");    }}

5 注册文件类型factory

6 运行项目

创建一个扩展名为.simple的文件,IntelliJ IDEA将自动将其与定义的语言联系起来。

》》》

转载于:https://my.oschina.net/u/1259237/blog/167197

你可能感兴趣的文章
python的常用模块
查看>>
我的友情链接
查看>>
Delphi下WebBrowser应用示例
查看>>
AS3的http
查看>>
启动模式、时钟浅见
查看>>
ORA-01033: ORACLE initialization or shutdown in progress ,Enterprise Manager Console
查看>>
Intellij IDEA 一些不为人知的技巧
查看>>
演示:如何编译tbox
查看>>
简单的安卓应用授权认证(JNI)
查看>>
查看硬盘读取速率
查看>>
把匹配的小写转换成大写(\U、\u)
查看>>
【Android网络开发の5】Android中的网络数据下载
查看>>
解决PotPalyer不能拖放播放
查看>>
Linux安装mysql5.7
查看>>
HIVE常用操作以及函数
查看>>
【优达学城测评】SQL 支持许的数据类型(3)
查看>>
PHP CURL CURLOPT参数说明(curl_setopt)
查看>>
Learning NodeJs(1)
查看>>
怎么解决mysql远程连接报10038的错误
查看>>
js 父窗口可以找到子窗口的元素
查看>>