Сколько окон можно открыть в ide

Обновлено: 10.08.2022

Мы строим несколько проектов maven (давайте назовите их A, B, C). В проекте A используется .jar проекта B, который использует .jar проекта C.

Я изменяю коды всех проектов A/B/C, (A – это приложение MVC, B – это бизнес-службы, а C – некоторый общий уровень).

Дело в том, что в Eclipse/NetBeans я могу сразу их увидеть и удобнее их модифицировать. Однако в IDEA мне нужно открыть 3 экземпляра (или n экземпляров) IntelliJ IDEA.

Я что-то упустил? Есть ли лучший подход при использовании IntelliJ? Это самый большой недостаток IntelliJ для меня.

Да, твоя интуиция была хорошей. Вы не должны использовать три экземпляра intellij. Вы можете открыть один проект и добавить другие “части” приложения в виде модулей. Добавьте их через браузер проекта, горячая клавиша по умолчанию – alt + 1

Я думаю, что это улучшилось с последними версиями IntelliJ. В моей текущей версии (12.0.2) вы можете добавить любое количество отдельных проектов Maven в одно и то же “рабочее пространство”.

Я нашел самый простой способ сделать это – щелкнуть значок ” + в окне “Проекты Maven” (“Просмотр”> “Окна инструментов”> “Проекты Maven”) и выбрать дополнительный файл pom, который вы хотите импортировать.

Выполните следующие действия:

Шаг 1: Откройте “Проекты Maven”

введите описание изображения здесь

Шаг 2: выберите проект, который вы хотите импортировать:

введите описание изображения здесь

Метод / Шаг

Сначала создайте именованный каталог рабочей области

intellij idea

Поместите проект в каталог рабочей области

intellij idea

Откройте Intellij idea, выберите File-> Open

intellij idea

В окне «Открыть файл или проект» найдите и выберите каталог рабочей области и нажмите «ОК».

intellij idea

идея загружает несколько проектов

intellij idea

После загрузки всех проектов intellij idea не будет автоматически загружать конфигурацию зависимостей в pom.xml, которую необходимо настроить вручную. Откройте меню в левом нижнем углу редактора и выберите Maven Projects

intellij idea

В окне «Проекты Maven» в правой части редактора выберите значок «+» (плюс) на панели инструментов окна, чтобы добавить файл pom.xml.

intellij idea

В окне «Выбрать путь» выберите файл pom.xml соответствующего проекта (несколько вариантов) и нажмите «ОК». Maven начнет загружать зависимые библиотеки

intellij idea

Требуется некоторое время, чтобы зависеть от библиотеки.После загрузки вы можете увидеть загруженный зависимый файл библиотеки в окне Maven Projects

intellij idea

На данный момент Intellij идея открыла несколько проектов и связанных конфигураций, и вы можете разрабатывать как обычно

Закачка на удаленный хост

Следующая рекомендация для тех, кто любит все выполнять только в IDEA.

Командой Tools -> Deployment -> Browse Remote host можно активировать закладку Remote host. Здесь можно подключиться к удаленному хосту и перетаскиванием загружать на сервер файлы прямо из IDEA.


Инструмент позволяет даже создавать файлы на сервере.

5) Готово, теперь у вас есть все ваши проекты в виде модулей, открытых в одном проекте IntelliJ

Результат

В IntelliJ 14.1.2 я сделал следующее:

Выберите File → Project Structure → Modules .

Выберите + и Import Module и выберите каталог вашего проекта (или каталог, где находится pom), и нажмите “ОК”.

Следуйте за следующим потоком экранов и после нажатия Finish вы увидите проект рядом с существующим.

enter image description here

Ни одно из решений не сработало для меня, так как я не работаю над проектами Maven. Есть более простое решение. Идти к:

File-> Проект Structure-> Модули.

enter image description here

Вместо добавления модуля просто нажмите третий вариант (копия). Просмотрите локальный каталог и выберите проект, который вы хотите добавить. Имя модуля будет разрешено автоматически. Это.

Обновление: если вы хотите снова открыть проект с несколькими подпроектами, чтобы избежать повторных шагов, как описано выше, просто перейдите в File-> Открыть Recent-> “Ваш большой проект”.

