Как сделать русский язык в clion

Обновлено: 05.07.2024

Преимущества C L ion перед другими IDE

Как настроить IDE CLion?

Запуск и отладка CLion

В зависимости от цели вашего проекта (CMake, Makefile, Gradle) CLion будет генерировать необходимую конфигурацию, которую можно будет запустить.

Запуск CLion

Отладка CLion

  1. Присоединение к локальному процессу. CLion позволяет отлаживать процессы на локальном компьютере, запускаемые на самом ПК, а не через IDE.
  2. Удаленная отладка GDB. Если у вас есть один запущенный исполняемый файл на локальном ПК под gdbserver, вы можете подключиться к нему с другого компьютера при помощи GDB из CLion.
  3. Контрольные точки. При старте отладки данная IDE может проверить выполнение вашего кода. Вы можете выбрать из нескольких точек останова (точки останова на стоке, символические точки останова, точки останова на исключение).
  4. Точки выполнения. С помощью действия Set Execution Point to Cursor вы можете перемещаться вперед/назад в процессе выполнения отладки, вы можете прерывать или перезапускать циклы и др.
  5. Отладка root. CLion может запускать и отлаживать вашу программу с правами root, если вы выберете эту опцию.

Мы будем очень благодарны

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

Clion: Кириллица отображается лишь в режиме отладки

Здравстуйте, вознакла такая, довольно странная проблема: Clion напрочь отказывается понимать кириллицу, причем как на ввод, так и на вывод, пока я не запускаю код через Debugger. В VS такой проблемы не наблюдается.
В свою очередь через debug прекрасно считывает и выводит русский текст, даже когда отключены setlocale и setConcole
Вывод через debug заработал, когда выставил везде 1251 кодировку. До этого, не важно через что запускал и с какими доп. аргументами, всегда выдавал билеберду
Заранее спасибо

В PVS-Studio уже некоторое время есть плагины для таких IDE от JetBrains, как Rider, IntelliJ IDEA и Android Studio. Другую известную среду разработки, CLion, мы долгое время незаслуженно обходили стороной. Исправляемся! Но зачем вообще вам PVS-Studio, если в CLion уже есть анализ кода? Какие проблемы возникли при разработке? На эти вопросы мы ответим ниже.

0849_CLionPluginNew_ru/image1.jpg

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

Примечание. Кстати, на сайте JetBrains есть результаты различных опросов за 2021 год: по используемым стандартам языка, IDE, инструментам и т.п. Рекомендую посмотреть, это интересно. CLion входит в тройку наиболее используемых IDE / редакторов. А какую среду разработки для C / C++ используете вы?

Зачем мне PVS-Studio, если в CLion уже есть статический анализ?

Рад, что вы спросили! Позвольте рассказать об этом на примере небольшой истории.

JetBrains ведут отдельный Twitter-аккаунт о CLion, где делятся различными новостями, рассказывают о новых возможностях IDE и т.п. В одном из твиттов был продемонстрирован пример работы межпроцедурного анализа потока данных (как они его называют, global DFA).

0849_CLionPluginNew_ru/image2.jpg

В примере демонстрируется, как статический анализ умеет обнаруживать разыменование нулевого указателя buffer, полученного из функции foo, в bar. Андрей, наш DevRel, решил немного модифицировать пример и посмотреть, как CLion поведёт себя с ним.

0849_CLionPluginNew_ru/image3.jpg

Итого: всё то же одно предупреждение со стороны CLion. В это же время PVS-Studio сообщает уже о двух проблемах:

    There might be dereferencing of a potential null pointer 'buffer'. The memory was allocated using 'new' operator but was released using the 'free' function. Consider inspecting operation logics behind the 'buffer' variable.

Здесь и кроется ответ на вопрос, который мы обсуждаем, – связка CLion и PVS-Studio позволит вам выявлять ещё больше проблем на этапе написания кода. CLion позволит подсвечивать ошибки "on the fly", но из-за этого же будет несколько ограничен в возможностях анализа. PVS-Studio же не подсвечивает ошибки непосредственно во время набора кода, но при этом способен проводить более глубокий анализ. На всякий случай уточню, что в PVS-Studio есть инкрементальный анализ - режим работы, когда анализируются только изменённые файлы.

В итоге выходит, что анализ в CLion и анализ в PVS-Studio не заменяют, а дополняют друг друга. А если ещё предупреждения компилятора выкрутить. :)

Второе рождение

Сказать по правде, прототип плагина для CLion у нас уже был. несколько лет. Да, какое-то время назад мы начали разработку, но закончить её тогда по ряду причин было не суждено. В итоге прототип отправился "на полку".

Сейчас же, когда пользователи стали проявлять всё больше и больше интереса, было решено всё-таки закончить начатое. Точнее, было несколько возможных путей: либо попробовать доработать существующий прототип, либо сделать всё заново.

Спойлер: оба пути оказались тернистыми.

0849_CLionPluginNew_ru/image4.jpg

После того как исходники прототипа были найдены в системе контроля версий, мы решили оценить степень его готовности. Вдруг доделать нужно совсем немного? На удивление код даже сходу скомпилировался, что сразу настроило на позитивный лад.

