What’s new in intellij idea 2020.2

JavaScript and TypeScript

New intention actions for better productivity Ultimate

You can now quickly convert a for loop with a numeric index into a forEach
array method.
Reading documentation comments in JavaScript and TypeScript files has also become easier, as you
can now render them right in the editor to minimize distractions.

Prettier as a default formatter Ultimate

Starting with this release, it is now easier to set Prettier as the default
formatter for
tidying up your code. Just enable the On code reformat checkbox in settings, and
the IDE
will use Prettier whenever you reformat your .js, .ts, .jsx,
and .tsx files. If necessary, you can add other file types too.

Editor basics

Since in IntelliJ IDEA you can undo refactorings and revert changes from Local History, it makes no sense to ask you to save your changes every time.

The most useful Editor shortcuts are:

Action Description
Move the current line of code Ctrl+Shift+Up Ctrl+Shift+Down
Duplicate a line of code Ctrl+D
Remove a line of code Ctrl+Y
Comment or uncomment a line of code Ctrl+/
Comment a block of code Ctrl+Shift+/
Find in the currently opened file Ctrl+F
Find and replace in the current file Ctrl+R
Next occurrence F3
Previous occurrence Shift+F3
Navigate between opened tabs Alt+Right Alt+Left
Navigate back/forward Ctrl+Alt+Left Ctrl+Alt+Right
Expand or collapse a code block in the editor Ctrl+NumPad + Ctrl+NumPad -
Generate Alt+Insert
Surround with Ctrl+Alt+T
Highlight usages of a symbol Ctrl+F7

To expand a selection based on grammar, press Ctrl+W. To shrink it, press Ctrl+Shift+W.

IntelliJ IDEA can select more than one piece of code at a time. You can select next occurrence via Alt+J and deselect by pressing Alt+Shift+J. You can even select all occurrences at once, by pressing Ctrl+Alt+Shift+J.

Install as a snap package on Linux

You can install IntelliJ IDEA as a self-contained snap package. Since snaps update automatically, your IntelliJ IDEA installation will always be up to date.

IntelliJ IDEA is distributed via two channels:

  • The stable channel includes only stable versions. To install the latest stable release of IntelliJ IDEA, run the following command:

    sudo snap install intellij-idea-ultimate —classic

    sudo snap install intellij-idea-educational —classic

    sudo snap install intellij-idea-community —classic

    The option is required because the IntelliJ IDEA snap requires full access to the system, like a traditionally packaged application.

  • The edge channel includes EAP builds. To install the latest EAP build of IntelliJ IDEA, run the following command:

    sudo snap install intellij-idea-ultimate —classic —edge

    sudo snap install intellij-idea-educational —classic —edge

    sudo snap install intellij-idea-community —classic —edge

When the snap is installed, you can launch it by running the , , or command.

To list all installed snaps, you can run . For information about other snap commands, see the Snapcraft documentation.

Code completion

When you access by pressing Ctrl+Space, you get basic suggestions for variables, types, methods, expressions, for a parameter name you get type suggestions and so on. When you call Basic Completion twice, it shows you more results, including methods from implicit conversions that you can import.

The feature is aware of the expected type and data flow, and offers the options relevant to the context. To call Smart Completion, press Ctrl+Shift+Space. When you call Smart Completion twice, it shows you more results, including chains.

To let IntelliJ IDEA complete a statement for you, press Ctrl+Shift+Enter. will automatically add the missing parentheses, brackets, braces and the necessary formatting.

If you want to see the suggested parameters for any method or constructor, press Ctrl+P. IntelliJ IDEA shows the parameter info for each overloaded method or constructor, and highlights the best match for the parameters already typed.

The feature lets you transform an already typed expression to another one, based on the postfix you type after a dot.

Матрица зависимостей

IDEA предлагает полезный инструмент для анализа внутренних зависимостей в вашем проекте, который называется Матрица структуры зависимостей. Его можно использовать для анализа не только зависимостей между пакетами, но и отдельных классов.

Это может быть очень важно, так как тесно связанные классы и модули или даже циклические зависимости означают, что ваш код очень трудно реорганизовать и использовать повторно. Матрица структуры зависимостей (Dependency Structure Matrix или сокращенно DSM) может помочь вам визуализировать ваши зависимости и найти потенциальные проблемы

Во-первых, обязательно выполните команду build в свем проекте. Затем, чтобы запустить анализ, перейдя в меню «Analyze → Analyze Dependency Matrix…». Вам необходима редакция IDEA Ultimate и включить входящий в нее плагин DSM Analysis

Матрица структуры зависимостей (Dependency Structure Matrix или сокращенно DSM) может помочь вам визуализировать ваши зависимости и найти потенциальные проблемы. Во-первых, обязательно выполните команду build в свем проекте. Затем, чтобы запустить анализ, перейдя в меню «Analyze → Analyze Dependency Matrix…». Вам необходима редакция IDEA Ultimate и включить входящий в нее плагин DSM Analysis.

После завершения анализа вы увидите нечто похожее на это:

Чтобы лучше понять матрицу, посмотрите на следующий скриншот.

IDEA пропускает метки столбцов, чтобы сэкономить драгоценное пространство, но ведет себя так, как если бы они были там.

Каждая строка и столбец представляют пакет. Каждая ячейка представляет собой пересечение строки и столбца — это два пакета. Число в ячейке представляет количество зависимостей одного пакета от другого. Это означает, что один класс из исходного пакета использует другой класс из целевого пакета. Чем темнее клетка, тем больше зависимостей. Если существует более 99 зависимостей, он показывает … вместо номера.

Пока зависимости синего цвета, это хорошо, так как они только односторонние. Циклические зависимости будут показаны красным, что не очень хорошо. Но мы увидим это позже.

Run and debug

Once you’ve created a run/debug configuration by selecting Run | Edit Configurations from the main menu, you are able to run and debug your Scala code.

For sbt projects you are also able to run and debug your code using sbt shell. Options Use sbt shell for build and import and Enable debugging for sbt shell, located on sbt page in settings, will enable you to do so.


The regular actions for run/debug are as follows:

Action Shortcut
Run Shift+F10
Debug Shift+F9

When in the debug mode, you can by using the Evaluate expression tool, which is accessed by pressing Alt+F8. This tool provides code completion in the same way as in the editor, so it’s easy to enter any expression.

Sometimes, you may want to step into a particular method, but not the first one which will be invoked. In this case, use Smart step into by pressing Shift+F7 to choose a particular method.

Action Shortcut
Toggle breakpoint Ctrl+F8
Step into F7
Smart step into Shift+F7
Step over F8
Step out Shift+F8
Resume F9
Evaluate expression Alt+F8

If you want to «rewind» while debugging, you can do it via the Drop Frame action. This is particularly helpful if you mistakenly stepped too far. This will no revert the global state of your application, but will at least let you revert to a previous stack frame.

For more details, refer to Running and Debugging.

2.6 Плагины для IntelliJ IDEA

У IntelliJ IDEA есть множество плагинов, которые облегчают различные аспекты работы программистов. Но нам интересны в первую очередь те, которые помогают нам учиться.

Есть просто шикарный плагин для IntelliJ IDEA: называется он Key Promoter X. Он подсказывает вам, как различные сложные действия, которые вы выполняете в IDEA, можно сделать за одно нажатие комбинации горячих клавиш. Ставьте его — не пожалеете.

Для начала зайдите в раздел плагины. Для этого нужно нажать Ctrl+Alt+S. Затем наберите в строке поиска фразу KeyPromoter X, и устанавливайте плагин:

Поздравляю, теперь вы еще на один шаг ближе к профессии разработчика!

View options