Чтобы расширить ответ @Neo:
после выбора вашего каталога. выберите import module from external model и выберите свою модель (maven в этом случае).

выбрать модель

Затем установите флажок keep project files в следующем диалоговом окне. Он будет хранить все файлы в исходном каталоге.

options

Ваша окончательная структура проекта будет примерно такой.

structure

Теперь вы можете добавить свой модуль в зависимость от другого модуля pom.xml , и если вы измените исходный код своих зависимостей, Intellij позаботится об обновлении вашего проекта (нет необходимости запускать mvn сборку вручную для зависимостей)

enter image description here

Открыть предпочтения → внешний вид и поведение → Системные настройки → выбрать (открыть проект в новом окне), а затем применить.

Тогда вы можете открывать и редактировать несколько проектов.

  • новый пустой проект
  • Файл → Новый → Модуль из существующих источников

Вы можете использовать Armory plugin, который позволяет переключаться между проектами комфортно. Ярлык по умолчанию для списка проектов Alt + A.

Снимок экрана окна

По умолчанию в настоящее время открытые проекты отображаются в верхней части этого списка (с жирным).

Нажмите “F4” в окнах, которые откроют “Структура проекта”, а затем нажмите значок “+” или “Alt + Insert”, чтобы выбрать новый проект для импорта; затем нажмите кнопку “ОК”…

вы можете использовать опцию модуля импорта, которая откроет ее так же, как eclipse в том же навигаторе.

Нет необходимости переместить целые проекты в модуль. Вариант использования для модуля немного более мелкий, чем в качестве контейнера проекта.

Чтобы открыть несколько проектов в одном окне:

Файл → Открыть проект

Выберите “Открыть” в этом окне.

Флажок, который добавляет к текущему проекту.

Для людей, не использующих maven для создания и желающих добавить новый проект (я использую intellij 14.1.3):

  • Щелкните правой кнопкой мыши папку верхнего уровня в представлении проекта, выберите новый → Модуль
  • Назовите модуль с тем же именем, что и добавляемый проект
  • В верхнем меню выберите Файл- > Создать- > Проект. Введите то же имя, что и
    новый модуль, то же расположение папок, а также.
  • Откройте проект и дождитесь, когда intellij создаст проект.
    структура.
  • Закройте этот новый проект и откройте исходный проект, который был
    добавлено в шаге 2

В зависимости от вашего застройщика потребуются дополнительные шаги, чтобы добавить его в процесс сборки.

Я новичок в maven и не понимаю, как я мог бы работать с проектом local maven, добавленным через ответ Viktor Nordling и все еще имею правильную зависимость в файле pom.xml, Ответ прост: intellij сначала смотрит на ваш локально добавленный модуль, и если он не находит его, он будет удален, чтобы получить проект удаленно. Вы можете проверить это, посмотрев “внешние библиотеки” в рамках вашего проекта браузера при добавлении или удалении модуля maven.

Надеюсь, это поможет кому угодно.

Для тех, кто использует Gradle, также может помочь то же самое:

enter image description here

enter image description here

Б ольшинство и того, что вы видите в IDE, происходит в окне.


О кно - это область экрана, которую можно перемещать, масштабировать, перекрывать, выводить без перекрытия, закрывать, открывать и изменять ее размер.


П ри работе в IDE вы можете открыть и использовать множество окон, но в каждый момент времени активным может быть только одно окно. Активное окно - это то окно, в котором вы в данный момент работаете. Любая команда, которую вы выбираете, или текст, который вы набираете, относится только к активному окну. Однако, если вы открыли в нескольких окнах один и тот же файл, любое действие, применяемое к этому файлу, может отражаться на всех окнах, содержащих его.

угол изменения размера;


IDE отмечает активное окно, обрисовывая его двойной рамкой, благодаря чему его можно легко идентифицировать на экране. Если ваши окна перекрываются, то активное окно всегда находится перед всеми другими ("переднее" окно).


В активном окне редактирования в левом верхнем углу выводятся также значения текущей строки и столбца. Если вы модифицировали файл, слева от значений столбца и строки выводится звездочка *.


