Где codeblocks хранит настройки
Перейти к содержимому

Где codeblocks хранит настройки

  • автор:

Как настроить Code Blocks на Linux?

Бросил эту затею с CodeLite, еще раз посмотрев на Code Blocks понял что она вроде бы и не хуже. Разве что с гитом из коробки не умеет работать, ну да ладно из консольки даже удобнее. Поставил Code Blocks на Linux Mint. Пробую скомпилировать и запустить простой хелловорлд (код тот же / там все верно). Так ведь не запускается. Вот что за фигня ни в CodeLite не запускается ни в Code Blocks. Причем что интересно в CodeLite запускается на линуксе, но не запускается на винде, а в Code Blocks запускается на винде, но не запускается на линуксе.

Причем я нашел скомпилированный бинарник. Пробую его еще из консоли запустить «. prog» — мне пишет «не могу запустить бинарный файл». Странно. Права на выполнение у файла стоят.

Если кто-то все же не поверит что я способен написать корректный хелловорлд. 🙂

spoiler

#include using namespace std; int main()

P.S. Кстати а можно как-то настроить для консольных приложений чтобы не открывалась системная консоль, а был вывод в консоль приложения? Было бы удобно. Так во многих IDE делается.

  • Вопрос задан более трёх лет назад
  • 4400 просмотров

9 комментариев

Оценить 9 комментариев

Code::Blocks и проблемы с автодополнением

Но в какой-то момент я заметил, что больше не могу перейти к месту определения/объявления того или иного идентификатора. Не важно, что это, — макрос, функция или структура.

Не могу посмотреть даже такие элементарные определения, как printf(), WM_DESTROY, CHAR.

Думал, что само пройдет, но не прошло.

Я пробовал переустанавливать Code::Blocks. Менял компиляторы, полагая, что парсер давится кривыми заголовками. Обновлял операционную систему. Экспериментировал с настройками автодополнения и парсинга.

Проблему решить не удалось.

1) С чем эта проблема может быть связана?

2) Каковы варианты ее решения?

3) Если починить Code::Blocks нельзя, то какую IDE вы могли бы мне порекомендовать? Я разрабатываю для Windows и в основном использую компиляторы MinGW, пишу исключительно на C. Менять IDE не хочется, потому очень к ней привык, но терпеть такое больше не могу.

Мне в принципе от IDE многого не надо.

Я пробовал Qt Creator, но он слишком избыточный, к тому же из коробки с ним идут какие-то глупые проблемы, вроде багов с кодировками вывода компилятора.

CodeLite не подошел потому, что пару раз упал при настройках путей к компилятору.

NetBeans оказался слишком тяжелым и медленным.

Сниппеты в среде Code::Blocks

Сниппет — это небольшой фрагмент исходного кода для повторного использования. Главная задача сниппета – упростить работу программиста. Сниппеты можно представить в виде «фрагментов» кода, каждый под своим названием.

Создание сниппета

Сниппеты создаются и хранятся при помощи плагина CodeSnippets, встроенного в среду CodeBlocks. Если при работе с проектом вы не видите маленькое окно CodeSnippets, то необходимо активировать плагин, перейдя во вкладку Вид и поставив галочку в пункте Фрагменты программы.

Удобнее всего располагать окно со сниппетами под окном Диспетчера (Management) на панели слева от кода программы, но можно и перетащить сниппеты в любое удобное место по вашему усмотрению.

Сниппеты хранятся либо в корневом разделе Codesnippets, либо в его подразделах.

Создать сниппет можно двумя способами:

– нажать правой клавишей мыши на соответствующий раздел в окне CodeSnippets, выбрать Добавить фрагмент программы и в появившемся окне ввести название сниппета и непосредственно фрагмент программы, который вы хотите сохранить для дальнейшего использования. Можно скопировать текст фрагмента из основного кода программы.

– выделить необходимый фрагмент в основном редакторе кода и мышкой перетащить его в соответствующую папку в окне CodeSnippets. Внимание: при этом способе фрагмент кода исчезает из самого кода программы, окончательно присоединяясь к сниппетам. Чтобы этого избежать, нужно при перетаскивании фрагмента держать нажатой клавишу Ctrl.

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

Использование сниппета

Воспользоваться нужным сниппетом также очень просто — можно либо перетащить сниппет в редактор кода, либо нажать на сниппет правой клавишей мыши и выбрать Append to active window. При этом способе сниппет встанет на место курсора в редакторе кода.

Чтобы удалить ненужный сниппет, нужно нажать правой клавишей мыши и выбрать удалить. При этом он не удаляется безвозвратно — плагин CodeSnippets перемещает удаляемые фрагменты в корзину (подраздел .trash) — если у вас ее нет, то она автоматически появится, когда вы удалите хотя бы один сниппет.

Если у вас накопилось большое количество сниппетов и стало трудно найти нужный, то можно воспользоваться поиском по сниппетам — наверху в окне Codesnippets имеется строка поиска. По умолчанию она предназначена для поиска по сниппетам и разделам, можно разделить поиск, нажав на кнопку “>”.

Сниппеты в виде ссылок на файлы

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

1) нажмите на любой ранее сохраненный сниппет правой клавишей мыши и выберите Преобразовать в ссылку на файл;

2) выберите месторасположение сохраняемого файла, ссылкой на который отныне будет являться сниппет.

Теперь если вы перетащите измененный сниппет в текст программы, то вместо фрагмента кода у вас появится ссылка на ранее сохраненный файл. Кроме того, у сниппетов-ссылок на файлы отличаются иконки— F вместо T.

Расположение сниппетов

