首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >控制台窗口中的Intellij插件开发打印

控制台窗口中的Intellij插件开发打印
EN

Stack Overflow用户
提问于 2018-08-22 17:21:07
回答 3查看 2.3K关注 0票数 2

我是新的Intellij插件开发。因此,我正在开发一个简单的插件,用于在工具窗口中打印字符串值(类似于控制台窗口)!当我在网上搜索的时候,例子就少了!我对Intellij操作系统有一点了解,但无法知道如何在plugin.xml中注册必要的操作,以便在工具窗口中打印字符串!

以下是我的代码

代码语言:javascript
运行
复制
import com.intellij.openapi.actionSystem.AnAction;
import com.intellij.openapi.actionSystem.AnActionEvent;

    public class A extends AnAction {

        @Override
        public void actionPerformed(AnActionEvent e) {
           String x="Hello how are you?";
        }
    }

如何在工具窗口中打印字符串x?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2018-08-23 18:42:40

控制台窗口不能单独存在,它们必须绑定到工具窗口。下面是一个简单的例子。

首先,用XML为插件创建一个ToolWindow:

代码语言:javascript
运行
复制
<extensions defaultExtensionNs="com.intellij">
  <!-- Add your extensions here -->
  <toolWindow id="MyPlugin" 
              anchor="bottom"
              icon="iconfile.png"
              factoryClass="com.intellij.execution.dashboard.RunDashboardToolWindowFactory"></toolWindow>
</extensions>

然后,在您的操作中,您可以抓取工具窗口的一个句柄,懒洋洋地创建一个控制台视图,然后在那里添加文本:

代码语言:javascript
运行
复制
  ToolWindow toolWindow = ToolWindowManager.getInstance(e.getProject()).getToolWindow("MyPlugin");
  ConsoleView consoleView = TextConsoleBuilderFactory.getInstance().createBuilder(e.getProject()).getConsole();
  Content content = toolWindow.getContentManager().getFactory().createContent(consoleView.getComponent(), "MyPlugin Output", false);
  toolWindow.getContentManager().addContent(content);
  consoleView.print("Hello from MyPlugin!", ConsoleViewContentType.NORMAL_OUTPUT);

几个注意事项:

  1. 默认情况下,您的新工具窗口可能不可见,因此您可能需要从“查看->工具窗口”菜单中激活它。
  2. 我们使用RunDashboardToolWindowFactory创建新的工具窗口,因此它将接受运行窗口的布局。您可以使用ToolWindowFactory的任何实现(包括您自己的自定义类)代替它。

票数 5
EN

Stack Overflow用户

发布于 2021-07-29 21:29:48

RunDashboardToolWindowFactory不再存在于最新的intellij社区代码库中。我唯一的参考是window

票数 1
EN

Stack Overflow用户

发布于 2019-10-04 14:44:03

应该以这种方式注册操作(在plugin.xml中):

代码语言:javascript
运行
复制
    <actions>
    <group id="MyPlugin.TopMenu"
           text="_MyPlugin"
           description="MyPlugin Toolbar Menu">
        <add-to-group group-id="MainMenu" anchor="last"/>
        <action id="MyAction"
                class="actions.MyAction"
                text="_MyAction"
                description="MyAction"/>
    </group>
</actions>

另外,确保您的操作是包中的,否则可能找不到/调用它。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51972122

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档