Зачем использовать Intellij, или что делать во время оценки - PullRequest
5 голосов
/ 17 сентября 2009

Я скачал IntelliJ IDEA и начал 30-дневную оценку.

Теперь мне просто интересно, почему я должен использовать IntelliJ для простой старой разработки Java (так что нет Hibernate, JSP и т. Д.)? Это не сильно отличается от затмения или NetBeans, поэтому я надеюсь, что некоторые гуру IntelliJ могут привести некоторые примеры того, что IntelliJ может сделать, чтобы оправдать вложение денег в него. Я пытаюсь использовать оценку в полной мере и не хочу пропустить важную функцию.

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

Ответы [ 6 ]

12 голосов
/ 17 сентября 2009

Я использую 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 есть определенные недостатки: цена немного высока, и она достаточно велика, так что загрузка большого проекта может занять некоторое время. Мне повезло, что моя компания платит за лицензию, а также за очень хорошую рабочую станцию, поэтому она загружается достаточно быстро, но ваш пробег будет отличаться.

10 голосов
/ 17 сентября 2009

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

Я бы сказал, что их наборы функций примерно одинаковы. Практически те же рефакторинги, те же ассистенты кода, тот же стиль использования и т. Д. Eclipse, возможно, имеет лучшие плагины и, возможно, намного больше, чем IntelliJ. IntelliJ просто «знает» вещи прямо из коробки, такие как Spring и Hibernate, и эти вещи лучше интегрированы, чем плагины Eclipse с похожей функциональностью.

Причина, по которой я выбираю использование IntelliJ, когда это разрешено (лично приобретено и обновлено несколько раз), заключается в том, что все, что он делает, просто кажется чище. Мне трудно это понять, но та же самая функциональность в IntelliJ кажется более удобной и простой в использовании, чем в Eclipse - достаточно, чтобы я заплатил за нее, даже если есть полнофункциональная бесплатная IDE.

Итак, действия, которые вы должны сделать, чтобы решить это: используйте IntelliJ каждый день для всех ваших задач разработки в течение 30 дней. Пройдите через курс обучения новым ярлыкам и способам поиска, рефакторинга и т. Д., И я подозреваю, что вы предпочтете это. Если нет, Eclipse все еще там для вас.

4 голосов
/ 17 сентября 2009

Я только что вернулся в Eclipse через 2 года с Intellij (из-за предпочтений клиента).

Я считаю, что Eclipse меньше полезен . Я знаю, что это туманный термин, но отзывы Intellij были более ясными, пользовательский интерфейс дал мне лучшую информацию о происходящем, автоматическое построение казалось более плавным. Настройка / настройка проекта выглядит более интуитивно понятным.

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

(я не думаю, что плагин VIM для Intellij лучше, но это другая история!)

3 голосов
/ 17 сентября 2009

2weiji: используйте Tab вместо Ctrl + J :-) Это очень удобно :-))
sout , затем Tab
psvm , затем Tab
iter , затем Tab
и т.д ...: о)

2 голосов
/ 13 июля 2010

Зачем использовать IntelliJ? Потому что я нахожу это более последовательным в пользовательском интерфейсе и более отточенным. Это позволяет дольше держать руки на клавиатуре, а не переключаться между клавиатурой и мышью. Как говорили другие люди, это мелочи, которые складываются.

Я считаю, что функциональность пользовательских намерений значительно экономит время, а также то, как она просматривает код, предлагает оптимизацию и исправляет плохие практики. То, что я могу нажать Alt - Введите во многих контекстах, и IDE сможет выяснить и вставить то, что должно быть там. Такие неприятные вещи, как объявления типов, оптимизация цикла for в старом стиле для использования нового цикла JDK-5, удаление избыточных присвоений значений или неиспользуемых переменных.

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

Рефакторинг поддержки - это был большой пункт продажи, когда я впервые начал использовать его в 2003 году, и я думаю, что он все еще лидирует (но я слышал, что Netbeans тоже довольно хорош)

Настоятельно рекомендуем взглянуть на справочник IntelliJ KeyMap.

Посмотрите на это обсуждение для часто используемых сочетаний клавиш: Какие наиболее полезные сочетания клавиш Intellij IDEA?

1 голос
/ 17 сентября 2009

Я не гуру IntelliJ IDEA, но фанатам в IntelliJ обычно нравятся отличные функции рефакторинга и помощи при работе с кодом. Они часто утверждают, что этот продукт намного превосходит своего конкурента с этой точки зрения.

Лично я сторонник следующего принципа: используйте IDE, с которой вы чувствуете себя наиболее продуктивно, а не ту, которую предпочитает кто-то другой.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...