idea插件开发——启动侦听事件

在项目打开时自动执行一些代码实现初始化操作

package cn.weblab.plugin.listener;

import cn.weblab.plugin.config.Global;
import cn.weblab.plugin.util.JGitUtil;
import com.intellij.ide.util.PropertiesComponent;
import com.intellij.openapi.project.Project;
import com.intellij.openapi.project.ProjectManagerListener;
import org.jetbrains.annotations.NotNull;

public class MyProjectListener implements ProjectManagerListener {
    @Override
    public void projectOpened(@NotNull Project project) {
        System.err.println("projectOpened---------------------");
        PropertiesComponent projectComponent = PropertiesComponent.getInstance(project);
        PropertiesComponent applicationComponent = PropertiesComponent.getInstance();
        // 初始化操作,获取必要的持久化信息
        JGitUtil jGitUtil = new JGitUtil(project.getBasePath());
        // 1、项目名
        String projectName = jGitUtil.getRemoteProjectName();
        // 2、namespace
        String projectNamespace = jGitUtil.getProjectNamespace();

        // 将value持久化
        // 项目级别
        projectComponent.setValue(Global.PROJECT_NAME, projectName);
        projectComponent.setValue(Global.PROJECT_NAMESPACE, projectNamespace);
        System.out.println("项目启动持久化成功");
    }
}

注意需要配置使其生效,在plugin.xml中加入如下配置

<projectListeners>
        <listener class="cn.weblab.plugin.listener.MyProjectListener"
                  topic="com.intellij.openapi.project.ProjectManagerListener">

        listener>
    projectListeners>

你可能感兴趣的:(intellij-idea,java,intellij,idea)