В CLion вы можете создавать функции, переменные, члены класса или даже целые классы, прежде чем они будут объявлены. IDE подсветит элемент красным и предложит быстрое исправление. Нажмите Alt+Enter, чтобы добавить соответствующее объявление. Для функций CLion также определяет тип возвращаемого значения и типы параметров.
Intention actions (желаемые действия) помогают применять автоматические изменения к коду, чтобы улучшить его и упростить выполнение рутинных задач. С их помощью можно добавлять поля класса и инициализаторы в конструкторы, применять законы де Моргана к логическим выражениям, вводить typedef
, удалять определение из класса и многое другое. Значок лампочки на левом поле редактора указывает на доступность одного или нескольких intention actions. Просто нажмите Alt + Enter, чтобы применить одно из действий.
Используйте функцию Live Templates (Code | Insert Live Template
или Ctrl+J) для генерации готовых конструкций кода. Полный список доступных шаблонов можно посмотреть в настройках (Editor | Live Templates
). При необходимости вы можете создавать свои шаблоны или изменять существующие. Чтобы применить готовый шаблон, просто введите его аббревиатуру и нажмите Tab. Для навигации по переменным шаблона используйте клавиши Enter или Tab.
Используйте шаблоны Surround with, чтобы быстро обернуть выбранный код в конструкцию языка. Выберите пункт меню Code | Surround With
или нажмите Ctrl+Alt+T, чтобы легко сгенерировать if, while, for, #ifdef
и другие выражения в зависимости от контекста.
CLion позволяет сэкономить время на печати кода, предоставляя различные варианты кодогенерации в меню Generate (Alt+Insert).
Сгенерировать функции get/set, конструкторы/деструкторы класса, операторы сравнения, равенства и печати (stream output) можно в один клик. СLion позволяет выбирать поля класса, которые необходимо использовать во время генерации, а также указывать различные опции: нужно ли создавать новые конструкции как члены класса, производить ли генерацию на месте, где стоит курсор, использовать ли std::tie
в реализации и т.д.
В случае если некоторые операторы уже есть в коде, CLion предложит добавить отсутствующие или полностью заменить существующие.
Почувствуйте всю мощь кодогенерации в CLion, воспользовавшись действиями для создания функций Implement (Ctrl+I), Override (Ctrl+O) и Generate Definitions (Shift+Ctrl+D).
Настройки Generate in-place по умолчанию зависят от вашего кода, так как CLion адаптируется к шаблонам, которые вы используете в проекте, и поддерживает наиболее распространенные случаи (например, классы, полностью расположенные в заголовочных файлах или, наоборот, только в .cpp-файлах и т. д.).
CLion помогает поддерживать высокое качество кода, предоставляя набор надежных рефакторингов. Во время рефакторинга CLion безопасно производит преобразования по всей выбранной области.
Чтобы увидеть все рефакторинги, доступные в текущем положении курсора, используйте меню Refactor This... (Ctrl+Alt+Shift+T ).
Список рефакторингов включает:
Rename (Shift+F6) переименует символ и автоматически обновит все необходимые ссылки.
Change Signature (Ctrl+F6) поможет добавить/удалить параметры функции и поменять их порядок, а также изменить тип результата и имя функции, при этом все использования будут обновлены автоматически.
Inline Ctrl+Alt+N уберет лишнюю переменную или вызов функции, заменив их на непосредственное значение/код функции.
Extract (Function Ctrl+Alt+M, Typedef Ctrl+Alt+K, Variable Ctrl+Alt+V, Parameter Ctrl+Alt+P, Define Ctrl+Alt+D, Constant Ctrl+Alt+C, Lambda Parameter) — CLion проанализирует блок кода, для которого вы вызываете рефакторинг, обнаружит входные и выходные переменные и использования выбранного выражения в коде, чтобы заменить их на новую сущность по вашему выбору.
Pull Members Up/Push Members Down помогут с безопасной реорганизацией иерархии классов в вашем проекте.
И не только.