您的位置:首页 > 移动开发 > Android开发

开发工具IntelliJ IDEA如何定义语言和文件类型

2013-10-08 11:35 567 查看
使用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

<fileTypeFactory implementation="com.simpleplugin.SimpleFileTypeFactory"/>


6 运行项目

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


》》》Intellij IDEA最新版免费下载地址
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息