Э лемент закрытия окна находится в верхнем левом углу. Позиционировав на этот элемент "мышь" и щелкнув кнопкой, вы можете быстро закрыть данное окно (в противном случае можно выбрать команду Window|Close). Справочное окно Help считается временным, поэтому закрыть его можно просто нажав клавишу Esc.


В ерхняя горизонтальная строка меню, строка заголовка, содержит название окна и его номер. Двойной щелчок кнопкой "мыши" на заголовке окна приводит к его "распахиванию" (увеличению до размера полного экрана) или наоборот, восстановлению предыдущего размера, если оно уже распахнуто. Вы можете также перемещать (буксировать) с помощью "мыши" заголовок, что приводит к перемещению окна.


К аждому открываемому вами окну присваивается номер (он указывается справа вверху). Нажатие клавиш Alt+0 дает вам список всех открытых окон. Окно можно сделать активным, нажав клавишу Alt в сочетании с номером окна. Например, если справочное окно Help имеет номер 5, но перекрыто сейчас другим окном, нажатие Alt+5 переводит вас в это окно (оно становится первым).

Примечание: Borland Pascal нумерует только первые 9 открытых вами окон.


В правом верхнем углу окна выводится элемент распахивания (масштабирования) окна. Если символ в этом элементе представляет собой стрелку вверх, то щелчок кнопкой "мыши" при позиционировании в этом элементу приведет к максимальному увеличению его размера (распахиванию). Если это двойная стрелка, то окно уже имеет максимальный размер. В этом случае щелчок кнопкой "мыши" возвращает окно к предыдущему размеру. Чтобы "распахнуть" окно с помощью клавиатуры, выберите команду Window|Zoom или нажмите клавишу F5.

Примечание: Двойной щелчок "мышью" на строке заголовка окна также приведет к его распахиванию или восстановлению размера.


П олоса прокрутки - это вертикальная или горизонтальная полоса, которая выглядит следующим образом:

Если щелкнуть кнопкой "мыши", позиционировавшись в конце полосы, это приведет к прокрутке на одну строку.

Если нажать и не отпускать кнопку, прокрутка будет продолжаться.

Нажатие кнопки "мыши" на затененной области в конце полосы прокрутки (стрелки) приведет к постраничному "листанию".

Примечание: Полосы прокрутки позволяют любому пользователю (использующему "мышь" или клавиатуру) видеть, как далеко он продвинулся в файле.


В правом нижнем углу окна находится элемент изменения размера. Вы можете буксировать этот угол с помощью "мыши", увеличивая или уменьшая размеры окна. Указанный угол отмечен одинарной, а не двойной линией, как остальная граница окна.

Используйте команду Size/Move меню Window, или нажмите клавиши Ctrl+F5.


Ч тобы переместить окно с помощью клавиатуры, сделайте следующее:

Используйте команду Size/Move меню Window, или нажмите клавиши Ctrl+F5.

Функционал IntelliJ IDEA велик, так что вряд ли найдется много разработчиков, кто использует все ее возможности без исключения. Но у каждого есть свой набор любимых фишек и опций. Около месяца назад во внутреннем чате Максилекта родилась идея пошарить эти фишки внутри компании. Коллеги восприняли ее с таким энтузиазмом, что одного запланированного часа обсуждений на это не хватило - встречу повторили через неделю.

Хотим поделиться с вами самыми интересными идеями (со ссылками на документацию, где подробно описано, как это работает).


Фишек и возможностей набралось так много, что пришлось делить весь список на две части. Сегодня поговорим о настройке экрана и организации рабочего пространства. А под конец напомним про множественные курсоры. А в следующий раз речь пойдет об оптимизации рабочего процесса.

Настройка экрана

IDEA допускает гибкую настройку интерфейса. Но тратить время на ковыряния в конфигурации имеет смысл, только если вопрос принципиальный. В ходе наших обсуждений таких вопроса всплыло три:

адаптация отображения под широкий монитор;

режим максимального сосредоточения на коде.

Широкий монитор

Для тех, кто использует не два, а один широкий монитор, в IDEA предусмотрена настройка Widescreen tool window layout (ее легко найти в Preferences -> Appearance & Behavior -> Appearance -> Widescreen tool window layout).


