Я использую IntelliJ уже около 5 лет (начиная с версии 4.5), и я также прочитал большую часть книги Мэннинга «IntelliJ в действии», и я до сих пор не считаю себя гуру в этом деле. На самом деле, я также хотел заняться «простой старой Java-разработкой», и, честно говоря, должен сказать, что это довольно хорошо. Как и другие ответы, я могу только сказать, что в его полезности есть определенное преимущество, которое действительно ставит его на первое место. Мы используем Eclipse и здесь, на работе, и, хотя у меня не так много опыта, я могу вам сказать, что в нем определенно много базовых вещей. Я потратил немало времени и усилий на изучение Eclipse, изучая, как делать повседневные вещи, которые я считаю само собой разумеющимся в IntelliJ, и они в основном отсутствуют или очень плохо реализованы. Рефакторинг, безусловно, очень помогает.
Помимо рефакторинга, я думаю, есть только тонна мелких штрихов, которые действительно делают это полезным. Я думаю, что пример может помочь прояснить ...
Попробуйте это:
Создать новый, пустой класс. Переместите курсор в фигурные скобки и выполните psvm и нажмите Ctrl-J - это расширит «psvm» до «public static void main (String [] args)». Существует целый список часто используемых идиом, которые будут обрабатываться этим ярлыком (и он также настраивается). Внутри основного блока кода введите этот код:
public static void main(String[] args) {
int x = 1000;
sout
}
В конце " sout ", снова нажмите Ctrl-J - вы увидите другое всплывающее окно, которое позволяет выбирать из нескольких различных расширений, но в целом это расширяется до "System.out.println ("") "и услужливо помещает курсор между двойными кавычками (такие мелкие штрихи, которые действительно заставляют его сиять, я думаю. Сравните с" IntelliSense "в Visual Studio - полный выпад, если вы спросите меня).
В любом случае, возврат на первую двойную кавычку - заметить, что удаляется соответствующая двойная кавычка? То же самое можно сказать и о скобках и скобках. Я думаю, что есть несколько угловых случаев, когда я предпочитаю, чтобы это не делалось, но в большинстве случаев это очень помогает. Вернемся к редактированию кода: просто наберите x , чтобы код выглядел следующим образом:
public static void main(String[] args) {
int x = 1000;
// add a few blank lines here too - the need for
// this will be obvious a little later
System.out.println(x);
}
Теперь переместите курсор к объявлению x и выполните Shift-F6 - это диалоговое окно рефакторинга на месте (я не знаю, как его назвать, поэтому я просто придумал это). Имя «x» оборачивается цветной рамкой, и вы можете начать вводить для него новое имя - по мере ввода все варианты использования этого имени также динамически обновляются. Еще одно приятное прикосновение, которое мне действительно нравится.
Попробуйте: поместите где-нибудь очень длинный комментарий, например:
// this is a really long comment blah blah blah i love to hear myself talking hahaha
Теперь скажите, что вы решили, что комментарий слишком длинный, поэтому переместите курсор к его середине и нажмите Enter. IntelliJ поместит оставшуюся часть комментария с префиксом «//» - он «знает», что это продолжение предыдущего комментария, поэтому он комментирует его для вас. Еще одно аккуратное прикосновение.
// this is a really long comment blah
// blah blah i love to hear myself talking hahaha
Еще один большой бонус, который мне нравится в IntelliJ по сравнению с Eclipse, заключается в том, что он гораздо менее навязчив - я действительно ненавидел то, как Eclipse удалось бы получить всплывающие окна поверх всплывающих окон, а фокус мыши был бы где-то, но фокус клавиатуры застрял на чем-то внизу, и т. д. Я думаю, что можно работать так, чтобы такого не происходило, но в первую очередь это меня очень раздражало. Это напоминает мне, что в IntelliJ, если вы наведете курсор мыши на пакет или файловый навигатор на левой панели, эта панель автоматически получает фокус мыши, поэтому я привык сразу использовать колесо мыши для осмотра. В затмении? Вы наводите курсор мыши, но фокус остается на панели редактирования, поэтому вам нужно щелкнуть мышью, чтобы перенести фокус, а затем использовать колесо мыши, чтобы осмотреться. Как я уже говорил, множество мелких штрихов, подобных тому, которые помогают повысить производительность.
При кодировании обращайте внимание на левую полосу желоба для красных символов типа «лампочка» на текущей строке - это IntelliJ, сообщающий, что есть возможные вещи, которые он может сделать. Используйте Alt-Enter, чтобы открыть небольшое диалоговое окно, и оно автоматически сообщит вам, о чем можно позаботиться. Допустим, вы вводите определение метода с именем «getFoo ()», и в нем нет члена foo - он предложит создать его для вас. Или, если вы используете класс и вызываете несуществующий метод, например, getFoo (), он предложит создать метод получения и член или обычный метод. Это просто полезно.
В целом, я бы сказал, что мелкие штрихи - это не то, о чем на самом деле захотят говорить гуру IntelliJ, но я действительно ценю, что такого рода вещи просто "хорошо сделаны". Они заботятся о мелких деталях, поэтому вам не нужно тратить много времени на проверку собственного синтаксиса. Я думаю об этом как о дворецком, помогающем мне с моим кодированием - он заботится о небольших делах, поэтому мне не нужно. У Бэтмена есть свой Альфред, а у меня есть IntelliJ. Все настройки мучительно изложены для вас, чтобы изменить, если хотите, но просто кажется, что все настройки по умолчанию направлены на повышение вашей производительности, вместо того, чтобы постоянно беспокоить вас по-настоящему обыденными решениями (особенно теми, которые вы почти всегда принимаете все равно один и тот же выбор).
У IntelliJ есть определенные недостатки: цена немного высока, и она достаточно велика, так что загрузка большого проекта может занять некоторое время. Мне повезло, что моя компания платит за лицензию, а также за очень хорошую рабочую станцию, поэтому она загружается достаточно быстро, но ваш пробег будет отличаться.