如何在IntelliJ插件中实现“语音泡沫”?

时间:2018-11-15 09:59:39

标签: intellij-idea intellij-plugin

我正在为IntelliJ IDEA开发一个插件,并希望创建一个“语音气泡”,如下面的屏幕截图所示。我已经了解了如何显示通知,但是它们与下面的通知不同。

是否有这种通知类型的示例?

enter image description here

2 个答案:

答案 0 :(得分:2)

要显示这样的弹出窗口,请使用ToolWindowManager.getInstance(project).notifyByBalloon()

答案 1 :(得分:1)

如果您想了解VcsNotifier.java插件中的工作原理,可以检查git4idea

以下是通知操作的示例,但是如果您有权访问project,则可以在任何地方使用此代码:

NotificationExample.java

public class NotificationExample extends AnAction {

    @Override
    public void actionPerformed(AnActionEvent e) {
        Project project = e.getProject();
        ServiceManager.getService(project, NotificationExample.class).notify(project);
    }

    private void notify(Project project) {
        NotificationGroup notificationGroup = NotificationGroup.toolWindowGroup(
                "IdMessages", ChangesViewContentManager.TOOLWINDOW_ID);

        Notification notification = notificationGroup.createNotification("Title", "Message", NotificationType.INFORMATION, null);
        notification.notify(project);
    }
}

plugin.xml

<extensions defaultExtensionNs="com.intellij">
    <projectService serviceImplementation="your.package.NotificationExample"/>
</extensions>