Если ее включить, нижняя панель по ширине будет ограничена основным экраном. Боковые инструменты при этом можно вывести вертикально с нужным количеством столбцов.

Настройка отключена Настройка включена

Отличный пример, как это работает, есть в официальной документации.

Борьба с вкладками

IDEA позволяет изменить стандартное отображение вкладок с открытыми файлами. Скрыть вкладки в IDEA можно через Preferences -> Editor -> General -> Editor Tabs -> Tab placement -> None. Чтобы без вкладок перемещаться по файлам, по Ctrl+E (или Command+E на Mac) можно открыть список последних отредактированных. Также есть горячая клавиша для перемещения на один файл назад (Command + [).

Альтернативный путь скрыть вкладки из верхней панели - вывести панель с любой другой стороны - слева или справа в виде списка, а по необходимости даже снизу.

Только код

Для тех, кому нужен более аскетичный вид кода, есть zen mode. Для перехода в этот режим нужно выбрать View -> Appearance -> Enter Zen Mode (инструкцию по переходу в Zen Mode можно найти в документации).

Этот режим убирает лишние окна, оставляя на экране только код, чтобы не на что было отвлекаться. В отличие от полноэкранного отображения код оказывается посередине, а не сбоку. Это удобно при использовании широкоэкранного монитора.


На время дебаггинга, когда нужно прыгать между файлами, этот режим легко отключается.

Дерево коммитов

Это удобный инструмент, позволяющий вносить изменения в различные ветки проекта. Здесь отлично видно, кто что сделал, что с чем и куда было смержено.

В дереве коммитов есть поиск по commit message, имени задачи и хэшу коммита.


Дерево коммитов показывает несколько проектов, если ранее вы подключили их в одно окно. Чтобы не запутаться, можно показать дерево только для одного репозитория (для этого в Paths надо выбрать, какой репозиторий сейчас актуален).

Дерево открывает широкие возможности для манипулирования коммитами. В частности, оно позволяет:

откатывать коммит (Undo commit), после чего он попадает обратно в Change list;

перетаскивать ветку с одного коммита на другой;

сравнивать два разных коммита между собой.

IdeaVim

IdeaVim - не опция самой IDEA, а сторонний плагин, но его можно отнести к стандартным. Он добавляет горячие клавиши, которые облегчают перемещение по коду. Например, можно двигаться через 5 строк вниз или вверх, быстро искать нужный фрагмент текста. У IdeaVim есть отдельный буфер под сохраненные фрагменты текста, отличающийся от буфера ОС, а также много других полезных вещей.

Список команд можно найти в репозитории плагина.

Shelve

IDEA Shelve по аналогии с git stash позволяет не смешивать контексты при переключении с одной задачи на другую.

Предположим, вы занимались одной задачей, но вынуждены были быстро перескочить на другую. В этом случае мы откладываем контекст текущей задачей (через New changelist -> Shelve change, чистим контекст), работаем над другой задачей, потом возвращаем отложенный контекст с помощью Unshelve (с сохранением всех старых переходов) и продолжаем работать над первой задачей. Подробно работа с shelve описана в документации к IDEA.

Кстати, IDEA многое отправляет в shelve автоматически.

Если собственный механизм IDEA почему-то не нравится, можно переключиться на git stash.

3) Затем в следующем окне вы импортируете разные проекты в виде модулей

Импорт проектов как модулей

Действия

Интеграция с YouTrack

Если команда использует YouTrack, IntelliJ IDEA можно интегрировать с этим инструментом через плагин, который расширяет функционал стандартного таск-менеджера.

Интеграция позволяет подписаться на изменения в существующих и назначение новых тикетов. В этом случае IDEA будет показывать обновления в собственных уведомлениях. Если работа постоянно идет в IDEA, то это удобнее, чем получать те же уведомления по электронной почте. Также через интеграцию можно подтягивать открытые задачи и прямо из их списка создавать changelist-ы и ветки.

Интеграция настраивается в File -> Preferences -> Tools -> Tasks -> Servers. В разделе YouTrack можно указать все необходимые данные и правила поиска нужных тикетов. Правда, если имя тикета в YouTrack будет на русском, кириллическое название подтянется и в проект. Автоматическую подстановку имени задачи в название папки в этом случае можно отключить.

