Я пытаюсь собрать свой первый плагин для JetBrains (пока для собственного использования, поэтому он не обязательно должен быть идеальным).
Я пытаюсь сделать действие, которое, когда пользователь закрывает вкладку, одновременно закроет все остальные вкладки того же файла, которые могут быть открыты в результате разделения.
К сожалению, хотя есть ответственный параметр для закрытия всех копий:
editorManagerImpl.closeFile(currentFile, true, true);
Я не получаю ожидаемого результата.
Предположим, вы открываете файл1, затем файл2, а затем разделяете файл2 еще два раза. В итоге у меня получилось 3 группы вкладок:
file1, file2 | file2 | file2
затем я запускаю команду для файла2, и результат:
все экземпляры файла2 действительно закрываются, но у меня остаются три группы, каждая из которых заполнена файлом1
file1 | file1 | file1
Я ожидаю, что в итоге у меня будет только одна группа вкладок, содержащая файл file1
file1
Я не вижу причины, по которой file1 будет клонировать группы. Как правильно закрыть группу вкладок при закрытии последней вкладки?
public class CloseTabWithSplitCopiesAction extends AnAction {
@Override
public @NotNull ActionUpdateThread getActionUpdateThread() {
return ActionUpdateThread.EDT;
}
@Override
public void actionPerformed(@NotNull AnActionEvent e) {
Project project = e.getProject();
if (project == null) return;
VirtualFile currentFile = e.getData(CommonDataKeys.VIRTUAL_FILE);
if (currentFile == null) return;
FileEditorManager editorManager = FileEditorManager.getInstance(project);
if (editorManager instanceof FileEditorManagerImpl) {
FileEditorManagerImpl editorManagerImpl = (FileEditorManagerImpl) editorManager;
editorManagerImpl.closeFile(currentFile, true, true);
}
}
@Override
public void update(@NotNull AnActionEvent e) {
Project project = e.getProject();
VirtualFile file = e.getData(CommonDataKeys.VIRTUAL_FILE);
e.getPresentation().setEnabledAndVisible(project != null && file != null);
}
}
Подробнее здесь: https://stackoverflow.com/questions/791 ... tab-closes
Плагин JetBrains: невозможно избавиться от группы вкладок при закрытии последней вкладки ⇐ JAVA
Программисты JAVA общаются здесь
1731088726
Anonymous
Я пытаюсь собрать свой первый плагин для JetBrains (пока для собственного использования, поэтому он не обязательно должен быть идеальным).
Я пытаюсь сделать действие, которое, когда пользователь закрывает вкладку, одновременно закроет все остальные вкладки того же файла, которые могут быть открыты в результате разделения.
К сожалению, хотя есть ответственный параметр для закрытия всех копий:
editorManagerImpl.closeFile(currentFile, true, true);
Я не получаю ожидаемого результата.
Предположим, вы открываете файл1, затем файл2, а затем разделяете файл2 еще два раза. В итоге у меня получилось 3 группы вкладок:
file1, file2 | file2 | file2
затем я запускаю команду для файла2, и результат:
все экземпляры файла2 действительно закрываются, но у меня остаются три группы, каждая из которых заполнена файлом1
file1 | file1 | file1
Я ожидаю, что в итоге у меня будет только одна группа вкладок, содержащая файл file1
file1
Я не вижу причины, по которой file1 будет клонировать группы. Как правильно закрыть группу вкладок при закрытии последней вкладки?
public class CloseTabWithSplitCopiesAction extends AnAction {
@Override
public @NotNull ActionUpdateThread getActionUpdateThread() {
return ActionUpdateThread.EDT;
}
@Override
public void actionPerformed(@NotNull AnActionEvent e) {
Project project = e.getProject();
if (project == null) return;
VirtualFile currentFile = e.getData(CommonDataKeys.VIRTUAL_FILE);
if (currentFile == null) return;
FileEditorManager editorManager = FileEditorManager.getInstance(project);
if (editorManager instanceof FileEditorManagerImpl) {
FileEditorManagerImpl editorManagerImpl = (FileEditorManagerImpl) editorManager;
editorManagerImpl.closeFile(currentFile, true, true);
}
}
@Override
public void update(@NotNull AnActionEvent e) {
Project project = e.getProject();
VirtualFile file = e.getData(CommonDataKeys.VIRTUAL_FILE);
e.getPresentation().setEnabledAndVisible(project != null && file != null);
}
}
Подробнее здесь: [url]https://stackoverflow.com/questions/79171109/jetbrains-plugin-cant-get-rid-of-tab-group-when-last-tab-closes[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия