JetBrains выпустила обновление 2018.1 для CLion

Компания JetBrains представила первое в 2018 году крупное обновление интегрированной среды разработки CLion. Выпущено множество улучшений для разработки на C/С++ на всех платформах, в особенности на Windows. Также обновления коснулись языков Objective-C, Objective-C++, Rust и Fortran.

C++17

Компания экспериментирует с альтернативами для языкового движка CLion и планирует выпустить первые результаты в последующих версиях в 2018 году. Тем не менее, в настоящее время последние улучшения коснулись текущей версии:

  • поддержка декомпозиции при объявлении (структурированные привязки);
  • инициализаторы if и switch стандарта C++17;
  • полноценная поддержка тернарного оператора;
  • переработаны рефакторинги Rename и Change Signature для случая наследования:

CLion 2018.1 rename refactoring

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

Clang-Tidy

Мощный инструмент, дополняющий собственный анализатор CLion. Разработчики добавили возможности увеличения его влияния. Теперь можно прописывать опции для некоторых проверок, например, modernize-use-nullptr. Также появилась возможность указать .clang-tidy в качестве файла конфигурации CLion вместо стандартного. Это означает, что вся команда может теперь использовать единый набор правил Clang-Tidy независимо от пользовательских настроек IDE и редакторов.

Clang-Tidy checks settings

Помимо этого обновлен и оптимизирован набор проверок Clang-Tidy по умолчанию.

WSL

Поддержка компилятора Microsoft Visual C++ теперь включена по умолчанию. Также расширен набор инструментов на Windows за счет поддержки слоя WSL, позволяющего компилировать, запускать и отлаживать исполняемые файлы сборок Linux. CLion будет использовать компиляторы CMake, make, GCC/G++ и отладчик WSL для сборки и запуска.

WSL_toolchain_settings

Поддержка WSL содержит выпущенный ранее анализатор кода Valgrind Memcheck для выявления ошибок, связанных с памятью:

CLion WSL Valgrind memcheck

Руководство по установке и конфигурации WSL доступно для ознакомления в блоге компании.

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

CMake

Начат процесс отсоединения проектной модели CMake от CLion. Для случая, когда нужно просто прочитать сторонний код на C++ в CLion, появилась возможность открывать один файл или каталог без задействования CMake. Тем не менее, CLion все еще нуждается в модели CMake для предоставления умных фич IDE. Интеграция самой CMake продолжается, в связи с чем в редакторе появилось действие CMake Install во вкладке Run, доступное также для добавления в качестве шага в конфигурации запуска:

clion cmake install

Командой Create new file (Alt+Insert) можно создать файл CMakeLists.txt, содержимое которого определяется шаблоном в настройках редактора.

Редактор

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

  • «Сухарики» («breadcrumbs») для C/C++ — маленькие маркеры в нижней части редактора, облегчающие навигацию по коду, отображая текущие пространства имен, классы, структуры, функции и лямбда-выражения:
    clion_breadcrumbs
  • Удаление конструкций — безопасное удаление ifelseforwhiledo..while и for, а также удаление частей вложенных операторов:
    clion unwrap ternary
  • Свертка управляющих операторов — одна из самых востребованных функций. Сочетанием Shift+Ctrl+Period / Ctrl+= (Windows / Linux) или ⇧⌘. / ⌘+ (macOS) можно сворачивать тела if / elsedo / whilefor и switch), а также операторы целиком.
  • Настройки окна сообщений — дополнительные опции позволяют задать тип выводимых сообщений в логе.

Также стоит упомянуть Project Scopes — возможность изучить проект с разных углов, используя как предопределенные режимы Project Source Files, Project Non-Source Files и Changed files, так и задавая свои режимы просмотра.

VCS

В интерфейсе CLion появились частичные коммиты (git add -p), позволяют зафиксировать лишь часть изменений проекта. Выделив участки кода для коммита, нужно снять соответствующие галочки в диалоговом окне. Также доступна возможность перемещать изменения между списками прямо из редактора.

clion_changelists

Больше информации об этой функциональности доступно в блоге компании.

Rust, Fortran и Objective-C/C++

CLion 2018.1 включает поддержку Objective-C and Objective-C++. Также стали доступны обновленные плагины для Rust и Fortran. Плагин Rust содержит отладчик и менеджер пакетов Cargo, добавленный благодаря отсоединению проектной модели CMake. Плагин Fortran работает посредством CMake и поддерживает FORTRAN 77, Fortran 90, Fortran 95, Fortran 2003 и Fortran 2008. Подробнее о плагинах можно прочитать в блоге JetBrains.

С другими изменениями можно ознакомиться в традиционном кратком видео-обзоре:

Более подробный список нововведений доступен на официальной странице обновления.

блог CLion