The view options, generally, define what is shown in the tool window and how. To view or change these options, click on the title bar.

Option Description
Group Schema

This option defines how schema elements are shown.

When on, there are separate nodes for tables, views and stored routines (shown as folders). Tables, views and routines (procedures and functions) are shown as elements of the corresponding groups.

When off, there is no explicit grouping for tables, views, and routines. Tables and views are followed by procedures and functions.

Group Contents

This option defines how table elements are shown.

When on, there are separate nodes for columns, indexes, primary and foreign key constraints, and triggers (shown as folders). The elements appear in the corresponding groups.

When off, there is no such grouping and, generally, only columns are shown for tables.

Show Empty Groups

If the or the is on, you can select to show or hide the categories that contain no elements.

The Show Empty Groups option is on:

The Show Empty Groups option is off:

Show Intermediate Nodes

Shows or hides parent nodes only when you do not have other objects on the same level with a parent.

Enabled Disabled
Sort Alphabetically

When this option is off, columns, generally, are unsorted.

When this option is on, the columns are ordered alphabetically.

Show Toolbar Select or deselect this option to show or hide the toolbar.

Анализ Maven зависимостей

До сих пор мы рассмотривали только внутренние зависимости в вашем собственном коде. Тем не менее, вы можете столкнуться с различными проблемами, в том числе с внешними зависимостями. Это сторонние библиотеки ваших проектов. В этом можно запутаться, поскольку у вас нет только прямых зависимостей, но ваши библиотеки имеют собственные зависимости (транзитивные зависимости). Вы можете столкнуться со многими проблемами, такими как конфликт версий зависимостей одного и того же артефакта или даже циклические зависимости. Maven предлагает вам создать представление дерева зависимостей, которое может помочь вам в анализе потенциальных проблем. Вы можете просто вызвать:

Вы можете указать некоторые другие параметры, которые помогут вам в вашем исследовании, но для более крупных проектов может быть затруднительно работать с выходными данными дерева зависимостей напрямую.

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

Чтобы показать график, зайдите в файл pom.xml и нажмите Shift + Ctrl + Alt + U (или ⌥ + ⇧ + ⌘ + U на Mac). Или щелкните правой кнопкой мыши → Diagrams → Show Dependencies.

Вы увидите уменьшенный график зависимостей, где невозможно увидеть отдельные имена элементов, если вы не увеличите масштаб. Поиск отдельных элементов вручную может быть очень болезненным. К счастью, вы можете использовать команду Find как обычно, используя Ctrl + F.

Теперь мы можем легко определить конкретную зависимость, но все же множество несвязанных зависимостей затрудняет чтение графика. Давайте рассмотрим, как фильтровать зависимости, чтобы избавиться от нежелательного шума.

Первый вариант — показать только прямых соседей. То есть только прямые зависимости текущего элемента и только элементы, которые напрямую зависят от выбранного элемента.

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

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

IDEA выделяет для вас конфликтующие зависимости красным цветом. Тем не менее, может быть трудно найти, если что-то не так в огромном дереве зависимостей. К счастью, вы можете фильтровать только проблемные части:

В приведенном выше примере вы можете увидеть конфликт между версиями JUnit. Существует явная зависимость от JUnit 3.8.1 и другой версии, транзитивно полученной через spring-boot-starter-test.

Running and debugging a React application

The recommended way to start building a new React single page application is Create React App. Only in this case your development environment is preconfigured to use webpack and Babel. Otherwise, you need to first.

For applications created with Create React App , IntelliJ IDEA generates two run/debug configurations with default settings:

  • An npm configuration with the default name npm start. This configuration runs the command that launches the development server and starts your application in the development mode.

  • A JavaScript Debug configuration with the default name Debug Application. This configuration launches a debugging session.

버전 관리

완벽한 GitHub pull 요청 지원