Профайлер IDEA

В IDEA предусмотрена интеграция с инструментами для профилирования. Из коробки доступны Async Profiler и Java Flight Recorder. Выбрать, какой будет использоваться в данный момент, можно через Preferences в секции Profiler.


Преимущество использования профайлера непосредственно из под IDEA в том, что при изучении результатов можно перемещаться не только по этой картинке, но и по исходному коду.

Кстати, у некоторых коммерческих профайлеров тоже есть интеграция с IDEA. Если установить соответствующие плагины, их можно будет выбрать из списка в Preferences.

1) Сначала вы создаете новый пустой проект

Новый пустой проект

Инструменты / сырье

2) Затем вы выбираете корневую директорию всех проектов.

Это создаст пустой проект с каталогом .idea, который просто запомнит организацию модуля, которую мы собираемся сделать на следующем шаге.

Выбрать корневой каталог

Интеграция с Docker


У IDEA есть интерфейс для работы с docker'ом. Здесь можно запускать контейнеры, просматривать логи, подключаться к контейнеру через терминал, расшаривать порты и т.д.

Breakpoints

В процессе отладки IDEA позволяет устанавливать Breakpoint-ы. В этот момент можно, например, выводить информацию в лог.

Можно установить Breakpoint с условием (conditional breakpoints). Это удобно, когда точка остановки оказывается в цикле и нет желания 100 раз нажимать F9, пока не доберешься до нужной итерации. Вместо этого в настройках можно поставить условие - точку остановки делать только, если верно выражение:


В настройках можно также указать, что точка остановка должна сработать только один раз. Или она должна быть неактивна, пока мы не достигли определенной точки (Disable until hitting the following breakpoint).


А если поджимает время выполнения запроса, можно выбрать Evaluate and log. Выполнение не остановится, но данные будут выводиться в консоль.

Останавливаясь на breakpoint, можно воспользоваться кнопкой Evaluate Expression (горячая клавиша Alt + Shift + 8). Она открывает окно, в котором можно исполнять код прямо в рантайме в точке остановки, где будут доступны все зарезервированные объекты. Так можно модифицировать запросы из кода, проверяя быстрые гипотезы.

Evaluate Expression экономит много времени - не нужно перезапускать тесты и т.п.

Организация всех проектов в одном окне

IntelliJ IDEA позволяет собрать все проекты, над которыми вы работаете, в одном окне (в одном списке Projects). Для этого необходимо создать в IDEA пустой проект и импортировать в него свои рабочие проекты через Git -> Clone. IDEA сама сложит все в дочерние папки.


Чтобы не плодить новых окон, на вопросе о том, где запустить проект, необходимо прервать мастер и выбрать File -> New module from existing source. Дальше достаточно открыть build.gradle.kts в проекте.

Проекты не перепутаются. Каждый из них будет смотреть на свой branch, а управлять ими можно будет через меню Git Branches.


Если модулей станет слишком много, их количество можно изменить в меню Load/Unload Modules. Unload позволяет временно выгрузить некоторые корневые модули из проекта.

Prequisite

Имея все связанные проекты в корневом каталоге тот же.

Тестирование в IDEA

У тестирования непосредственно через IDEA есть одно важное преимущество. Если запускать тесты сторонним инструментом, в консоли появится индекс запускаемого теста. Если же тесты запускать через IDEA, она выведет названия тестов.

IDEA позволяет настраивать запуск тестов - как запускать, сколько раз запускать, останавливать ли повторы после падения (или запускать, пока не упадут) и т.п. Таким образом можно отлавливать любые нестабильные тесты.

Changelist

Changelist - это набор изменений кода, которые еще не попали в коммит. Текущие изменения попадают в тот changelist, который сейчас активен. Так что переключение между листами позволяет разделить изменения, относящиеся к разным задачам (даже если один и тот же файл с кодом меняется в разных changelist-ах).

Изменения можно перетаскивать из одного changelist-а в другой. Также changelist-ы можно разбивать или объединять.

Подробное описание работы с Changelist есть в документации.

Альтернативный механизм коммитов (при использовании Git) - Git staging. Но оба механизма сразу использовать нельзя. При переключении на Staging area собственные списки изменений IDEA (changelist-ы) будут удалены.

Лайфхак для код-ревью

В ходе обсуждения возможностей IDEA всплыл интересный лайфхак, который помогает лучше ориентироваться в чужом коде во время ревью. Это не отдельный инструмент, но все же мы решили его здесь упомянуть.

Если изменений в коде много, для ревью удобно вытянуть всю ветку к себе, откатить все коммиты этого реквеста (Reset soft) до того, как он был влит в мастер, и выполнить git reset master. Все изменения в этом реквесте останутся в рабочей копии и будут отображаться, как будто они внесены собственными силами. Изменения попадут индекс Git и будут там подсвечиваться (сами они при этом не изменяются). Можно будет перемещаться по зависимостям.

Безусловно, функционал IDEA намного шире. Но мы надеемся, что наша выжимка опыта будет вам полезна.

Статья написана по материалам внутренних митапов Максилект.

P.S. Мы публикуем наши статьи на нескольких площадках Рунета. Подписывайтесь на наши страницы в VK, FB, Instagram или Telegram-канал, чтобы узнавать обо всех наших публикациях и других новостях компании Maxilect.

4) В следующем окне, чтобы импортировать каждый проект, просто дважды щелкните значок build.gradle или pom.xml

Выбрать файл сборки

Проект будет импортирован как новый модуль.

Scratch-файлы

Если нужно быстро что-то проверить или рассчитать, используя зависимости рабочего проекта, можно воспользоваться временными скретч-файлами IDEA. У них масса возможностей - посылать SQL-запросы, создавать временные JSON и т.п. Сюда же можно временно импортировать части проекта. Подробности в документации.

Способ открытия нескольких проектов одновременно в Intellij IDEA (Baidu Encyclopedia)

При использовании идеи Intellij для открытия нескольких проектов будет создано несколько окон задач. Когда несколько проектов сотрудничают, переключаться туда и обратно проблематично. Как вы можете открыть несколько проектов одновременно, как Eclipse? Проблема может быть решена следующим образом

Анализ stack trace

IDEA умеет анализировать сторонние стектрейсы. Для этого стектрейс надо вставить в окно Analyze stack trace, доступное из меню Analyze -> Stack trace (или Thread Dump). Если в этом окне отметить настройку Automatic detect, то IDEA будет выводить анализ автоматом, как только обнаружит стектрейс в буфере обмена. Просматривая результаты анализа, можно будет переходить на нужные строки кода.

Множественные курсоры

IDEA поддерживает ввод множественными курсорами. Штука это не новая, но оказалось, что этим не все пользуются.

Множественные курсоры открывают довольно обширные возможности при работе с большими списками параметров. Как их включить и пользоваться, хорошо описано в официальной документации.

Например, из списка вроде такого:

можно сделать такой:

Это работает, даже если элементы списка имеют разную длину. Для этого при выделении можно использовать сочетание Ctrl + Shift + стрелку вправо. Это сочетание каждым из курсоров выделяет целое слово, вне зависимости от его длины. После этого Ctrl+C копирует в буфер обмена все выделенные слова. В результате из такого списка:

Получаем готовый кусок кода:

Множественные курсоры очень помогают, когда элементов списка сотня или даже больше - не нужно тратить время на монотонное повторение одних и тех же операций.

На сегодня все. В следующий раз расскажем о том, какие инструменты удобно использовать для управления коммитами, а также почему нам проще тестировать и профилировать именно через IDEA.

Статья написана по материалам внутреннего вебинара Максилект.

P.S. Мы публикуем наши статьи на нескольких площадках Рунета. Подписывайтесь на наши страницы в VK, FB, Instagram или Telegram-канал, чтобы узнавать обо всех наших публикациях и других новостях компании Maxilect.

Продолжаем разговор о фишках IDEA по мотивам внутренних митапов Максилекта. В прошлый раз обсудили интерфейс, а сегодня речь пойдет об удобных средствах отладки и инструментах совместной работы с кодом.


Читайте также: