Как изменить кодировку clion

Configure the encodings that CLion uses to display and edit files.

To display and edit files correctly, CLion needs to know which encoding to use. In general, source code files are mostly in UTF-8. This is the recommended encoding unless you have some other requirements.

To determine the encoding of a file, CLion uses the following steps:

  • If the byte order mark (BOM) is present, CLion will use the corresponding Unicode encoding regardless of all other settings. For more information, see Byte order mark.

  • If the file declares the encoding explicitly, CLion will use the specified encoding. For example, this can apply to XML, HTML, and JSP files. The explicit declaration also overrides all other settings, but you can change it in the editor.

  • If there is no BOM and no explicit encoding declaration in the file, CLion will use the encoding configured for the file or directory in the file encoding settings. If encoding is not configured for the file or directory, CLion will use the encoding of the parent directory. If the parent directory encoding is also not configured, CLion will fall back to the Project Encoding, and if there is no project, to Global Encoding.

Change the encoding used to view a file

If CLion displays characters in a file incorrectly, it probably couldn’t detect the file encoding. In this case, you need to specify the correct encoding to use for viewing and editing this file.

  • With the file open in the editor, either select from the main menu or click the File Encoding widget on the status bar, and select the correct encoding of the file.

    Status bar encoding

    Encodings marked with The triangle warning icon or The round error icon might change the file contents. In this case, CLion opens a dialog where you can choose what to do with the file:

    • Reload: load the file in the editor from disk and apply encoding changes to the editor only. You will see the content changes related to the chosen encoding, but the actual file will not change.

    • Convert: overwrite the file with the chosen encoding.

This will add an association for the file to the file encoding settings. CLion will use the specified encoding to view and edit this file.

Configure file encoding settings

  • Press Ctrl+Alt+S to open the IDE settings and select .

CLion uses these settings to view and edit files for which it was unable to detect the encoding and uses the specified encodings for new files. For more information, see File Encodings.

Select console output encoding

By default, CLion uses the system encoding to view console output.

  1. In the Settings dialog (Ctrl+Alt+S), select .

  2. Select the default encoding from the Default Encoding list.

  3. Click OK to apply the changes.

For more information about console output settings, see Console.

Last modified: 02 November 2022

Почему так происходит?

CLion по дефолту использует UTF-8 для хранения файлов с исходным кодом. Строка "Привет, Мир!" будет представлять собой последовательность (в файле с исходником):

D0 9F D1 80 D0 B8 D0 B2 D0 B5 D1 82 2C 20 D0 9C D0 B8 D1 80 21

Как видите, на 12 символов исходной строки, получили 21 байт (т.к. кириллические символы занимают больше одного байта).

Компилятор GCC по умолчанию читает исходники в кодировке UTF8, если не указать другую через ключ -finput-charset. Таким образом эта последовательность байтов в неизменном виде сохранится в исполняемый файл.

При запуске программы на исполнение, CLion использует стандартный cmd.exe, который по умолчанию скорей всего у вас работает в кодировке CP866. В которой наша последовательность байтов будет отображена как:

╨Я╤А╨╕╨▓╨╡╤В, ╨Ь╨╕╤А!

(что вы и видите в терминале CLion)


Что делать?

Вариант 1

Сменить кодировку файла на IBM866 (то же, что и CP866) (настройки — File Encodings) (сам файл перекодировать, если в нем уже был текст на русском). Теперь кириллица будет сохраняться в файле с исходным текстом в кодировке CP866 (один байт на символ), в том же виде попадать в исполняемый файл и нормально отображаться в консоли CLion. Разумеется, использовать CP866 в 19-м году, без особых на то оснований, некультурно. Кроме того придется ограничить себя символами из CP866.

Вариант 2

Вставить в начало свой программы:

system("chcp 65001");

или (потребует #include <windows.h>):

SetConsoleOutputCP(CP_UTF8);

Консоль переключится в UTF-8, все будет отображаться как надо. Но только при использовании низкоуровневых операций вывода типа puts("Привет, Мир!");. Если выводить через std::cout, то возможен вывод типа ��ривет, Мир!. Это связано с тем, что функция Windows API для вывода в консоль ожидает увидеть в каждом вызове законченную строку. И если оператор basic_ostream<char>::operator<<(char*) для символа ‘П’ выполнит два API вызова (с D0 и 9F), то они не сольются в одну букву ‘П’, а будут интерпретированы и отображены как два разных символа (��).


Предостережение

При использовании UTF-8 в своей программе, например при хранении в std::string, следует помнить, что операции над строками могут дать не очевидные результаты (т.к. один символ теперь может занимать от 1 до 4 байтов).

Кроме вывода, аналогичные проблемы ожидают и при вводе из std::cin. Таким образом, единственным прозрачным решением для Windows (даже десятки), пока остается использование латиницы.

Нужна помощь: не отображается кириллица в терминале CLion. Вот так выглядит надпись «Привет, Мир!»:
╨Я╤А╨╕╨▓╨╡╤В, ╨Ь╨╕╤А!

Вот что будет с кодировкой windows-1251
╧ЁштхЄ, ╠шЁ!

Ответ

Почему так происходит?
CLion по дефолту использует UTF-8 для хранения файлов с исходным кодом. Строка «Привет, Мир!» будет представлять собой последовательность (в файле с исходником):
D0 9F D1 80 D0 B8 D0 B2 D0 B5 D1 82 2C 20 D0 9C D0 B8 D1 80 21

Как видите, на 12 символов исходной строки, получили 21 байт (т.к. кириллические символы занимают больше одного байта).
Компилятор GCC по умолчанию читает исходники в кодировке UTF8, если не указать другую через ключ -finput-charset. Таким образом эта последовательность байтов в неизменном виде сохранится в исполняемый файл.
При запуске программы на исполнение, CLion использует стандартный cmd.exe, который по умолчанию скорей всего у вас работает в кодировке CP866. В которой наша последовательность байтов будет отображена как:
╨Я╤А╨╕╨▓╨╡╤В, ╨Ь╨╕╤А!

(что вы и видите в терминале CLion)

Что делать?
Вариант 1
Сменить кодировку файла на IBM866 (то же, что и CP866) (настройки — File Encodings) (сам файл перекодировать, если там уже был текст на русском). Теперь кириллица будет сохраняться в файле с исходным текстом в кодировке CP866 (один байт на символ), в том же виде попадать в исполняемый файл и нормально отображаться в консоли CLion. Разумеется, использовать CP866 в 17-м году, без особых на то оснований, это некультурно. Кроме того придется ограничить себя только символами из CP866
Вариант 2
Вставить в начало свой программы:
system(«chcp 65001»);

или (потребует #include

):
SetConsoleOutputCP(CP_UTF8);

Консоль переключится в UTF-8, все будет отображаться как надо. Но только при использовании низкоуровневых операций вывода типа puts(«Привет, Мир!»);. Если выводить через std::cout, то возможен вывод типа ��ривет, Мир!. Это связано с тем, что Windows API для вывода в консоль ожидает видеть в каждом вызове законченную строку. И если оператор basic_ostream::operator<<(char*) для символа ‘П’ выполнит два API вызова (с D0 и 9F), то они не сольются в одну букву ‘П’, а будут интерпретированы и отображены как два разных символа (��).

Предостережение
При использовании UTF-8 в своей программе, например при хранении в std::string, следует помнить, что операции над строками могут дать не очевидные результаты (т.к. один символ теперь может занимать от 1 до 4 байтов).
Кроме вывода, аналогичные проблемы ожидают и при вводе из std::cin. Таким образом, единственное прозрачное решение для Windows (даже десятки), пока остается использование латиницы.

33 / 33 / 8

Регистрация: 17.09.2012

Сообщений: 186

1

08.12.2015, 19:18. Показов 26646. Ответов 25


Русский текст всегда выдает таким вот:

Настройка проекта внизу справа:

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

Что выдает консоль винды(10) при команде chcp:

Как это исправить?

__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь



0



599 / 237 / 69

Регистрация: 08.08.2015

Сообщений: 1,637

08.12.2015, 19:19

2

FliXis, битые ссылки, для вставки онных используйте специальную кнопку



0



33 / 33 / 8

Регистрация: 17.09.2012

Сообщений: 186

08.12.2015, 19:21

 [ТС]

3

Ссылки убивает движок форума. Загрузил во вложения.
В других IDE правилось это дело проще, а тут что-то ничего не помогает.

Изображения

 



0



599 / 237 / 69

Регистрация: 08.08.2015

Сообщений: 1,637

08.12.2015, 19:22

4

FliXis, странно, в коде локаль указал?



0



33 / 33 / 8

Регистрация: 17.09.2012

Сообщений: 186

08.12.2015, 19:26

 [ТС]

5

Вы про setlocale(LC_ALL, «Russian»); ?
Да, пробовал, но крокозябры лишь становятся более «классическими», если так можно выразиться.



0



599 / 237 / 69

Регистрация: 08.08.2015

Сообщений: 1,637

08.12.2015, 19:27

6

Цитата
Сообщение от FliXis
Посмотреть сообщение

лишь становятся более «классическими»

Это прям крылатое выражение))), а попробуй запустить в классической cmd



0



33 / 33 / 8

Регистрация: 17.09.2012

Сообщений: 186

08.12.2015, 19:32

 [ТС]

7

Тоже самое



0



599 / 237 / 69

Регистрация: 08.08.2015

Сообщений: 1,637

08.12.2015, 19:38

8

Kastaneda, Помоги человеку, ты же тоже на Clione сидишь, просто у меня на маке нет такой хрени как кодировка)

Добавлено через 23 секунды
FliXis, Ав других средах тажа лажа?



1



33 / 33 / 8

Регистрация: 17.09.2012

Сообщений: 186

08.12.2015, 19:51

 [ТС]

9

Другие не установлены толком, сейчас на питоне проверю.
Вроде нормально на питоне в виндовой консоли.



0



5225 / 3197 / 362

Регистрация: 12.12.2009

Сообщений: 8,101

Записей в блоге: 2

09.12.2015, 06:36

10

Цитата
Сообщение от Mesteriis
Посмотреть сообщение

Kastaneda, Помоги человеку, ты же тоже на Clione сидишь

Я под Linux’ом таких проблем не знаю
FliXis, попробуй в файл русский текст записать, потом в hex редакторе глянуть за кодировка. На скрине UTF-8, это где?



0



33 / 33 / 8

Регистрация: 17.09.2012

Сообщений: 186

09.12.2015, 11:53

 [ТС]

11

Цитата
Сообщение от Kastaneda
Посмотреть сообщение

Я под Linux’ом таких проблем не знаю
FliXis, попробуй в файл русский текст записать, потом в hex редакторе глянуть за кодировка. На скрине UTF-8, это где?

У друга на лине(opensuse последний) тоже самое из коробки, но ему русский не нужен, он наверно даже не прописывал локаль в коде. На лине всегда все норм с кодировками, это с виндой пляски.

На скрине, где UTF-8 — это внизу справа в проекте, когда он открыт.
Сейчас попробую глянуть кодировку.



0



5225 / 3197 / 362

Регистрация: 12.12.2009

Сообщений: 8,101

Записей в блоге: 2

09.12.2015, 11:55

12

Цитата
Сообщение от FliXis
Посмотреть сообщение

У друга на лине(opensuse последний) тоже самое из коробки

Я честно говоря даже не пробовал у себя русский текст выводить, несколько лет уже русским в коде не пользуюсь



0



33 / 33 / 8

Регистрация: 17.09.2012

Сообщений: 186

09.12.2015, 12:51

 [ТС]

13

Онлайн декодер отобразил исходную кодировку как ISO-8859-5
Другой показал CP936
Notepad++ UTF-8(без BOM), но там изначально и чистый документ в такой кодировке.



0



Kastaneda

5225 / 3197 / 362

Регистрация: 12.12.2009

Сообщений: 8,101

Записей в блоге: 2

09.12.2015, 12:54

14

покажи вывод вот этого

C++
1
2
3
4
5
std::string str("привет");
for (int i = 0; i < str.length(); i++) {
    std::cout << std::hex << int(str[i]);
}
std::cout << std::endl;



0



33 / 33 / 8

Регистрация: 17.09.2012

Сообщений: 186

09.12.2015, 13:06

 [ТС]

15

Вот такое вот на выходе. В виндовой консоли тоже.

ffffffd0ffffffbfffffffd1ffffff80ffffffd0ffffffb8ff ffffd0ffffffb2ffffffd0ffffffb5ffffffd1ffffff82

P.S> setlocale(LC_ALL, «Russian»); и с ним и без.

Миниатюры

Крокозябры в консоли CLion
 



0



Kastaneda

5225 / 3197 / 362

Регистрация: 12.12.2009

Сообщений: 8,101

Записей в блоге: 2

09.12.2015, 13:15

16

Нечитабельно, давай так

C++
1
2
3
4
5
std::string str("привет");
for (int i = 0; i < str.length(); i++) {
    std::cout << std::hex << (unsigned char)str[i] << " ";
}
std::cout << std::endl;

Добавлено через 1 минуту
Какая-то 2 байтовая кодировка, возможно UTF-8



0



33 / 33 / 8

Регистрация: 17.09.2012

Сообщений: 186

09.12.2015, 13:15

 [ТС]

17

╨ ┐ ╤ А ╨ ╕ ╨ ▓ ╨ ╡ ╤ В

А если локаль включена то:

Р ї С ? Р ё Р ? Р ч С ‘



0



5225 / 3197 / 362

Регистрация: 12.12.2009

Сообщений: 8,101

Записей в блоге: 2

09.12.2015, 13:19

18

Да, это UTF-8, я коды символов сравнил. Меняй кодировку файлов.

Добавлено через 1 минуту
Блин, так на 3 скрине UTF-8 же, сразу не заметил.

Добавлено через 45 секунд
3 скрин, где окно settings, там везде 1251 поставь.



0



33 / 33 / 8

Регистрация: 17.09.2012

Сообщений: 186

09.12.2015, 13:35

 [ТС]

19

А я уже пробовал. Но сейчас тоже сделал.
Везде, в сеттингс выставил 1251 — не помогло. Потом внизу справа в самом проекте выставил 1251, тоже не помогло.
Такое получаю с локалью:
Привет



0



5225 / 3197 / 362

Регистрация: 12.12.2009

Сообщений: 8,101

Записей в блоге: 2

09.12.2015, 13:42

20

Цитата
Сообщение от FliXis
Посмотреть сообщение

Такое получаю с локалью:
Привет

Кодировку на выходе покажи. Если mingw прикручен, то он setlocale() вроде не понимает, на сколько я помню.



0



IT_Exp

Эксперт

87844 / 49110 / 22898

Регистрация: 17.06.2006

Сообщений: 92,604

09.12.2015, 13:42

20

C++ проблемма русификации консоли. не могу сделать чтобы консоль была русской

если внимательно посмотрите то увидите что в консоле первая строчка совсем по русски не отображаетсЯ.
и еще обратите внимание, я перебробовал три разных способа подключения русского кода, часть из них под уже коментарии записана.
сам код блокс (в нем пишу я) сохраняет файл в виндовс-1251 кодировке.
что делать не знаю

GCC для винды не поддерживает установку русской локали (функция setlocale), а SetConsoleOutputCP будет работать, если для консольного окна установишь шрифт TrueType. Попробуй конвертировать:

#include <windows.h>
#include <iostream>
#include <cstring>
#include <string>

using namespace std;

string ru(const char *s) char *b = new char[strlen(s)];
CharToOem(s, b);
string r(b);
delete[] b;
return r;
>

string ru(string &s)

int main() string s = «русский текст в консоли (string)n»;
cout << ru(s);
cout << ru(«русский текст в консоли (char [])n»);
return 0;
>

ЗЫ:
Лучше не парься и сохраняй в кодировке cp866, или вообще выводи сообщения на английском.

Русские символы(буквы) при вводе/выводе в консоль на C++

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

Возникла проблема с отображением русских букв

Если нужно быстрое решение данной проблемы, то можно сразу пролистать вниз, ибо сначала я расскажу о том, как возникла эта проблема у меня и о том, как я искал решение.

На языке C++ программирую под ОС Linux, использую компилятор GCC. С проблемой неправильного отображения русских букв я не сталкивался. В момент написания статьи я нахожусь далеко от своего компьютера, могу довольствоваться лишь скромненьким ноутбуком с установленной ОС Windows Seven. Захотелось покодить и я установил на него интегрированную среду разработки Dev-C++ 5.10(использует компилятор TDM-GCC 4.8.1 на базе GCC 4.8.1). Кстати, она уже официально не поддерживается, но существует форк Orwell Dev-C++, который обновляется по сей день. Установив, я запустил и для пробы написал простую программку, которая отображает текст «Привет, мир!». Но поздороваться она с миром так и не смогла, а лишь сказала что-то непонятное на древнеегипетском. После перелопачивания некоторых форумов и сайтов я нашел множество советов, но основная масса не способна была решить её полностью, образовывались подводные камни о которых расскажу далее.

После написания, компиляции и запуска такой программы:

Можно получить примерно такой результат

Вывод кракозябр в консоль

Сразу понятно, что на приветствие это совсем не похоже.

После прочтения кучи советов стало понятно, что большая часть советов предлагала решить проблему функцией setlocale(), которая находится в заголовочном файле <clocale>.

Последовав совету и усовершенствовав программу таким образом:

Дополнительно: можно было написать setlocale(0, «») и результат был бы аналогичным, при условии, что в настройках ОС язык системы русский.

На вывод я получил следующий результат

Отлично, подумал я. Казалось бы, что проблема решена и программа здоровается на родном языке, но вот именно здесь оказались подводные камни.

О них я узнал из обсуждения. У человека была аналогичная проблема, решенная таким образом. Но решение удовлетворяло его недолго, он сообщил, что программа при вводе данных и последующем их выводе не выводит на руском, она говорит на непонятном языке.

Коль уж так, я решил вновь внести изменения в программу, пусть она поздоровается со мной по имени.

Но в результате я получил не приветствие

Оскорбление на древнеегипетском?

Как видно, она не смогла назвать моего имени.

Поискав информацию в сети, я узнал о том, что setlocale() не работает с потокоми ввода/вывода, а то есть с cin,cout,etc. Выходит, что нужно искать альтернативные способы решения данной проблемы, которые предлагались на других сайтах.

Решение проблемы с отображением русских букв в консоли

По-другому решить проблему можно было воспользовавшись функциями SetConsoleCP() и SetConsoleOutputCP() с аргуменом 1251 в обеих. Эти функции требуют подключения заголовка <Windows.h>, практически в каждом компиляторе под Windows он имеется, проблем не будет.

Усовершенствовал программу таким образом

На вывод получил

Вновь кракозябры в консоли

Вновь кракозябры в консоли

Снова что-то непонятное. Но решение, как оказалось, находилось очень близко. У функций SetConsoleCP() и SetConsoleOutputCP() есть небольшой недостаток — они работают только со шрифтом Lucida Console. В консоли же по умолчанию стоит шрифт Consolas, либо точечные шрифты. Следующим этапом сделать нужно вот что. Находясь в консоли нажать кнопку Cmd или нажать на значек программы в левом верхнем углу(Перед D:… в названии), то есть вызвать контекстное меню окна. Далее нажать «Свойства».

Контекстное меню консоли

Контекстное меню консоли

Далее появится окно с настройками, там необходимо выбрать шрифт Lucida Console.

Свойства консоли Windows

Свойства консоли Windows

И нажать на кнопку ОК.

После такой процедуры я вновь запустил программу и…

Работа программы

Да! Она поздоровалась со мной по имени на русском языке.

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

Для вас это может быть интересно:

Русские символы(буквы) при вводе/выводе в консоль на C++ : 29 комментариев

Блин все делаю как показано но все равно не получается в свойствах консоли установлен шрифт Lucida Console может поможете)
Пишу:
#include
#include
#include

using namespace std;

int main()
setlocale(LC_ALL,»Russian»);
SetConsoleCP(1251);
SetConsoleOutputCP(1251);
cout << «Привет, Мир!»;
return 0;
>

  1. Nicknixer Автор записи 07.12.2015

Проверил у себя — всё работает и отображает верно. Попробуйте набрать такую же программу, как на рисунке здесь http://nicknixer.ru/?p=349

Строчка setlocale(LC_ALL,»Russian») не нужна, без нее все работает.

тебе нужно понять что тебе нужно, если только вывести текст то оставь setlocal(LC_ALL, «Russian»)
ну а если у тебя будет переменная напримере кода
int main()
char name [12];
cout << «как тебя зовут?»;
cin << name;
cout << «привет, » << name;
return 0;
>
то получится что ничего не получится, в этом случае используй setconsolecp(1251); setconsoleoutputcp(1251); и тогда всё будет корректно отображаться. по поводу программы ide я использую visual studios 2019 и всё нормально работает

В консоли 866 кодовая страница. Можно проще — Creator — Настройки — редактор — кодовая страница 866. Заработает самая первая программа.

Спасибо за 866 кодовую таблицу, все заработало.

Мучался 2 часа с выводом русских букв!
Перечитал кучу пустых советов.
Наконец-то.
Этот— самый толковый способ сделать так, чтобы все работало, и писало по русски!!
Благодарю Вас.

  1. Nicknixer Автор записи 14.10.2016

Я рад тому, что это помогло мне, Вам и другим людям.

Вижу, что не только в вебе проблема с отображением русских букв. PHP- программисты с вами!

Большое человеческое спасибо!
Очень помогли дельным советом. Всё работает как надо!

Спасибо!по полочкам и правильно всё разложено)

На мой взгляд, самый простой и действенный способ вывода русских букв в консоли Windows: писать исходники в ее родной кодировке, т. е. в OEM866 и проблем никаких не возникнет. Тем более, что почти все текстовые редакторы ее поддерживают. Для удобства можно установить эту кодировку по умолчанию в тот же Notepad++.
И не надо танцевать с бубном, подключать заголовки, использовать дополнительные функции, менять шрифты и т.д.

Спасибо, дай те бог здоровья!!

Благодарю за эти советы, они действующие, доходчивые. Ушла минута на то, что долго не мог сделать

6 часов искал ответ!Спасибо !

Лайфхак от «Специалист»
После main
system(«chcp 1251 > nul»);

Имеется ввиду после фигурных скобок, т.е. в тело программы

Вообще-то setlocale() и всё вокруг неё касается преобразований WCHAR -> BYTE -> WCHAR у CRT функций (ну например если выводить тот-же самый «Привет мир» вот так:

setlocale( LC_ALL, «.OCP» );
wprintf(L»Привет мир!»);

То будет уже профит.
В свою очередь SetConsoleOutputCP() нужна примерно для того-же — на Винде с чужой кодировкой выводить юникодные строки кирилицей.
ну а так Taras Lavrov верно указал как это для неюникодных программ делается.

Спасибо большое!Очень помогло.С начала про поток вывода узнал где то недели 2 назад, вчера заинтересовало почему поток ввода не работает. Менее минуты и вуаля. Надеюсь ругаться там не будет никто на счёт заголовочных файлов, но…ОС у всех разные, преобразователи (компиляторы) разные. Вот поэтому и советы для всех разные. Кому то кодировку сменить, а многим многим остальным дополнительные код надо писать. Может когда напишем собственную ОС(хотя кое что такое у нас было когда то давно) тогда ничего этого не надо будет. Автору статьи большое спасибо ещё раз. Русский язык стараюсь вписать куда угодно лишь бы было по русски. Надеюсь, это никого не задевает

При кодировании C L ion позволяет ва м вообще забыть о рутине. Компилятор и отладка кода в C L ion просто на высоте. Вы можете четко сконцентрироваться только на важном, а все остальное этот редактор возьмет на себя. Данная IDE способна повысить в ашу производительность за счет «умного» и своевременного автозавершения кода, мгновенной навигации по документу и надежного рефакторинга.

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

  1. Легкий старт. В данной IDE очень легко начать новый проект , ф айлы могут быть добавлены в проект одним щелчком мыши.
  2. Умный редактор. Благодаря своей умной среде, C L ion анализирует ваш код, понимает ваш проект и старается увеличить вашу скорость написания кода за счет интеллектуального автозавершения.
  3. Навигация и поиск. Найти необходимый «кусок» кода не составит труда — мгновенная навигация по символу, классу или файлу в этом помогает.
  4. Генерация кода и рефакторинг. C L ion экономит вам время за счет генерации кода — от геттеров/сеттеров до более сложных шаблонов.
  5. Анализ кода на лету. У вас есть возможность писать красивый и правильный код. Данная IDE «на лету» проводит статический анализ вашего кода для поддерживаемых языков , п оэтому она способна сразу показывать вам предупреждения и ошибки.
  6. Настройка редактора. Гибкая система настройки C L ion позволяет выбирать тему редактора, раскладку клавиатуры и др. В общем , позволяет вам полностью настроить C L ion под себя.
  7. Запуск и отладка C L ion. Вы можете запускать и отлаживать свою программу как локально, так и удаленно.
  8. Динамический анализ. Если использовать интеграцию с Valgrid Memcheck, Google Sanitizerz и CPU Profiler, то можно легко обнаружить ошибки в памяти, скачки данных и любую другую проблему, также можно с легкостью отслеживать производительность вашей программы.
  9. Поддержка CMake. CMake — это кроссплатформенная система сборки, которая широко используется для проектов С и С++.
  10. Модульное тестирование. CLion поддерживает платформы Google Test, Boost.Test и Catch. Также он имеет встроенный инструмент для запуска тестов.
  11. Документация по коду. В CLion легко документировать свой код. Доступен предварительный просмотр документов в стиле Doxygen во всплывающем окне.
  12. Встроенная разработка. В CLion вы легко можете разрабатывать для микроконтроллеров, используя различные возможности отладки.
  13. Интеграция VCS. Данная IDE предоставляет унифицированный интерфей с для большинства популярных VCS, таких как Git, GitHub, CVS, Perforce и другие.
  14. Удобный терминал. Вы легко можете получить доступ к командной строке через встроенный терминал, можете включить режим эмуляции Vim, можете расширить функциональность среды и другими плагинами.

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

  1. Тема редактора. В настройках редактора есть возможность выбрать между светлой и темной темой оформления. Разработчикам с дальтонизмом можно попробовать параметр «Корректировать цвета красно-зеленого дефицита».
  2. Цвета и шрифты. Не стесняйтесь использовать настройки на полную. Вы свободно можете настроить макет цветов , шрифтов и синтаксиса, выделения ошибок, отладчика и т.д. Можете использовать предустановленные схемы цветов или созда ть с нуля сво и .
  3. Комбинации клавиш. IDE CLion по умолчанию предоставляет комбинации клавиш почти для каждой функции. Вы можете выбрать из списка подготовленных схем комбинаций или создать сво и .
  4. Фон редактора. Вы можете оживить редактор этой рабочей среды, установив любое фоновое изображение.
  5. Лигатуры. Если вам нравятся шрифты с лигатурами — используйте их.
  6. Семантическое выделение. Возможно , вам будет полезным способность настроить выделение каждой переменной или параметра своим цветом.

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

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

Запуск CLion

  1. Шаблоны конфигурации. Чтобы сократить время, вы можете использовать шаблоны конфигурации для модульного тестирования, удаленной отладки, запуска обычного приложения и т.д.
  2. Конфигурация запуска. Вы можете изменять исполняемый файл любой конфигурации. При желании можете сделать конфигурацию «не рабочей».
  3. Конфигурация отладки. Для старта отладки нужно нажать «Shift+F9». Чтобы проверить состояние отладки , CLion предоставляет много полезных ярлыков.

Отладка CLion

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

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

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

Понравилась статья? Поделить с друзьями:

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

  • Как изменить кодировку bat файла
  • Как изменить кодировка utf 8
  • Как изменить кодеки блютуз на андроид
  • Как изменить кодек файла
  • Как изменить кодек на honor

  • 0 0 голоса
    Рейтинг статьи
    Подписаться
    Уведомить о
    guest

    0 комментариев
    Старые
    Новые Популярные
    Межтекстовые Отзывы
    Посмотреть все комментарии