이제 열려 있는 pull 요청의 세부 정보를 별도의 수직 도구 창에서 한 번의 클릭으로 확인할 수 있습니다. 기본 에디터 창에 대화가 표시되며 코멘트를 바로 추가할 수 있습니다. 커밋 전 검사 결과는 창 맨 아래에 표시됩니다. pull 요청을 관리할 수 있는 권한이 있으면 IDE 내에서 바로 요청을 탐색, 할당, 관리, 병합하고 코멘트를 확인한 후 제출하고 변경 내용을 수락할 수 있습니다.

에서 자세히 알아보기

향상된 Git 액션 대화상자

이번 릴리스에서는 Merge(병합), Pull(풀), Rebase(리베이스) 대화상자의 시각적 일관성을 수정했습니다. 또한 실행될 Git 명령어를 대화상자가 명확하게 식별하도록 개선하였으며 누락된 일부 옵션을 포함시켰습니다. Pull 및 Merge 대화상자에는 각각 및 를 추가했습니다.

브랜치 비교 액션의 결과 표시 개선

IntelliJ IDEA 2020.2에서 두 개의 브랜치를 비교할 때 IDE가 에디터에서 브랜치의 로그를 열어 커밋을 하나의 뷰에 표시합니다. VCS 도구 창과 달리 이 뷰에는 각 브랜치에 있는 커밋과 이에 영향을 받는 파일에 관한 전체 보고서를 볼 수 있는 충분한 공간이 있습니다.

로그에서 로컬 커밋 스쿼시 및 삭제

이제 로컬 브랜치에서 여러 커밋을 선택하여 스쿼시 할 수 있습니다. Git 도구 창에서 Log(로그) 탭을 열고 로컬 커밋을 선택한 다음 Squash Commits(커밋 스쿼시)를 선택하세요. 커밋 메시지를 변경 하기로 결정한 경우, 해당 커밋의 모든 변경 내용은 업데이트된 메시지와 함께 하나의 커밋에 포함됩니다. 또한 이제 Git 로그에서 커밋을 삭제할 수도 있습니다.

Build tools

Maven Wrapper support

IntelliJ IDEA 2020.2 now supports the Maven Wrapper, which automatically installs the
necessary version of Maven into your project. If the Maven Wrapper is present and
configured, the IDE automatically uses it and imports changes when they are required.

Maven versioning per project

You can now set a Maven version for each project instead of using the previous
approach, which used the same version of Maven for all open projects.

Build tool output presentation

To provide a more consistent user experience, we are now displaying the build output of
IntelliJ IDEA’s native builder in the Build tool window instead of in the Messages tool

Built-in developer tools

To streamline your workflow, IntelliJ IDEA offers an unbeatable toolset right from
the first
start: decompiler, bytecode viewer, FTP and many more.

Version control

IntelliJ IDEA provides a unified interface for major version control systems
including Git,
SVN, Mercurial, CVS, Perforce, and TFS. The IDE lets you browse the history of changes,
manage branches, merge conflicts and much more

Build tools

IntelliJ IDEA supports Maven, Gradle, Ant, Gant, SBT, NPM, Webpack, Grunt, Gulp
and other
build tools. Seamlessly integrated, these tools help automate compilation, packaging,
running tests, deployment and other activities

Test runner and coverage

IntelliJ IDEA lets you perform unit testing with ease. The IDE includes test
runners and
coverage tools for major test frameworks,
including JUnit, TestNG, Spock; Cucumber, ScalaTest, spec2, and Karma.


IntelliJ IDEA comes with a built-in decompiler for Java classes. When you want to
take a
look inside a library that you don’t have the source code for, now you can – without any
third-party plugins.


The IDE comes with a built-in terminal. Depending on your platform,
you can work with command line prompt, Far, powershell, or bash. Invoke the terminal with
Alt+F12 and execute any command–without leaving the IDE.

Database tools

Take advantage of intelligent coding assistance when editing SQL; connect to live
run queries; browse and export data; and even manage your schemes in a visual
interface–right from the IDE.

