Я использую DCEVM для перезагрузки классов в моем приложении Scala. У Sbt есть приятная особенность: он может автоматически компилировать классы при изменении их исходного кода. Итак, что я делаю, так это открываю два экземпляра sbt и запускаю ~;compile;copy-resources
в первом экземпляре для автоматической компиляции, а run
во втором экземпляре.
Для отладки я могу использовать инструмент удаленного отладчика в IntelliJ, который работает очень хорошо, за исключением одного (но важного): всякий раз, когда sbt перезагружает класс, IntelliJ больше не останавливается в точках останова. Мне приходится перезапускать удаленный отладчик, чтобы исправить это, что очень неудобно.
Мне не очень нравится встроенный компилятор, так как он очень медленный по сравнению с sbt (и к тому же не автоматический), однако, если я запускаю программу из IntelliJ и выполняю команду Compile file
, отладка работает хорошо.
Как я могу улучшить процесс разработки, заставив sbt и IntelliJ обновлять точки останова при перезагрузке класса или используя другую настройку? Заранее спасибо.