Могу ли я начать индексирование Intellij IDEA как последний шаг ночной сборки?
Во время наших ночных сборок мы извлекаем последние подтвержденные проверки из многосайтового репозитория управления исходными кодами и объединяем наши локальные изменения с исходным кодом и компилируем / собираем. Это оставляет нам с измененными датами и содержанием на многих файлах. Когда я приеду на следующее утро и нажму в моем окне Intellij IDEA, IDEA перестроит индекс по исходным файлам. С Intellij IDEA 10 это происходит в фоновом режиме, и скорость должна быть намного лучше. В ожидании я могу сделать много (но не все) операций над источником.
Выполнение индексирования в фоновом режиме - это хорошо, но могу ли я запустить команду, чтобы Intellij IDEA переиндексировал файл, как последний шаг моей ночной сборки? Таким образом, переиндексация завершена и готова, прежде чем я доберусь до офиса.
Я полагаю, что убить и перезапустить IDEA сработает, но это выглядит довольно резко, и я хотел бы быть уверенным, что никакие изменения не были сохранены в то время. К вашему сведению, работает на Debian Linux.
Спасибо алан
1 ответ
На самом деле IDEA должна автоматически обнаруживать внешние изменения через fsnotifier и выполнять индексацию измененных файлов. Если этого не произойдет, вы можете использовать File | Синхронизировать. Также есть Настройки | Генерал | Синхронизация файлов при активации фрейма, сворачивание и восстановление окна IDEA должны привести к синхронизации файлов, когда эта опция включена.
Внешний инструмент, который найдет окно IDEA, свернет его и восстановит, вызовет синхронизацию, запустите его как последний шаг сборки.
Вы также можете написать простой плагин IDEA, который будет прослушивать некоторый порт TCP и вызывать действие Synchronize. Затем создайте инструмент, который подключается к этому порту и отправляет некоторую команду для принудительной синхронизации за пределами IDEA. Запустите этот инструмент как последний шаг сборки.
С таким плагином у вас будет больше контроля над IDEA, и при необходимости можно будет вызывать другие действия, такие как перезапуск IDEA, открытие проекта и т. Д.