Application servers

IntelliJ IDEA supports major application servers: Tomcat, JBoss, WebSphere, WebLogic,
Glassfish, and many others.

You can deploy your artifacts onto application servers and debug the
deployed applications right from within the IDE.


Inspections are built-in static code analysis tools that help you find probable bugs, locate dead code, detect performance issues, and improve the overall code structure.

Most inspections not only tell you where a problem is, but also provide quick fixes to deal with it right away. Press Alt+Enter to choose a quick-fix.

Inspections that are too complex to be run on-the-fly are available when you perform code analysis for the entire project. You can do this in one of the following two ways: by selecting Analyze | Inspect Code from the main menu, or by selecting Analyze | Run Inspection by Name to run an inspection by its name.

Note that while inspections provide quick-fixes for code that has potential problems, intentions help you apply automatic changes to code that is correct. To get a list of intentions applicable to the code at the caret, press Alt+Enter.

Frameworks & Technologies

Jakarta EE 9 support Ultimate

We are ready for the Jakarta EE 9 release in September, and we already support all
features that are available for Jakarta EE, including CDI, JPA, Batch, Bean Validation, JSF,
JAX-RS, WebSocket, Servlets, JSP, JSON-P, JSON-B, Security, and EJB and JTA

Java Enterprise project wizard Ultimate

If you need to create a Java EE 8 or Jakarta EE 9 project, you can now do it using our New
Project wizard. A new Jakarta EE project is just steps away. Set it up by selecting the Java
version, build tool, extensions, and other options.

Quarkus config files support: .properties and YAML Ultimate

To make it easier for you to work with Quarkus configuration files, the IDE now provides code
completion and highlighting, and it colors unused code gray for both .properties and YAML
configuration files. Additionally, you can jump right from the configuration files to the
configured beans and back.

Better Quarkus CDI support Ultimate

With the current version of the IDE, you can use gutter navigation for injected beans and
updated inspections that work perfectly with the Quarkus simplified syntax. Additionally,
IntelliJ IDEA 2020.2 supports @DefaultBean, @AlternativePriority annotations, and injection by
qualifier only (no need to use @Inject).

Swagger UI support Ultimate

With the newly added Swagger UI integration, it is now possible to preview your OpenAPI in a
built-in panel in the IntelliJ IDEA editor. This is a great update for simplifying testing.

Swagger Diff Ultimate

The IDE has been improved so that it can calculate a structural diff between OpenAPI
specifications. Knowing the Swagger/OpenAPI specifics, IntelliJ IDEA 2020.2 compares JSON or
YAML files based on their structure, and you can preview the detected diff. To do so, choose
Compare Open API Specifications from the context menu or invoke this action from the Search
Everywhere dialog.

Project generation for Micronaut Ultimate

Here is another useful update for the New Project wizard and the Micronaut framework. We’ve
added the possibility to create new Micronaut projects directly from the wizard. Configure the
project step-by-step and start working with it in no time.

Message Queue support for Micronaut and Amazon SQS API Ultimate

If your Micronaut application uses asynchronous communication via RabbitMQ or
Kafka, this update is for you. Navigate message queues and topics using gutter icons, find
usages, and name completion. You can benefit from the same set of features for the Amazon SQS

JAX-RS and MicroProfile REST Client HTTP Requests Generation Ultimate

For easy creation and testing of HTTP requests, IntelliJ IDEA will automatically
generate JAX-RS and MicroProfile HTTP requests and then open them in the built-in REST Client.
You can even use intention actions to generate HTTP requests on any URL if your project uses one
of the enterprise frameworks: Spring, JAX-RS, Retrofit, OkHttp, or Micronaut.

URL code completion for REST Assured tests Ultimate

We’ve updated REST Assured tests with code completion for URL path references and
navigation to the related resources.


Примечание Строго 18+ и при наличии почты, выданной учебным заведением

На страничке, оформленной в строгом корпоративном стиле, вам предложат три продукта от Intel. Казалось бы, не сравнить с двумя дюжинами инструментов из GitHub Student Developer Pack, но это предложение ценой в сотни и тысячи долларов. Оно предназначено для студентов, зачисленных в высшие и среднеспециальные учебные заведения. Да, школьникам придётся поискать другие возможности, тут строго 18+. Для преподавателей есть отдельная программа.

Что предоставляют?

  • Intel Parallel Studio XE — среда разработки распараллеленного ПО. Включает библиотеки обработки сигналов и мультимедиа, сложных математических операций. Предназначена для работы на языках C, C++, C# и Fortran. Цена начинается от $699 и может перевалить за $2 949.
  • Intel System Studio — аналогичный продукт, но ориентированный на мобильные приложения и встраиваемые системы под Linux. Цена стартует с тех же $699 и поднимается выше $2 399.
  • Intel Distribution for Python — удобное ПО для работы с инструментами и пакетами для Python. Но этот инструмент в любом случае распространяется бесплатно.

Как получить?

Корпоративный стиль вас не обманул, придётся продраться через кучу страничек. Забрать всё сразу нельзя, нужно сначала выбрать необходимый продукт и на его странице нажать Choose&Download. В открывшемся окне выберите раздел Students, а в нём — вашу операционную систему. На открывшейся странице нажмите жёлтую кнопку Register.

Новая страница. Здесь нужно проставить четыре галочки в чекбоксах. Вы подтверждаете, что:

  • являетесь студентом вуза или среднеспециального учебного заведения;
  • подаёте заявку на индивидуальную лицензию на ПО, не предназначенную для коммерческого использования;
  • не получите вознаграждения за разработанные с помощью этого ПО приложения;
  • осознаете недоступность клиентской службы поддержки и готовы решать возникающие вопросы с помощью форума.

Ну и наконец регистрация. Ученический адрес электронной почты обязателен. Без него лицензию не получить. Никаких сканов документов, тут всё серьёзно. Ещё потребуется ввести имя, страну и название учебного заведения. Ах да, и не забудьте согласие на обработку личной информации. Именно здесь нужно подтвердить, что вам уже исполнилось 18 лет.


Separate editor for cell values Ultimate

This release introduces some valuable tools for cases where you have a long value in a cell.
Starting with this release, you can view and edit long values in a separate panel. The
editor panel has a soft-wrap mode that can be toggled in the right-hand toolbar.

New UI for boolean values Ultimate

It is now easier to observe and edit boolean values, which are now shown as raw
values instead of as checkboxes. You can type f, t, d, n, g, or c to enter the corresponding
values of false, true, default, null, generated, and computed. If you type anything else, you’ll
get a drop-down list with possible values.

DML preview in the data editor Ultimate

You can now preview a query with your changes in the data editor. To do so, click
the DML button that becomes active if there are changes pending.

Create HTTP request files

You can work with HTTP requests either from scratch files or from physical files of the HTTP Request type. Each file can contain multiple requests, and you can create as many files as needed.

Scratch files can be used to test HTTP requests during development. Scratch files are not stored inside a project, so IntelliJ IDEA can modify them and add additional information about the request. When an HTTP request is executed from a scratch file, the link to the response output file is added below the request and at the top of the file.

Physical files can be used for documenting, testing, and validating HTTP requests. Physical files are stored inside your project, and IntelliJ IDEA will not modify them. When an HTTP request is executed from a physical file, this file is not modified. Information about the executed request with the link to the response output file is added to the top of the file.


When you’ve imported or created your sbt project, you can edit its build.sbt file directly in the editor. In build.sbt you can specify compiler options, information about your sub-projects, and also define your tasks and settings. Every time you change the build.sbt file, you need to synchronize your changes with the project model in IntelliJ IDEA.