Плагин CodeSnippets хранит все сниппеты в одном файле формата XML. Этот файл расположен по соседству с основной папкой CodeBlocks. Если открыть файл со сниппетами через блокнот, то увидим следующую картину:

При русской раскладке клавиатуры в codeblocks не работают командные клавиши. Баг или фича?

Когда выбрана русская раскладка клавиатуры в codeblocks не работают командные клавиши редактирования, типа копировать/вставить и т.п. Это так у всех? Баг или фича?

normann ★★
31.10.17 14:07:07 MSK

Это баг. Но не только в codeblocks.

RazrFalcon ★★★★★
( 31.10.17 14:10:42 MSK )

Linux готов для десктопов. Это баг в иксах, не чинится.

former_anonymous ★★★
( 31.10.17 14:33:27 MSK )
Ответ на: комментарий от former_anonymous 31.10.17 14:33:27 MSK

Да похоже что нет, в приложении, т.к. у меня починилось.

normann ★★
( 31.10.17 14:37:01 MSK ) автор топика
Ответ на: комментарий от former_anonymous 31.10.17 14:33:27 MSK

а причем тут иксы?

sqq ★
( 31.10.17 14:52:37 MSK )
Ответ на: комментарий от former_anonymous 31.10.17 14:33:27 MSK

Опиши плз, что это за баг такой? А то я, панимаешь, всё задаюсь этим вопросом.

Deleted
( 31.10.17 16:29:53 MSK )
Ответ на: комментарий от Deleted 31.10.17 16:29:53 MSK

Довольно старый и известный. Суть в том, что если у тебя текущая раскладка *НЕ* US, то многие хот-кеи (типа копировать-вставить) — не работают. Sad but true.

joy4eg ★★★★★
( 31.10.17 16:34:01 MSK )

Это фича GTK+, который используется в code::blocks под линукс.

andreyu ★★★★★
( 31.10.17 16:41:32 MSK )
Ответ на: комментарий от former_anonymous 31.10.17 14:33:27 MSK

При чем тут иксы?

andreyu ★★★★★
( 31.10.17 16:42:03 MSK )
Ответ на: комментарий от joy4eg 31.10.17 16:34:01 MSK

Старый. Но как оказалось, не всем известный. Вот и вы, слышали звон, но не знаете где он.

Суть в том, что если у тебя текущая раскладка *НЕ* US, то многие хот-кеи (типа копировать-вставить) — не работают. Sad but true.

К примеру, в qt-приложениях работают.

andreyu ★★★★★
( 31.10.17 16:43:37 MSK )
Ответ на: комментарий от andreyu 31.10.17 16:41:32 MSK

И по совместительству фича wxGTK, который используется в codeblocks.

Да, аналогичную фичу можно наблюдать в Gimp(даже виндоус), который на GTK+.

grem ★★★★★
( 31.10.17 16:48:07 MSK )
Ответ на: комментарий от joy4eg 31.10.17 16:34:01 MSK

dvorak — полёт нормальный.

Deleted
( 31.10.17 16:53:46 MSK )
Ответ на: комментарий от andreyu 31.10.17 16:43:37 MSK
Deleted
( 31.10.17 16:55:22 MSK )
Ответ на: комментарий от grem 31.10.17 16:48:07 MSK

И по совместительству фича wxGTK, который используется в codeblocks.

С таким же успехом вы можете теперь сказать, что это фича code::blocks, который использует wxgtk, который использует gtk.

andreyu ★★★★★
( 31.10.17 17:05:43 MSK )
Ответ на: комментарий от grem 31.10.17 16:48:07 MSK

Хотя у меня на macOS так и не работают шорткаты в GIMP

fornlr ★★★★★
( 31.10.17 17:48:01 MSK )
Ответ на: комментарий от fornlr 31.10.17 17:48:01 MSK

У меня они то работали, то через пару смен раскладок отваливались. Так было пару лет назад, давно не проверял.

grem ★★★★★
( 31.10.17 17:50:56 MSK )

В некоторых прогах помогает

setxkbmap ru,us 

Ну тесть отключи штатную переключалку и накидай на кнопки вот эти.

LinuxDebian ★★★★
( 31.10.17 17:58:45 MSK )
Последнее исправление: LinuxDebian 31.10.17 17:59:37 MSK (всего исправлений: 1)

Фича скорее которой уже десятки лет.

Ygor ★★★★★
( 31.10.17 18:20:36 MSK )
Ответ на: комментарий от LinuxDebian 31.10.17 17:58:45 MSK

Да нет, проблема в другом, я нашёл. Парни, если интересно, в приложении баг. Оно хранит все горячие клавиши в ~/.config/codeblocks/cbKeyBinder10.ini. Там список всех возможных команд, если назначается клавиша то она вписывается в строчку с командой. Баг в том что у кодблокса баг в коде записи в этот файл для некоторых команд, а может и для всех, он даже может иной раз сломать этот файл к чертям.

normann ★★
( 31.10.17 18:24:33 MSK ) автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.

Похожие темы

  • Форум заблокировать переключение раскладки клавиатуры (2015)
  • Форум Trinity (q4os) клавиши смены раскладки (2022)
  • Форум расскладка клавиш клавиатуры (2003)
  • Форум Переключение раскладки клавишой L_win (2020)
  • Форум Внешняя клавиатура, переключение раскладки. (2008)
  • Форум Переключение клавиатуры и горячие клавиши (2018)
  • Форум Создание своей раскладки клавиатуры для Debian (2019)
  • Форум Пареключать раскладку media клавишами (2014)
  • Форум раскладка клавиатуры ubuntu20.04 (2023)
  • Форум Раскладка клавиатуры в XFCE. (2010)

Добавить комментарий

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