我是新的Intellij插件开发。因此,我正在开发一个简单的插件,用于在工具窗口中打印字符串值(类似于控制台窗口)!当我在网上搜索的时候,例子就少了!我对Intellij操作系统有一点了解,但无法知道如何在plugin.xml中注册必要的操作,以便在工具窗口中打印字符串!
以下是我的代码
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?
发布于 2018-08-23 18:42:40
控制台窗口不能单独存在,它们必须绑定到工具窗口。下面是一个简单的例子。
首先,用XML为插件创建一个ToolWindow:
<extensions defaultExtensionNs="com.intellij">
<!-- Add your extensions here -->
<toolWindow id="MyPlugin"
anchor="bottom"
icon="iconfile.png"
factoryClass="com.intellij.execution.dashboard.RunDashboardToolWindowFactory"></toolWindow>
</extensions>
然后,在您的操作中,您可以抓取工具窗口的一个句柄,懒洋洋地创建一个控制台视图,然后在那里添加文本:
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);
几个注意事项:
RunDashboardToolWindowFactory
创建新的工具窗口,因此它将接受运行窗口的布局。您可以使用ToolWindowFactory
的任何实现(包括您自己的自定义类)代替它。
发布于 2021-07-29 21:29:48
RunDashboardToolWindowFactory
不再存在于最新的intellij社区代码库中。我唯一的参考是window
发布于 2019-10-04 14:44:03
应该以这种方式注册操作(在plugin.xml中):
<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>
另外,确保您的操作是包中的,否则可能找不到/调用它。
https://stackoverflow.com/questions/51972122
复制相似问题