如何在 Intellij Platform SDK 中枚举编辑器及其位置?
How to enumerate editors and their locations in Intellij Platform SDK?
我在屏幕上有以下示例布局
如何从插件代码中枚举这些编辑器及其位置?
请提供任何提示。看不懂去哪里挖...
以下代码
IdeFrame[] ideFrames = windowManager.getAllProjectFrames();
return只有一个条目
您可以使用FileEditorManager
的selectedEditors
属性找到所有active/open编辑,然后向每个编辑询问他们的location on screen:
FileEditorManager.getInstance(project).selectedEditors.associateWith {
it.component.locationOnScreen
}
在 Java 中可能类似于
Editor[] editors = FileEditorManager.getInstance(project).getSelectedEditors()
Point[] locations = editors.stream()
.map(editor -> editor.getComponent().getLocationOnScreen())
.collect(Collectors.toList())
(这可能取决于你的上下文以及你想用它做什么你会如何实现这个,但你明白了。)
我在屏幕上有以下示例布局
如何从插件代码中枚举这些编辑器及其位置?
请提供任何提示。看不懂去哪里挖...
以下代码
IdeFrame[] ideFrames = windowManager.getAllProjectFrames();
return只有一个条目
您可以使用FileEditorManager
的selectedEditors
属性找到所有active/open编辑,然后向每个编辑询问他们的location on screen:
FileEditorManager.getInstance(project).selectedEditors.associateWith {
it.component.locationOnScreen
}
在 Java 中可能类似于
Editor[] editors = FileEditorManager.getInstance(project).getSelectedEditors()
Point[] locations = editors.stream()
.map(editor -> editor.getComponent().getLocationOnScreen())
.collect(Collectors.toList())
(这可能取决于你的上下文以及你想用它做什么你会如何实现这个,但你明白了。)