Производитель: JetBrains
JetBrains CLion
Программное обеспечение JetBrains CLion помогает разработчикам C и C++ сосредоточиться на важных элементах кода благодаря автоматическому выполнению стандартных заданий. Решение JetBrains CLion поддерживает опции автозавершения кода, настраиваемые стили программирования, использование карт и различных ракурсов и т. д. JetBrains CLion ориентирован на кросс-платформенную разработку с использованием GCC или Clang, при этом в качестве проектной модели используется CMake, для отладки – GDB.
CLion – это многофункциональная IDE. В ней поддерживается разработка кода на C и C++, а также web-разработка на HTML(5), CSS, JavaScript, XML. Некоторые другие языки доступны в виде плагинов (например, Lua).
CLion включает интеграцию с разнообразными системами контроля версий (Subversion, Git, GitHub, Mercurial, CVS, Perforce, TFS) и баг-трекерами (Jira, YouTrack, PivotalTracker, Bugzilla и многими другими), хранит локальную историю.
Анализ кода
За счет анализа кода на лету не только подсвечиваются потенциальные проблемы, но и сразу предлагаются способы их исправления (quick-fixes). CLion предоставляет более 60 инспекций по коду на C и C++, включая поиск неиспользуемого кода; пропущенные случаи в switch-case операторе; создание переменных, перекрывающих другие переменные, доступные в этом же контексте, с таким же именем; поиск бесконечной рекурсии и бесконечных циклов (здесь CLion использует полноценный Data Flow Analysis); несоответствия типов и другое.
Отладка
Встроенный отладчик (с использованием GDB) поможет досконально разобраться в коде. В CLion доступны несколько типов точек breakpoints:
- Line breakpoints – самый простой и часто используемый тип, легко ставится и снимается простым кликом в левой вертикальной панели маркеров рядом с окном редактора;
- Symbolic breakpoints – необходим, когда нужно остановиться в какой-то библиотечной функции или вызове, код которых не доступен или сложно определить строчку для точки останова первого типа;
- Exception breakpoints – предназначен для перехвата и остановки в момент бросания исключений.
В редакторе во время отладки появятся непосредственные значения переменных (прямо напротив их объявления), а окно отладчика даст возможность просматривать значения переменных, добавлять watches, запускать любую команду в консоли GDB. Также можно посчитать значение любого выражения во время отладки.
Поддержка CMake
CLion использует CMake в качестве проектной модели. Всю информацию о том, какие файлы входят в проект, какой стандарт C++ стоит использовать, какие библиотеки и флаги компиляции будут использоваться, и т. д. CLion берет непосредственно из CMake. Также есть специальное окно для редактирования настроек CMakeCache.
Для каждого таргета CMake CLion создает конфигурацию, которую можно собирать и запускать (в случае, если указан исполняемый файл). Исполняемый файл можно сменить в настройках конфигурации. При добавлении новых файлов и классов C++ в проект через контекстное меню New, CLion предлагает автоматически обновить таргеты CMake – будет показан список для выбора нужного (нужных).
CLion включает множество традиционных возможностей, которые помогают разработчикам быть более продуктивными:
- Умное автозаполнение с фильтрацией по типу и использованием Camel Case/Snake case/Middle matching.
- Автоформатирование кода, настройки стилей.
- Быстрые сочетания клавиш практически для всех действий и команд. Стандартные раскладки IntelliJ IDEA, Emacs, Visual Studio, Eclipse, NetBeans, Xcode, ReSharper, а также возможности настройки раскладок.
- Поиск использования символа, причем не текстовый, а с использованием текущего контекста, также можно искать символ в строках и комментариях.
- Различные режимы просмотра-навигации по структуре кода – по структуре текущего файла, по иерархии типов/вызовов.
- Система закладок по коду, TODO.
- Генерация кода: забытые или еще не реализованные функции, члены родительских классов, конструкторы, функции get/set для полей класса – CLion поможет сгенерировать все это в один клик.