Несмотря на то, что код компилировался и какая-то функциональность уже была в прототипе, его ещё нужно было полноценно интегрировать в IDE. При этом будущий плагин должен иметь основные общие черты, присущие другим плагинам PVS-Studio для IDE от JetBrains: Rider, IntelliJ IDEA, Android Studio. Понятно, что какая-то специфика будет, но в общем и целом пользователь, пробующий связку PVS-Studio с разными IDE, должен +/- придерживаться одинаковых сценариев работы с анализатором, взаимодействовать с одинаковыми настройками и UI.

В итоге за основу попробовали взять одно из уже готовых решений – наиболее подходящим кандидатом оказался плагин для Rider. Однако быстро выяснилось, что сходу переиспользовать эти наработки для CLion не получится — слишком много специфики.

Здесь может возникнуть естественный вопрос: а не легче ли сделать основу с нуля? Взять готовый 'шаблон' и навесить на него имеющийся функционал из прототипа? Что ж, можно попробовать.

Где взять шаблон, как не на официальном сайте JetBrains? Такой действительно нашёлся, однако после загрузки выяснилось, что пример. не компилируется.

0849_CLionPluginNew_ru/image5.jpg

После недолгого разбирательства стало понятно, что пример был создан для более старых версий CLion. В новых поменялся API – отсюда и проблемы.

В итоге, после совмещения прототипа с шаблоном выяснилось, что. ничего не работает. Здесь может возникнуть порыв выкинуть прототип и вообще всё написать с нуля. Кажется, для этого нужно всего лишь немного документации – описание API взаимодействия с IDE. Но не тут-то было.

Результаты поисков документации по API были примерно такими:

0849_CLionPluginNew_ru/image7.jpg

Без шуток, на сайте JetBrains не удалось ничего найти. Совсем. Перебирать все доступные классы для поиска нужных – идея, скажем прямо, сомнительная. Наши разработчики, которые делали плагин PVS-Studio для Rider, подтвердили опасения – документации нет.

Если доки всё же есть и вы знаете, где именно, просьба написать в комментариях. И нам пригодится, и другим полезно будет.

Пожалуй, хватит уже метаний и порывов всё сделать с 0 – нужно дорабатывать то, что есть. Возможно, будет больно, но явно легче, чем начинать разработку заново. Это решение оказалось правильным, так как после некоторого времени, проведённого за отладкой и правками, оказалось, что в целом прототип уже делал то, что нужно. Как следствие, удалось достаточно быстро научить его получать список файлов исходного кода из проекта.

Код постепенно переносился, плагин обрастал функциональностью и в итоге стал делать то, что нужно. Но только под Windows, так как под этой ОС и велась основная разработка. Несмотря на то, что код сразу писался с заделом на кроссплатформенность, без нюансов никуда — поэтому дополнительно пришлось сделать несколько доработок после тестирования под Linux и macOS.

В некоторых случаях отделаться правками лишь кода плагина не удалось. Приходилось погружаться и в ядро C++ анализатора. Мультиязыковая задача получилась — пригодились знания как Java, так и C++.

Глобальных доработок было две:

  • в C++ анализаторе теперь учитываются переменные окружения при анализе через JSON Compilation DB;
  • также анализатор научили выдавать обнаруженные проблемы постепенно, по мере работы, а не всё скопом после того, как всё было проанализировано. Это позволило добавить больше интерактивности. Теперь при работе с плагином не нужно дожидаться окончания анализа, чтобы начать разбирать ошибки. Делать это можно в уже процессе работы.

Как попробовать?

Если бы итог всей этой истории не был очевиден, то и статьи не было бы. Интриги тут, увы, не вышло. :)

Плагин PVS-Studio для CLion уже доступен для использования.

0849_CLionPluginNew_ru/image8.jpg

Чтобы попробовать, нужно:

  • запросить триальную лицензию;
  • установить сам анализатор и плагин.

Запросить лицензию и загрузить анализатор можно здесь. Кстати, по указанной ссылке можно получить лицензию не на 7, а на 30 дней. ;)

С установкой плагина всё тоже достаточно просто. Подробности описаны в соответствующем разделе документации: как установить плагин, ввести лицензию и что вообще делать дальше.

Пробуйте, пользуйтесь, пишите нам, если вдруг что-то не работает или есть идеи по улучшению интеграции.

Ну и напоследок не можем не закинуть вопрос: интеграцию PVS-Studio с какой IDE / редактором вам было бы интересно видеть? Может быть с Visual Studio Code? ;)

Однако у меня проблемы с его настройкой. Я не могу скомпилировать и запустить свое приложение (простой "привет мир").

Screenshot

Когда я пытаюсь запустить приложение, оно ссылается на "Редактировать конфигурацию", поэтому я добавил новое приложение, и теперь у меня возникает эта проблема:

  1. Я не могу указать "цель"; Единственное, что я могу сделать, это установить "Все цели".
  2. Я не могу указать "конфигурацию" (все учебники, которые я обнаружил, имеют Debug или Run здесь).
  3. Исполняемые? Хм. Должен ли быть путь к GCC здесь? (C:\MinGW\Bin\gcc.exe)

