Классическая модель разработки любых приложений подразумевает наличие хорошей документации по пользовательскому интерфейсу и API, а также, при необходимости, хорошего покрытия исходного кода комментариями. В этом случае, доработка системы начинается с изучения документации, затем непосредственно изменяется код и, наконец, обновляется вся необходимая информация.
Однако, одна из проблем такого подхода заключается в том, что это значительно удорожает и замедляет сам процесс разработки. Что если всего этого нет? Тогда на помощь приходит IDE, благодаря которой можно изучить текущую логику по “голому” коду.
Когда мы разрабатывали платформу lsFusion со встроенным языком, то у нас было несколько вариантов. Либо изобретать велосипед, и писать с нуля свою собственную IDE, как сделал в свое время 1С, или реализовать плагин к уже существующей. Мы пошли по второму пути, и в этой статье я покажу, что получилось.
Так как сама платформа разработана на Java, то у нас были две основные опции: Eclipse или IDEA. Мы остановились на последнем варианте и не прогадали. Когда мы принимали решение, IDEA еще была недостаточно популярна, но с тех пор, они вырвались в лидеры на рынке, а Eclipse тихонько отстает.
Что такое VPN за 8 минут. Анонимный интернет — как работает и что выбрать?
На разработку самого плагина ушло не очень много времени, так как удалось во многом задействовать код, используемый непосредственно при выполнении платформы. Таким образом, мы минимальными усилиями получили очень мощную IDE, во многих аспектах значительно превосходящую по функционалу IDE многих других ERP-платформ (как родных, так и построенных на Eclipse).
Роль IDE в разработке тяжело переоценить. Несмотря на то, что многие разработчики до сих пор используют vim и считают, что так и надо. Эта позиция имеет право на жизнь, если один человек разрабатывает и в дальнейшем поддерживает этот код. Однако, в более крупных проектах, где участвует большое количество людей очень важна их взаимозаменяемость.
Сотрудники болеют, уходят в отпуск, увольняются в конце концов. Кроме того, нагрузка по разным проектам неравномерна, и иногда требуется на один из них подключить большее количество людей, чтобы уложиться в короткие сроки. В такие моменты к доработкам приходится подключать новых людей, которым нужно быстро разобраться в том, как в текущий момент работает программа, и внести необходимые изменения. И тут на первый план выходит IDE.
В первую очередь от IDE нам требовалось следующее:
- Поддержка синтаксиса. Подсветка ключевых слов, автоподстановка, подсветка ошибок.
- Навигация. Переход к объявлению, поиск использований, поиск по текстовой строке, файлу или названию и т.д.
- Анализ. Иерархия классов и вызовов, а также свойства и действия класса.
- Рефакторинг. Переименование классов, свойств и действий.
- Визуализация форм. Отображению разработчику текущего дизайна определенной формы.
- Метапрограммирование. Возможность на лету генерировать код на основе метакодов.
- Отладчик. Возможность ставить breakpoint’ы (в том числе и с условиями), отлаживать императивную логику, смотреть watches.
- Language Injection. Навигация, рефакторинг, автоподстановка и подсветка синтаксиса lsFusion при использовании в других языках — Java и JasperReports XML.
Приведу несколько простых примеров для того, чтобы показать, как это работает на практике.
Что такое Kotlin установка IDEA и первая программа))
Поддержка синтаксиса
Плагин умеет подставлять допустимые ключевые слова, возможные свойства, автоматически обнаруживать различные ошибки:
Навигация
Возьмем логику из примера Управление материальными потоками. Предположим, нам нужно посмотреть, где объявляется свойство Цена. Для этого нужно под пользователем с правами администратора навести указатель мыши на заголовок нужной нам колонки:
В появившемся окне сразу видно, в каком модуле это свойство создано (Shipment), какой номер строки в нем (37), таблица в которой хранится (_auto_Shipment_ShipmentDetail), и ряд другой информации.
Чтобы перейти непосредственно к объявлению свойства, нужно начать поиск файла и в появившемся диалоге ввести Shipment:
Затем при помощи Navigate — Line/Column переходим к 37й строке, где видим объявление свойства:
Нажав CTRL+ALT+F7, стоя курсором на нужном свойстве, можно быстро найти все его использования по всем проектам:
В данном случае, первое использование цены идет в расчете суммы по строке. Два последних — это добавление на соответствующие формы.
При необходимости можно включить поиск только по записи в данное свойство, если убрать соответствующую опцию:
Тогда в списке останется только запись в это свойство. Чтобы узнать, какое конкретно значение в него записывается нужно встать курсором на salePrice и нажать Go To Declaration or Usages. Дальше вернутся через Navigation — Back и перейти к объявлению свойства item:
Подводя итог, мы нашли, где объявлено это нужное нам свойство, в каких случаях оно используется, и когда туда идет запись. На видео я делал все действия мышкой, хотя конечно на практике используется исключительно клавиатура. Такая техника позволяет быстро определять текущую реализованную логику системы и вносить в нее изменения, имея полное представление о том, к чему это приведет.
Рефакторинг
Часто бывает ситуации, когда требуется изменить название свойства, класса, формы или любого другого элемента в системе. Для осуществления такого действия нужно стать на этот элемент и нажать Refactor — Rename:
Переименование элемента автоматически изменяет исходный код во всех местах его использования. Кроме того, если создан файл migration.script, туда будут добавлены соответствующие записи. Серверу необходимо знать изменения имен, чтобы, например, автоматически мигрировать данные из одной колонки в другую. Иначе, невозможно отличить переименование от создания нового свойства с другим именем.
Анализ
Перед тем как выполнить рефакторинг, часто бывает необходимо выяснить «что происходит» и «кто все эти люди».
Для этого IDEA, практически из коробки, позволяет просмотреть структуру выбранного класса (доступные для этого класса свойства и действия):
Также, если необходимо составить общую картину происходящего, IDEA позволяет строить различные иерархии:
- наследований выбранного класса
- использований выбранного элемента (например, свойства или формы)
Все верхние возможности предоставляются IDEA автоматически (с минимальными телодвижениями) после реализации механизма поиска объявлений. Следующий набор возможностей заставил повозиться с плагином немного больше, но все равно значительную часть инфраструктуры предоставила IDEA (не без проблем конечно, но об этом позже).
Визуализация форм
В lsFusion структура и дизайн форм задается в том же коде, что и доменная логика, при помощи специальных конструкций. При этом разные части формы могут быть объявлены в разных модулях, а при запуске сервера будут “сливаться” воедино в зависимости от подключенных модулей.
Чтобы видеть результирующий дизайн можно, конечно, перезапускать сервер, и смотреть результат в клиенте. Но на рестарт сервера требуется определенное время. Плагин же умеет:
- Показывать текущий дизайн и иерархическую структуры формы в специальном окне
- Находить элементы в структуре формы
- Выделять выбранный элемент формы в дизайне
При построении формы учитываются только текущий активный модуль и все, от которых он зависит.
Визуально изменять текущий дизайн пока невозможно, так как форма формируется из нескольких блоков кода. При модификации тяжело однозначно определить в каком месте нужно вносить соответствующие изменения. Кроме того, один и тот же элемент может модифицироваться в нескольких блоках кода, и платформа гарантирует, что если один модуль зависит от другого, то его изменения будут применены последними. Однако, в дальнейшем мы планируем добавить определенный функционал по визуальному изменению дизайна.
Метапрограммирование
Иногда возникает потребность создавать однотипный код для различных задач. В lsFusion есть механизм метакодов, который позволяет генерировать код на основе некоторого шаблона. При этом, в случае изменения метакода, будет происходить автоматическая обновление кода. По сути, это автоматический copy/paste с возможностью замены определенных идентификаторов на заданные значения.
Для включения этого механизма нужно сначала активировать его в меню. После этого IDE будет сама автоматически изменять соответствующий код.
При запуске сервера будет использоваться только сгенерированный код. Сами шаблоны META при запуске сервера учитываться не будут.
Кстати, реализация возможности метапрограммирования заставила нас внести еще один вклад в open-source (в данном случае в лице Intellij IDEA). Дело в том, что в ERP метакоды используются достаточно активно, и, соответственно, часто возникает необходимость сгенерировать код / удалить сгенерированный код. Это приводит к большому количеству асинхронных изменений файлов, что, в свою очередь, приводило к весьма своеобразному багу. Проблема в том, что в самом JetBrains его не могли воспроизвести, поэтому все свелось к тому, что нам самим пришлось написать неработающий юнит-тест. Это конечно заняло несколько дней, зато косвенно помогло нам при реализации следующих двух возможностей.
Отладчик
Когда по коду совершенно непонятно что происходит, то приходится обращаться к отладчику. На любой строке императивной логики (действия, события, ограничения) можно поставить breakpoint. Как только выполнение сервера достигнет этой точки, оно будет остановлено и управление перейдет в отладчик. В этот момент можно смотреть watches, а также продолжать выполнение построчно. Слева будет показан stack trace, по которому можно перемещаться как при отладке обычного Java приложения.
При просмотре текущих значений можно обращаться как текущим объектам (например, Shipment s), так и к любым другим объектам из базы (например, Item i). Однако, разработчик сам несет ответственность за добавление в watches данных, считывание которых займет много времени или памяти, и приведет к падению производительности.
Также можно ставить breakpoint’ы на конкретное свойство. Выполнение остановится в любом месте, когда в него будет производится запись:
Это бывает полезно, когда нужно определить какое событие или действие изменяет значение свойства.
Для реализации отладчика мы на самом деле использовали существующий в IDEA Java Debugger. То есть отлаживается платформа как обычное Java приложение, но для lsFusion действий мы создаем proxy java методы и подменяем их отображение на свой код (я так понимаю в IDEA это сделано для поддержки Scala и других оберток над Java). И вот тут был забавный момент.
В какой-то момент разработчики IDEA сделали конструктор своего Java Debugger закрытым (private). И если ситуацию с вызовом private методов еще можно обойти через Reflection, то как унаследоваться от класса с private конструктором — непонятно. Но как раз в то время шли разборки с багом из верхнего раздела, и мы «по бартеру» решили попросить людей из JetBrains сделать этот конструктор обратно protected, на что они отреагировали очень оперативно (за что им конечно большое спасибо).
Language Injection
Одна из самых необычных возможностей IDEA — возможность обеспечивать поддержку своего языка в строковых константах других языков. Для этого достаточно сказать IDEA, какие именно строковые константы относятся к твоему языку, дальше IDEA сама автоматически:
- генерирует виртуальный файл (или несколько файлов) с заданными префиксами для каждой строковой константы
- создает в редакторе исходного файла для всех констант своего рода «окна» в этот виртуальный файл
- обеспечивает в этом виртуальном файле поддержку всех возможностей «внедряемого» языка, таких как подсветку ошибок, переход к объявлению, автодополнение, поиск использований и, что особенно важно, рефакторинг. То есть, при переименовании любого элемента на одном языке, он автоматически переименовывается и во всех строковых константах, ссылающихся на этот элемент в других языках. Таким образом вы автоматически защищены от «битых» ссылок.
Здесь в IDEA тоже был (и сохраняется) небольшой баг. Когда виртуальный файл большой, то если при переходе к использованию IDEA должна перейти на начало «окна внедрения», она на самом деле переходит на конец предыдущего «окна внедрения» (то есть например на предыдущее использование свойства в Java-файле).
Существует конечно, простой обход этого бага — создавать по отдельному виртуальному файлу на каждый строковый литерал. Но такой подход тормозит когда использований больше 30, поэтому в этом случае все равно приходится использовать один большой виртуальный файл (с другой стороны, когда использований много, найти правильное, то есть следующее, использование не так уж и сложно). Мы просили исправить этот баг опять-таки в рамках «обмена услугами», и разработчики JetBrains его вроде как пофиксили, но, как позже выяснилось, как-то не так (это еще по коммиту было видно, но мы подумали, что просто не до конца его поняли). Впрочем, у нас к этому багу все уже давно привыкли, благо ситуация с использованием больше 30 элементов в одном файле встречается достаточно редко.
В статье описаны только основные варианты использования. В ней также присутствуют возможности по поиску реализаций абстрактных свойств и классов, визуализации зависимостей между модулями и свойствами, автоматической генерации форм на основе xml/json и многое другое. И, конечно же, есть встроенная интеграция с основными системами контроля версий Git и Subversion, а также поддержка Maven и Ant.
Пойдя по пути разработки плагина к IDEA, мы небольшими усилиями получили очень мощную бесплатную интегрированную среду разработки, превосходящую по многим параметрам IDE конкурентов.
- Блог компании lsFusion
- Open source
- Проектирование и рефакторинг
- ERP-системы
- Управление разработкой
Источник: habr.com
Установка и настройка IntelliJ IDEA
IntelliJ IDEA – одна из самых мощных универсальных сред разработки. Она поддерживает такие языки, как PHP, JavaScript, Sass, Ruby, Python и конечно же Java. Добавьте сюда поддержку популярных фреймворков и движков, тестов для кода, адаптацию под мобильные устройства, интеграцию с Git и Mercurial, инструменты для работы с серверами – и вы поймёте, что с IntelliJ IDEA программирование проще и продуктивнее.
Если вы только делаете свои первые шаги в мире IT – вот краткое руководство IntelliJ IDEA, как установить и создать свой первый проект. Рекомендуем также посмотреть мастер-класс по созданию сетевого чата в среде IntelliJ IDEA.
Установка
Существует две версии IntelliJ IDEA – Community и Unlimited. Первая – бесплатная, но ограниченная. В ней не поддерживаются фреймворки Spring, Vaadin, GWT, языки JavaScript и TypeScript, SQL и многое другое. Вторая включает в себя всевозможные фичи для коллективной разработки, но бесплатна будет только 30 дней пробного периода. Потом вам придётся заплатить минимум 533 доллара США.
Нам с головой хватит возможностей бесплатной версии, соответственно, ориентируемся на установочный файл с именем idealC.
Для установки в ОС Windows нам потребуется скачать с официального сайта исходник с расширением exe. Далее запускаем его и следуем инструкциям установщика.
В MacOS — двойной щелчок на файле ideaIC.dmg, монтируем архив и копируем исходники в папку Applications.
Для Linux необходимо распаковать ideaIC.gz в директорию, которая поддерживает выполнение файлов. Для иерархии формата FHS это /opt. После этого перейдите в подкаталог /bin и запустите файл idea.sh.
Теперь давайте разберёмся, как настроить IntelliJ IDEA.
Предварительная настройка
При первом запуске IntelliJ IDEA перед вами выскочит диалоговое окно с требованием указать путь до файла с настройками. Так как это наш первый опыт знакомства с IDE, то выбираем пункт «Do not import settings». Если данное окно вылезло после обновления или переустановки – выберите исходную директорию.
Следующим шагом настройки intellij idea будет выбор темы. ПО умолчанию их две – стандартная (светлая) и Darcula (тёмная).
Как уже было написано выше, IDEA поддерживает огромное количество вспомогательных инструментов. Разумеется, новичку они все не нужны. Поэтому следующим шагом будет их отключение для увеличения производительности. Для этого в очередном диалоговом окне выбираем «Disable All». Не переживайте, их можно подключить позднее в меню настроек.
Впрочем, среда программирования IntelliJ IDEA на этом и не думает успокаиваться, предлагая скачать дополнительные надстройки. Спасибо, нас это тоже не интересует!
Теперь, когда с установкой и настройкой IntelliJ IDEA покончено, можно приступить к работе. Начинается она, разумеется, с создания IntelliJ IDEA проекта.
С этим действием у вас вряд ли возникнут трудности, ведь новое диалоговое окно предлагает лишь 4 варианта: создать новый проект (Create New Project), открыть существующий (Open), импортировать проект (Import Project) или выйти из системы контроля версий (Check out from Version Control). Выбираем первый пункт. Подробнее о том, как создать проект IntelliJ IDEA, что делать уже внутри среды, лучше почитать на официальном сайте, потому что возможностей для кастомизации рабочего пространства здесь действительно много.
Проблемы и вопросы
Далее у вас наверняка возникнет несколько вопросов, один из которых касается активации IntelliJ IDEA. Ограниченная версия или 30-дневная триал-версия не требуют регистрации и дополнительных манипуляций. Но если вы хотите активировать купленную, необходимо выполнить следующие действия:
- На приветственном экране, откуда мы создаём проект, найти в нижней части меню Configure->Manage License. Если вы уже находитесь внутри, тогда на верхней панели Help->Register.
- Перед вами 3 возможных способа активации: через аккаунт (JetBrains account), с помощью кода (Activation Code), через сервер лицензий (License Server). В зависимости от того, каким образом вы или ваш работодатель приобретали лицензию и какими данными располагаете, выберите нужный пункт.
- Вводим необходимые данные, нажимаем кнопку «Activate» и наслаждаемся безграничной работой.
Следующий традиционный вопрос касается обновления IDE. Здесь алгоритм такой же, как при установке: скачать-запустить-следовать инструкциям или удалить-установить заново-сослаться_на_существующий_файл_настроек в самом первом диалоговом окне.
И конечно ни один форум не обходится без вопроса: «Не запускается, что делать?». Ответ традиционный — ещё раз внимательно читаем, как установить IntelliJ IDEA. Если все сделано правильно — программа гарантированно запустится. Если же неполадки возникают непосредственно при работе IDEA, скорее всего, дело в неправильно установленных плагинах, ответы ищите на официальных сайтах их разработчиков.
На всякий случай вот ещё инструкция, как удалить IntelliJ IDEA:
- стандартным способом через панель управления в Windows. При желании добить остатки в реестре по пути: “HKEY_CLASSES_ROOTIntelliJIDEAProjectFile”;
- в Linux потереть файлы вручную, а также удалить директории настроек “config” и “system”, если они лежат не в корне.
- В MacOS стандартно удалить через иконку программы и почистить кэш по направлению “settings/caches/plugins/logs”.
Перед тем, как вы решите с головой погрузиться в мир новой IDE, помните, что это сложный продукт с резкой кривой обучаемости. Поэтому правильным выбором для обучения будут курсы по Java с практическими уроками IntelliJ IDEA. Так вы и в профессию быстрее втянетесь, и мощным инструментом овладеете.
Источник: gb.ru
Создание проекта в IntelliJ IDEA
IntelliJ IDEA и аналогичные ей среды разработки — одни из первых инструментов, которые нужно освоить начинающему программисту. В этом материале рассмотрим установку и настройку ПО, а также порядок создания проекта в IntelliJ IDEA.
Что такое IntelliJ IDEA
IntelliJ IDEA — интегрированная среда разработки Java приложений от компании JetBrains. Ее позиционируют как самую умную и удобную среду разработки для Java с поддержкой всех последних технологий и фреймворков. IntelliJ IDEA входит в тройку самых популярных IDE для Java вместе с Eclipse IDE и NetBeans IDE. Сравнение трех сред разработки есть в данном материале о выборе среды для разработки.
IntelliJ IDEA хорошо знакома сообществу Javarush. Уже с третьего уровня студенты выполняют задания в IntelliJ IDEA, которая легко интегрируется с курсом. Ученики курса получают практические задания прямо в среде разработки. В ней же студент может отправить выполненное задание на проверку и сразу получить обратную связь.
Чтобы посмотреть, как все устроено, нужно иметь аккаунт на JavaRush — онлайн-курсе по изучению программирования на Java с акцентом на практику: 1200+ задач с моментальной проверкой, мини-проекты, задачи-игры, сотни лекций по основам Java. |
Хоть IntelliJ IDEA известна как среда разработки для Java, в ней из коробки поддерживаются несколько языков программирования. Кроме того, IntelliJ IDEA интегрирована с рядом современных фреймворков. В данную среду разработки встроены все популярные системы контроля версий и системы сборки приложения. В IDEA реализована поддержка многих серверов приложений.
Начиная с шестой версии, IntelliJ IDEA предоставляет интегрированный инструментарий для разработки графического пользовательского интерфейса. У этой среды разработки есть мощные аналитические возможности. Благодаря им эта IDE на лету подсказывает разработчику лучшие варианты кода в текущем контексте. IDEA располагает набором инструментов для рефакторинга существующего кода и быстрого написания шаблонных конструкций.
Условия использования IntelliJ IDEA
- Community Edition
- Ultimate Edition
- JavaScript
- TypeScript
- SQL
- CSS, LESS, Sass, Stylus
- CoffeeScript
- ActionScript
- XSL, XPath
- Ruby, JRuby (через плагин)
- PHP (через плагин)
- Go (через плагин)
- Java
- Groovy
- Kotlin
- Scala (через плагин)
- Python, Jython (через плагин)
- Dart (через плагин)
- Erlang (через плагин)
- XML, JSON, YAML
- AsciiDoc, Markdown (через плагины)
- Spring (Spring MVC, Spring Boot, Spring Integration, Spring Security and others)
- Java EE (JSF, JAX-RS, CDI, JPA, etc)
- Grails
- GWT, Vaadin
- Play (через плагин)
- Thymeleaf, Freemarker, Velocity, Tapestry
- Struts, AspectJ, JBoss Seam, OSGI
- React
- AngularJS (через плагин)
- Node.js (через плагин)
- Apache Flex, Adobe AIR
- Rails, Ruby Motion (через плагин)
- Django, Flask, Pyramid (через плагин)
- Drupal, WordPress, Laravel (через плагин)
- Android (включает функциональность Android Studio)
- Swing (incl. UI Designer)
- JavaFX
- Team Foundation Server
- Perforce
- Git, GitHub
- Subversion
- Mercurial
- CVS
- Tomcat
- TomEE
- Google App Engine and other clouds (через плагины)
- GlassFish
- JBoss, WildFly
- WebLogic
- WebSphere, Liberty
- Geronimo
- Resin
- Jetty
- Virgo
- Kubernetes (через плагин)
- Docker, Docker Compose
- NPM (через плагин)
- Webpack
- Gulp
- Grunt
- Maven
- Gradle
- SBT
- Ant
- Gant
- Ivy (через плагин)
- Database Tools
- Diagrams (UML, Dependencies, и т.д.)
- Dependency Structure Matrix
- Detecting Duplicates
- Settings synchronization via JetBrains Account
- REST Client
- Darcula (темная тема)
- Debugger
- Decompiler
- Bytecode Viewer
- Unit Tests Runner (JUnit, TestNG, Spock; Cucumber, ScalaTest, spec2, etc)
- Интеграция с баг-трекинговыми системами (YouTrack, JIRA, GitHub, TFS, Lighthouse, Pivotal Tracker, Redmine, Trac, и т.д)
- Поддержка 24/7
- Баг-трекинговая система и форумы
Преимущества InteliJ IDEA
Данная IDE помогает максимизировать эффективность разработчика. Забота об эргономике среды разработки прослеживается в каждом аспекте.
Интерфейс среды спроектирован так, что большую часть времени разработчик видит только редактор кода: Кнопки, активирующие дополнительные инструменты, расположены на боковых и нижней панелях экрана. Каждый инструмент можно быстро отобразить или скрыть:
В IntelliJ IDEA практически каждое действие можно выполнить через определенное сочетание клавиш.
Разработчик может сам назначать новые и менять старые сочетания клавиш для частых действий. В интерфейсе IntelliJ IDEA в каждой древовидной структуре, списке или всплывающем окне, будь это дерево проекта или же окно настроек среды разработки, есть навигация и поиск.
Достаточно сфокусироваться на нужном месте и начать вводить искомый текст: IntelliJ IDEA удобна при написании кода и его отладке. Дебаггер IDEA показывает значения переменных прямо в коде. И каждый раз, когда переменная изменяет свое значение, она подсвечивается дебаггером:
В среде разработки есть несколько тем оформления. По умолчанию доступны две темы — светлая и темная. Начиная с версии 2019.1, темы оформления можно кастомизировать и загружать новые через плагин:
Инструменты для работы с кодом в IntelliJ IDEA
У IntelliJ IDEA есть много инструментов для работы с кодом. Приведем примеры некоторых из них. Используя инструмент Live Templates, разработчик в разы сокращает время на написание часто используемых конструкций кода. Например, для создания метода main достаточно набрать в редакторе psvm и нажать клавишу TAB: -> tab ->
IntelliJ IDEA индексирует и анализирует весь проект, благодаря чему в любое время она способна моментально находить нужные разработчику классы, методы и файлы. В IDEA реализовано несколько поисков, среди которых есть:
- Поиск класса по имени
- Поиск файла или директории по имени
- Поиск по проекту
- Поиск по модулю
- Поиск по директории
- Поиск по области, среди:
- файлов проекта
- тестовых файлов проекта
- открытых файлов
- недавно просмотренных файлов
- недавно измененных файлов
- и т. д.
Также благодаря индексации и анализу всего проекта привычный для разработчиков автокомплит становится на несколько уровней интеллектуальнее. Smart completion (Ctrl+Shift+Space) дает программисту список наиболее релевантных вариантов кода, применимых к данному контексту: Chain Completion (Ctrl+Shift+Double Space) проводит более глубокий анализ текущей ситуации и предлагает использовать методы классов или переменных для текущего контекста:
Функция Static Completion предоставляет список статических полей и методов применимых в данном контексте. Работая в IDEA, программисту не нужно думать об импортах. Среда разработки импортирует нужные пакеты и удаляет из списка импортируемых пакетов ненужные на лету. Помимо прочего, IntelliJ IDEA предоставляет разработчику мощные инструменты для рефакторинга, чтобы быстро реорганизовывать исходный код программы. Все это — малая часть инструментов, которые IntelliJ IDEA предлагает разработчику для работы с кодом.
Недостатки среды разработки
Все вышеперечисленное относится к плюсам IntelliJ IDEA. Однако, как и любой программный продукт, у нее есть и минусы. IntelliJ IDEA разрабатывается с 2001 года. У этого крупного программного продукта — большое количество исходного кода. Как следствие, при работе с IDEA можно наткнуться на баги.
IntelliJ IDEA требовательна к ресурсам. По умолчанию она выделяет до 512 Мб на x86 и до 768 Мб на x64. Но порой, например, при крупном рефакторинге, даже этого может быть недостаточно. Стоит сказать, что эти значения могут быть увеличены. Однако при этом IDEA будет сжирать еще больше ресурсов системы.
При работе с большими файлами, например, с классами в несколько тысяч строк кода IDEA может заметно подтормаживать. Компания JetBrains регулярно выпускает обновления к IntelliJ IDEA. Очень редко, при обновлении IDEA, может что-то поломаться.
Создание проекта в IntelliJ IDEA
Чтобы создать проект, необходимо нажать в меню File -> New -> Project… Далее, в открывшемся окне, нужно выбрать тип проекта. IntelliJ IDEA поддерживает несколько — выбираем Maven в левом боковом меню. В пункте Project SDK выбираем предустановленную версию JDK и нажимаем кнопку Next.
В следующем окне нужно определить GroupId и ArtifactId для нашего Maven проекта. В поле Version оставим значение по умолчанию — 1.0-SNAPSHOT.
В следующем окне нам останется определить имя проекта и его расположение в файловой системе. В нашем случае подойдут значения, которые предложила IntelliJ IDEA:
Все готово — наш проект создан.
- IntelliJ IDEA и Debug: не дайвинг, но снорклинг
- IntelliJ IDEA: стиль и форматирование кода
- Как стать магом в IntelliJ IDEA? Смотрите бесплатный курс Хайнца Кабуца
- Создание простейшего веб-проекта в IntelliJ Idea Enterprise. Пошагово, с картинками
Источник: javarush.com