You can select the Use Auto-import option to synchronize the changes made to build.sbt automatically. To access this option, select File | Settings | Build, Execution, Deployment | Build Tools | sbt.

For manual synchronization, use the corresponding action on the sbt projects tool window toolbar: .

Note that any sbt task can be attached to be run before a run configuration.

IntelliJ IDEA also lets you use other build tools such as Gradle or Maven to build your Scala project.

Linting a React application

All the IntelliJ IDEA built-in code inspections for JavaScript and HTML also work in JSX code. IntelliJ IDEA alerts you in case of unused variables and functions, missing closing tags, missing statements, and much more.

For some inspections IntelliJ IDEA provides quick-fixes, for example, suggests adding a missing method. To view the quick-fix popup, press Alt+Enter.

To customize the list of inspections, open the Settings/Preferences dialog Ctrl+Alt+S, go to Editor | Inspections, and disable the inspections you don’t want to see or change their severity levels. Learn more from Disabling and enabling inspections and Configuring inspection severities.


When you execute the Build command, IntelliJ IDEA compiles all the classes inside your build target and places them inside the output directory.

When you change any class inside the build target and then execute the build action, IntelliJ IDEA performs the incremental build that compiles only the changed classes. IntelliJ IDEA also recursively builds the classes’ dependecies.

If you add a module dependency to your primary module and build the module, IntelliJ IDEA builds the dependent module as well and displays it in the output directory alongside the primary one. If the dependent module has its own module dependencies, then IntelliJ IDEA compiles all of them recursively starting with the least dependent module.

The way the module dependencies are ordered may be very important for the compilation to succeed. If any two JAR files contain classes with the same name, the IntelliJ IDEA compiler will use the classes from the first JAR file it locates in the classpath.


Dataflow analysis assistance

IntelliJ IDEA v2020.1 adds dataflow analysis assistance to the debugger, which predicts and shows you possible exceptions and always true/always false conditions based on the current state of the program execution.

When you debug Java code and reach a breakpoint, the IDE runs the dataflow analysis based on the current state of the program and shows you what will happen next, before the code execution reaches that point:

You can read all the details about this new feature in Integrating Java Dataflow Analysis and the Debugger.

Pin to top

Another small but helpful improvement is the ability to pin any of an object’s fields to the top of its fields list. This can come in handy when the object has so many fields that it becomes difficult to find the ones you need to investigate:

We’ve added another minor debugger improvement that allows you to connect to a debugging session from a remote machine through IPv6.

Silent installation on Windows

Silent installation is performed without any user interface. It can be used by network administrators to install IntelliJ IDEA on a number of machines and avoid interrupting other users.

To perform silent install, run the installer with the following switches:

  • : Enable silent install

  • : Specify the path to the

  • : Specify the path to the installation directory

    This parameter must be the last in the command line and it should not contain any quotes even if the path contains blank spaces.

For example:

ideaIU.exe /S /CONFIG=d:\temp\silent.config /D=d:\IDE\IntelliJ IDEA Ultimate

To check for issues during the installation process, add the switch with the log file path and name between the and parameters. The installer will generate the specified log file. For example:

ideaIU.exe /S /CONFIG=d:\temp\silent.config /LOG=d:\JetBrains\IDEA\install.log /D=d:\IDE\IntelliJ IDEA Ultimate


Начнём с компании, которая специализируется на создании средств разработки и инструментов командной работы. JetBrains предлагает бесплатный доступ к своим продуктам учащимся аккредитованных образовательных учреждений: средних школ, среднеспециальных и высших учебных заведений. Студент должен быть зачислен на аккредитованный учебный курс длительностью от одного года. Преподаватели также могут отправить заявку на получение лицензии. Однако надо учесть, что лицензию дают только для образовательных целей: инструменты нельзя будет использовать, например, для разработки ПО внутреннего пользования.

Что предоставляют?

ReSharper Ultimate — набор инструментов для разработки под .NET. В комплекте:

  • ReSharper, расширение VisualStudio для разработки под .NET;
  • ReSharper C++, расширение для разработки на C++;
  • dotTrace, инструмент контроля производительности;
  • dotMemory, профилировщик памяти;
  • dotCover, инструмент для запуска юнит-тестов и анализа покрытия кода;
  • dotPeek, инструмент для декомпиляции и исследования сборок.

IntelliJ IDEA — одна из самых популярных разработок компании, IDE для JVM. Community версия этой среды разработки доступна и бесплатно. В версии Ultimate компания предлагает такие дополнения:

  • интеграцию системы управления версиями Perforce;
  • поддержку JavaScript и TypeScript;
  • поддержку распространённых фреймворков и технологий, таких как Hibernate, Guice, FreeMarker, Velocity, Thymeleaf, Java EE, Spring, GWT, Vaadin, Play и других;
  • инструменты для работы с базами данных и SQL;
  • обнаружение повторяющихся участков кода.

Кроме этих двух больших продуктов, JetBrains предлагает студентам и преподавателям такие IDE:

  • AppCode под iOS/macOS;
  • PyCharm для Python и Django;
  • CLion для C/C++;
  • Rider под .NET;
  • DataGrip для баз данных и SQL;
  • RubyMine для Ruby и Rails;
  • GoLand для Go;
  • WebStorm для JavaScript;
  • PHPStorm для веб-разработки и PHP.

Как получить?

Способ 1. Студенческий/преподавательский адрес электронной почты. Помимо него потребуется сообщить статус (студент/преподаватель), имя и фамилию и страну, в которой находится учебное заведение. У студентов спросят про возраст, для оформления подписки нужно достичь 13 лет. На преподавателей это требование, видимо, не распространяется.

Способ 2. Обладатели удостоверения ISIC/ITIC могут ввести данные своей карточки — серийный номер и отображённое на карте имя. В таком случае ученический адрес личной электронной почты не требуется, подойдёт любой.

Способ 3. Можно попробовать предоставить официальный документ, подтверждающий ваш статус — например, студенческий билет. Нужно будет ввести имя и фамилию, адрес электронной почты (любой, принадлежащий вам), название учебного заведения, его официальный веб-сайт и страну размещения. Также надо подтвердить, что учебное заведение предоставляет услуги среднего или высшего образования и выдаёт дипломы государственного образца, а вы участвуете в образовательной программе длительностью от одного года. Скан или фотография документа должны быть не больше 4 мегабайт, содержать ваше имя, название образовательного учреждения, указания на срок действия документа. Надписи должны быть хорошо читаемы и доступны для перевода с помощью Google Translate. Вместо изображения документа можно предоставить ссылку на информацию.

Способ 4. Если вы оформили подписку на GitHub Student Developer Pack, можно подтвердить свой статус с помощью аккаунта GitHub. Вас автоматически переведут с сайта JetBrains на форму авторизации.

Срок подписки?

Лицензия предоставляется на один год и её можно продлевать — вам пришлют напоминание по электронной почте. Выпускники получают скидку 25% на покупку ПО, входящего в пакет. Скидка действительна в течение года после выпуска.


В заключение

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

Стоит обратить внимание на содержащийся практически в каждой студенческой лицензии пункт, запрещающий использование продуктов и разработанного с их помощью ПО в коммерческих целях

Есть и ещё одна точка зрения. Человек привыкает к определённой рабочей среде — это не понаслышке известно тем, кто пытался, к примеру, перевести бухгалтерию с MS Office на OpenOffice. И компании-разработчики пытаются привязать будущих клиентов к интерфейсу своих продуктов.

Так ли это важно? Предлагаем подумать на досуге. А пока, студент, лови халяву!

Оцените статью
Рейтинг автора
Материал подготовил
Андрей Измаилов
Наш эксперт
Написано статей
Добавить комментарий