Остальная часть конфигурации выглядит необязательно.

Мой CMakeList.txt выглядит так:

Я попытался запустить это с "Все цели". Я также попытался установить исполняемый файл. Я попробовал все, но я не могу заставить его работать.

Может кто-нибудь здесь посоветовать? Благодарю.

ОТВЕТЫ

Ответ 1

Я столкнулся с той же проблемой с CLion 1.2.1 (на момент написания ответа) после обновления Windows 10. Он работал отлично, прежде чем обновил свою ОС. Моя ОС установлена ​​на диске C:\и CLion 1.2.1, а Cygwin (64-разрядная версия) установлены на диске D: \.

Проблема, похоже, связана с CMake. Я использую Cygwin. Ниже приведен короткий ответ с шагами, которые я использовал для устранения проблемы.

КРАТКОЕ ОТВЕТ (должно быть аналогично для MinGW, но я не пробовал):

  • Установить Cygwin с GCC, g++, GDB и CMake (требуемые версии)
  • Добавить полный путь к каталогу Cygwin 'bin' для переменных среды Windows
  • Перезапустите CLion и установите флажок "Настройки" → "Создание, выполнение, развертывание", чтобы убедиться, что CLION выбрал правильные версии Cygwin, make и gdb
  • Проверьте конфигурацию проекта ( "Выполнить" → "Изменить конфигурацию" ), чтобы убедиться, что там указано название проекта, и вы можете выбрать опции в полях "Целевой", "Конфигурация" и "Исполняемые файлы".
  • Сборка, а затем Запуск
  • Enjoy

ДОЛГОЙ ОТВЕТ:

Ниже приведены подробные шаги, которые решили для меня эту проблему:

Удалите/удалите предыдущую версию Cygwin (MinGW в вашем случае)

Убедитесь, что CLion обновлен

Запустите настройку Cygwin (x64 для моей 64-разрядной ОС)

Установите, по крайней мере, следующие пакеты для Cygwin: gcc g++ make Cmake gdb Убедитесь, что вы устанавливаете правильные версии вышеуказанных пакетов, которые требуется CLION. Вы можете найти требуемые номера версий в разделе быстрого цикла CLion (я не могу разместить более двух ссылок, пока у меня не будет больше точек репутации).

Затем вам нужно добавить Cygwin (или MinGW) в переменную среды Windows под названием "Путь" . Вы можете Google найти переменные среды для вашей версии Windows

[В Win 10 щелкните правой кнопкой мыши на "Этот ПК" и выберите "Свойства" → "Расширенные настройки системы" → "Переменные среды". → в разделе "Системные переменные" → найдите "Путь" → нажмите "Изменить", ]

Добавьте папку "bin" в переменную Path. Для Cygwin я добавил: D:\cygwin64\bin

Запустите CLion и перейдите в "Настройки" либо с экрана приветствия, либо из файла → Настройки

Выберите "Сборка, выполнение, развертывание" , а затем нажмите "Toolchains"

В "Среда" должен отображаться правильный путь к каталогу установки Cygwin (или MinGW)

Для "исполняемого файла CMake" выберите "Использовать связанный CMake x.x.x" (3.3.2 в моем случае на момент написания ответа)

"Отладчик", показанный мне, говорит: "Cygwin GDB GNU gdb (GDB) 7.8 '[слишком много gdb в этой строке; -)]

Ниже он должен показать галочку для всех категорий и должен также показать правильный путь к make, компилятору C и компилятору С++

  1. Теперь перейдите в "Выполнить" → "Изменить конфигурацию" . Вы должны увидеть свое имя проекта на левой панели и конфигурации с правой стороны.

В окне консоли не должно быть ошибок. Вы увидите, что параметр "Выполнить" → "Создать" теперь активен

Создайте проект, а затем запустите проект. Вы должны увидеть вывод в окне терминала

Надеюсь, это поможет! Удачи и наслаждайтесь CLION.

Ответ 2

Я столкнулся с некоторыми проблемами в Клионе и, наконец, решил их. Вот некоторый опыт.

  1. Загрузите и установите MinGW
  2. g++ и пакет gcc должны быть установлены по умолчанию. Используйте менеджер установки MinGW для установки mingw32-libz и mingw32-make. Вы можете открыть менеджер установки MinGW через C:\MinGW\libexec\mingw-get.exe. Этот шаг является наиболее важным. Если Clion не может найти компилятор make, C и C++, перепроверьте менеджер установки MinGW, чтобы установить все необходимые пакеты.
  3. В Clion откройте File-> Настройки-> Построение, Выполнение, Deployment-> Наборы инструментов. Установите MinGW home в качестве локального файла MinGW.
  4. Начни свой "Hello World"!

Ответ 3

Вы также можете использовать компилятор Microsoft Visual Studio вместо Cygwin или MinGW в среде Windows в качестве компилятора для CLion.

Читайте также: