Spec-Zone.ru › Kotlin 2

Переход на стиль кода Kotlin

Начиная с Kotlin 1.4.0, официальное форматирование кода по умолчанию включено для всех проектов в IntelliJ IDEA.

Соглашения по написанию кода на Kotlin и форматтер IntelliJ IDEA

Соглашения по написанию кода на Kotlin влияют на несколько аспектов написания идиоматичного кода на Kotlin. Среди них — рекомендации по форматированию, призванные повысить читаемость кода Kotlin.

Раньше встроенный в IntelliJ IDEA форматтер кода по умолчанию использовал настройки, которые обеспечивали форматирование, отличающееся от рекомендуемого сейчас.

Мы хотим устранить это несоответствие, изменив настройки по умолчанию в IntelliJ IDEA и приведя форматирование в соответствие с соглашениями по написанию кода на Kotlin. Поэтому был реализован следующий план перехода:

  • Начиная с Kotlin 1.3.0, официальное форматирование кода по умолчанию включено только для новых проектов (старое форматирование можно включить вручную).

  • Авторы существующих проектов могут перейти на соглашения по написанию кода на Kotlin.

  • Авторы существующих проектов могут явно указать, что в проекте используется старый стиль кода (в этом случае на проект не повлияет изменение настроек по умолчанию в будущем).

  • Начиная с Kotlin 1.4.0, форматирование по умолчанию включено для всех проектов, чтобы привести его в соответствие с соглашениями по написанию кода на Kotlin.

Отличия между «Соглашениями по написанию кода на Kotlin» и «Стилем кода IntelliJ IDEA по умолчанию»

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

Code formatting

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

Обсуждение перехода на новый стиль кода

Переход на новый стиль кода может пройти совершенно естественно, если начать с нового проекта, в котором нет кода, отформатированного по старым правилам. Поэтому начиная с версии 1.3.0 плагин Kotlin для IntelliJ создает новые проекты с форматированием из документа «Соглашения по написанию кода», включенным по умолчанию.

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

Главный недостаток изменения стиля кода в существующем проекте заключается в том, что функция VCS для просмотра авторства (blame/annotate) будет чаще указывать на нерелевантные коммиты. Хотя в каждой VCS предусмотрен способ решения этой проблемы (в IntelliJ IDEA можно использовать функцию «Аннотировать предыдущую ревизию»), важно решить, стоит ли новый стиль затраченных усилий. Если отделять коммиты с переформатированием от содержательных изменений, это значительно упростит последующий анализ.

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

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

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

Переход на новый стиль кода

Переключиться на стиль кода, соответствующий соглашениям по написанию кода на Kotlin, можно в диалоговом окне Настройки/Параметры | Редактор | Стиль кода | Kotlin. Переключите схему на Проект и выберите Задать на основе... | Руководство по стилю Kotlin.

Чтобы поделиться этими изменениями со всеми разработчиками проекта, папку .idea/codeStyle необходимо добавить в VCS.

Если для настройки проекта используется внешняя система сборки и было решено не добавлять папку .idea/codeStyle в VCS, соглашения по написанию кода на Kotlin можно принудительно включить с помощью дополнительного свойства:

В Gradle

Добавьте свойство kotlin.code.style=official в файл gradle.properties в корневой папке проекта и добавьте этот файл в VCS.

В Maven

Добавьте свойство kotlin.code.style official в корневой файл проекта pom.xml.

<properties>
  <kotlin.code.style>official</kotlin.code.style>
</properties>

Если задан параметр kotlin.code.style, при импорте проекта схема стиля кода может быть изменена, а настройки стиля кода — обновлены.

После обновления настроек стиля кода выберите нужный диапазон в окне проекта и примените команду Переформатировать код.

Reformat code

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

Сохранение старого стиля кода в проекте

Можно явно указать, что стиль кода IntelliJ IDEA является правильным стилем кода для проекта:

  1. В разделе Настройки/Параметры | Редактор | Стиль кода | Kotlin переключитесь на схему Проект.

  2. Откройте вкладку Загрузка и сохранение и в поле Использовать настройки по умолчанию из выберите Устаревший стиль кода Kotlin для IntelliJ IDEA.

Чтобы поделиться изменениями со всеми разработчиками проекта, папку .idea/codeStyle необходимо добавить в VCS. Для проектов, настроенных с помощью Gradle или Maven, также можно использовать параметр kotlin.code.style=obsolete.

12 августа 2026
Kotlin и непрерывная интеграция с TeamCityСравнение с Java

© 2010–2026 JetBrains s.r.o. and Kotlin Programming Language contributors
Licensed under the Apache License, Version 2.0.
https://kotlinlang.org/docs/code-style-migration-guide.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API