Умный редактор

Автодополнение

CLion помогает писать код быстрее с помощью функции автодополнения. Начните вводить ключевое слово, имя переменной, функции или класса — CLion предложит список подходящих вариантов автодополнения. Чтобы сэкономить еще больше времени, вы можете ввести только заглавные буквы имени (подстановка CamelHumps) или даже любую его часть (подстановка Middle matching).

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

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

Базовое автодополнение работает, когда вы печатаете текст. В CLion также есть функция умного автодополнения (вызывается нажатием Ctrl+Shift+Space) — IDE отфильтрует варианты подстановки с учетом контекста.

Стиль кода

CLion помогает поддерживать единый стиль оформления кода и соблюдать настройки форматирования. Настройки применяются автоматически, когда вы пишете код, а также с помощью действия Reformat Code (Ctrl+Alt+L).

Стиль кода настраивается в меню Editor | Code Style. Вы можете настроить общую конфигурацию или опции для конкретного языка (например, C/C++, CMake, HTML или XML).

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

Расширенные настройки

CLion позволяет не применять некоторые настройки форматирования к коду в выбранных файлах. Если отступы в файле отличаются от действующих настроек форматирования, CLion предупредит об этом при открытии файла.

Вы можете выбрать принудительное применение настроек стиля или оставить существующие отступы. Эту функцию можно включить/отключить в настройках Editor | Code Style...

CLion позволяет изменить установленные настройки для отдельного фрагмента кода. Выделите нужный фрагмент кода и примените быстрое исправление Adjust code style settings (Alt+Enter).

Подсветка и конфигурации

Resolve-контекст

Если в коде встречаются блоки, зависящие от флагов компиляции и переменных таргета CMake, CLion сумеет правильно подсветить эти части кода — просто выберите конфигурацию Run/Debug, и IDE автоматически переключит resolve-контекст.

Вы также можете воспользоваться ручным переключением resolve-контекста в правом нижнем углу редактора.

«Хлебные крошки» (breadcrumbs) для C и C++

Breadcrumbs

С помощью «хлебных крошек» (breadcrumbs) — маленьких маркеров внизу редактора — вы можете легко перемещаться по коду. Такие маркеры отображаются для пространств имен, классов, структур, функций и лямбд.

Предопределенные стили оформления кода

Вы можете выбрать предопределенный стиль оформления кода и применить его к вашему проекту. IDE поддерживает стандартные стили Google, LLVM, LLDB, GNU, Microsoft, Qt и Stroustrup, а также правила расстановки фигурных скобок Allman, Whitesmiths и K&R. Выберите любимый стиль в меню Set from... | Predefined Style.

Стили применяются к настройкам форматирования, правилам именования C/C++, стилям header guards.

Правила именования

Настройки именования

CLion соблюдает заданную схему именования. Выбранные настройки будут использоваться во всех действиях IDE, включая:

  • Автодополнение
  • Генерацию кода
  • Рефакторинг кода
  • Применение быстрых исправлений

На вкладке Naming Convention в настройках Settings | Editor | Code Style | C/C++ можно выбрать один из предопределенных стилей или вручную настроить свой.

Подсказки параметров

Подсказки параметров

Благодаря подсказкам имен параметров вам не придется переключаться на сигнатуру функции во время изучения вызова функции. В свою очередь, это помогает улучшить читаемость вашего кода.

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

Подсказки типов

Подсказки типов

Для улучшения читаемости кода в CLion показываются подсказки с выведенными типами. Эти подсказки полезны для переменных типа auto, в конструкциях структурного связывания и для типов значений, возвращаемых из лямбд.

Включить или отключить подсказки тех или иных типов можно в меню Settings | Editor | Inlay Hints | C/C++ или прямо в контекстном меню подсказки.

ClangFormat

Resolve-контекст

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

Если в проекте будет обнаружен конфигурационный файл .clang-format, CLion предложит переключиться на ClangFormat.

Помощь при написании кода

При изменении конфигурационных файлов .clang-format в проекте доступна помощь при написании кода.

Подробнее

Выделение фрагментов кода и комментарии

Чтобы быстро выделить блок кода, поместите в него курсор и нажмите Ctrl+W необходимое количество раз, чтобы расширить выделение до конца выражения, строки, логического блока и так далее. Аналогичным образом, чтобы снять выделение с логической части, нажмите Ctrl+Shift+W столько раз, сколько нужно.

Для выделленных фрагментов доступно блочное (Ctrl+Shift+/) и однострочное комментирование (Ctrl+/). А чтобы добавить комментарий к одной строке, ее даже не нужно выделять — просто поместите курсор на строку и нажмите Ctrl+/.

Информация о параметрах

CLion придет на помощь, если вы не уверены, какие параметры принимает функция. Вызовите информацию о параметрах функции (Ctrl+P), чтобы увидеть все доступные сигнатуры и параметры функции. При редактировании параметров CLion скроет все неподходящие сигнатуры.

Действие Unwrap/Remove

Чтобы безопасно удалять фрагменты в сложном коде со множеством вложенных операторов, используйте действие Unwrap/Remove… (Ctrl+Shift+Delete). IDE предлагает разные варианты преобразований в зависимости от того, где находится курсор, и умеет вынимать код из управляющих конструкций if, else, for, while, do..while и for.

Многокурсорность

CLion позволяет делать несколько вещей одновременно. В режиме многокурсорного редактирования вы можете вносить изменения в файл в нескольких местах одновременно.

Выберите места для редактирования (нажмите Alt+Shift и поместите курсор в нужные места) или просто добавьте пару следующих совпадений в выделение с помощью Alt+J. Чтобы удалить совпадение из выделения, нажмите Alt+Shift+J.

Так вы сможете отредактировать код во всех выбранных местах одновременно, пользуясь при этом автодополнением, функцией live templates и другими возможностями IDE. Завершив редактирование, нажмите Esc, чтобы вернуть курсор в обычный режим.

Реорганизация кода

В редакторе СLion можно перемещать вверх/вниз по коду целые строки и блоки кода. Чтобы переместить одну строку, не нужно выделять ее — просто нажмите Alt+Shift+Up/Down. Для перемещения выделенного блока кода используйте сочетание клавиш Ctrl+Shift+Up/Down.

Автоматическое импортирование

Когда вы используете символ, который еще не был импортирован, CLion выполнит поиск и предложит добавить нужную директиву #include или сделает это автоматически.

Быстрый просмотр определений

Посмотреть реализацию или объявление функции можно прямо в редакторе, не переходя на другой файл. Просто поместите курсор на нужный символ и нажмите Ctrl+Shift+I, чтобы открыть всплывающее окно Quick Definition.

Быстрый просмотр документации

В CLion есть специальное окно для быстрого просмотра документации (Quick Documentation popup, вызывается нажатием Ctrl+Q), в котором отображается документация для выбранного класса, функции, переменной, параметра или макроса.

Окно Quick Documentation показывает результаты подстановки в макросах, выведенные типы для переменных, объявленных как auto, и указатели на ссылочные типы. В нем также доступен предварительный просмотр документации в формате Doxygen.