Code blocks

Поддержка кириллицы в консоли

Проблема отображения кириллических символов в консоли Windows связана с тем, что консоль в этой операционной системе имеет собственную настройку кодовой страницы.
Если Windows использует кодировку cp1251 (она же windows-1251), то консоль по умолчанию использует cp866 использовавшуюся в MS-DOS.
Поэтому для корректного ввода и вывода кириллицы на консоль надо использовать пару функций SetConsoleCP() и SetConsoleOutputCP() соответственно. В качестве единственного параметра обеим функциям передается номер кодовой страницы – 1251. Для использования кодировки UTF-8 необходимо передать значение CP_UTF8.

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

Далее необходимо запустить программу, щёлкнуть левой кнопкой мыши по заголовку окна (где показывается путь к запущенному .exe файлу) и в контекстном меню выбрать пункт Свойства. Затем на вкладке Шрифт установить шрифт Lucida Console и выбрать удобный размер шрифта (там же можно настроить и другие параметры). После этого символы кириллицы будут корректно отображаться. Данную настройку достаточно выполнить один раз, для других программ и проектов будет достаточно установить кодовую страницу.

Следует заметить, что при использовании только функции setlocale(LC_ALL, «Russian») вывод осуществляется в cp1251, а ввод – в cp866. Это приводит к тому, что в памяти программы введённая с кириллическими символами строка хранится в другой кодировке. Наглядно это можно увидеть, если в показанном примере закомментировать вызов функции SetConsoleCP(). Строка которую выдаст программа будет отличаться от той, что ввели с клавиатуры.

Debugger:

  • Reworked the plugin API and made it easier to implement different debugger plugins (currently there are at least 3 plugins in progress)
  • Reimplemented the watches window to be easier to use* using wxPropertyGrid control. Now adding, removing, editing watches should be easier
  • Reimplemented the UI used for the ‘Evaluate expression under cursor’ feature, it is similar to the new watches window
  • Fixed some problems in the callstack window — switching to the selected frame should work 99% of the time
  • There were many improvement to the disassembly window
  • The debugger options have been extracted in Settings->Debugger. Multiple configurations are supported for every different plugin
  • Made it possible to run the host application for a DLL project in a terminal
  • The GDB plugin is way more robust and reliable now, GDB 7.5 is supported
  • The CDB plugin is vastly improved
  • Remote debugging works better
  • Made it possible to use marco replacement variables in many places

The local variables and function arguments features have not been reimplemented, because of complexities in the UI design, reliability issues and performance

Debugger

  • Mark the GDB attach to process command to be a continue command
  • Remove squirrel based pretty printers — users are supposed to use the gdb-python-pretty-printers
  • Disable the Examine memory menu item for child or special (function args and local variables) watches (ticket #408)
  • Make it possible to examine the memory of non-pointer variables like structs (ticket #408)
  • Make it possible to examine the memory of a watched variable using the contect menu in the watches window (ticket #408, thanks bluehazzard)
  • Truncate the value when displaying the watches tooltip (ticket #85, thanks Bat)
  • Fix crash in the disassembly windows (ticket #506 and #503, thanks bluehazzard)
  • Fix parsing of shortened strings
  • Make the source code in mixed mode to be treated as comments by the asm lexer
  • Save the Mixed mode setting from the Disassembly dialog (thanks bluehazzard, ticket #503)
  • Examine memory dialog remembers the size to dump (ticket #503)
  • Fix parsing of backtrace produced by newer CDB’s (ticket #430 thanks debugfanchin)
  • Make if possible to debug 32bit program with CDB 64bit (ticket #429, thanks debugfanchin)
  • Don’t call EditorLinesAddedOrRemoved twice for split editors
  • Don’t print a warning when the current compiler is set to “No compiler” and the active debugger is set to “Target’s default”
  • Set print elements limit to the default for gdb, using unlimited has proven to be dangerous
  • Fix gdb watch parsing error when there is a repeating sequence just before a closing brace ‘}’
  • Fix issue #254 — make it possible to use the stop button for the CDB debugger (thanks maras420)

Description

Code Blocks is an open source, free, C, C++ and Fortran IDE cross-platform that provides a ton of options. It is a no-cost C++IDE created with for users who have high demands.

Those behind this free software program designed it for extensive user customization and maximum flexibility. Centered on a plug-in style framework, the software is capable of being extended in the user’s preferred manner. There is even a built-in plug-in wizard that empowers users to build their unique plug-ins.

IMPORTANT: We currently do not list Code::Blocks Linux versions, but you can find all of them on projects homepage here.

Горячие клавиши

Работа с файлами

Сочетание клавиш Назначение
Ctrl + N Новый файл или проект
Ctrl + O Открыть существующий файл или проект
Ctrl + S Сохранить текущий файл
Ctrl + Shift + S Сохранить все файлы
Ctrl + F4 / Ctrl + W Закрыть текущий файл
Ctrl + Shift + F4 / Ctrl + Shift + W Закрыть все файлы
Ctrl + Tab Активировать следующий открытый файл
Ctrl + Shift + Tab Активировать предыдущий открытый файл

Редактирование кода

Сочетание клавиш Назначение
Ctrl + Z Отменить последнее действие
Ctrl + Shift + Z Повторить последнее действие
Ctrl + X Вырезать выделенный текст
Ctrl + C Копировать выделенный текст
Ctrl + V Вставить текст из буфера обмена
Ctrl + A Выбрать весь текст
F11 Переключить текст и заголовочный файл
Ctrl + Shift + C Комментировать выделенный код
Ctrl + Shift + X Раскомментировать выделенный код
Ctrl + D Дубликат строки
Ctrl + пробел / Ctrl + J Автозаполнение / Сокращения
Ctrl + Shift + пробел Показать подсказку
Ctrl + T Переместить строку выше
Ctrl + B Переключить закладку
Alt + PgUp Перейти к предыдущей закладке
Alt + PgDown Перейти к следующей закладке
F12 Переключение блокировки текущего блока
Shift + F12 Переключить все вкладки

Сборка и и запуск проекта

Сочетание клавиш Назначение
F9 Собрать и запустить
Ctrl + Shift + F9 Скомпилировать текущий файл
Ctrl + F9 Сборка
Ctrl + F10 Запустить
Ctrl + F11 Пересобрать

Отладка проекта

Сочетание клавиш Назначение
F8 Начать отладку
Ctrl + F7 Пропустить блок кода
Shift + F7 Войти в блок кода
Ctrl + Shift + F7 Выйти из блока кода
F5 Переключить точку останова
F4 Выполнить до курсора
Alt + F1 Предыдущая ошибка
Alt + F2 Следующая ошибка

Scripted Wizard

  • Apply YWX additions (GetWizardScriptFolder, FillContainerWithSelectCompilers,AppendContainerWithSelectCompilers,FillContainerWithChoices,AppendContainerWithChoices)
  • Improve Code::Blocks plugin wizard (ticket #481, thanks bluehazzard)
  • Add support for 3.1 in the WxWidgets wizard (thanks New Pagodi)
  • Fix images to be 32×32 and be transparent (fixes ticket #314)
  • Added FLUID and SDL2 templates (patch by unknown person)
  • Add new templates to automake build-system
  • Added Java wizards for fun
  • Added qt5 and improved qt4 wizard (patch by unknown person)
  • Added arduino and msp430 wizards (patch by unknown person)
  • Added SDL2 wizard (patch by unknown person)
  • Added wizard for D language (patch by unknown person)
  • Applied (modified) patch by stahta01 to relax wizards when searching for library files to link against, see:

Создание проекта

Для создания проекта необходимо перейти в меню File -> New -> Project…. Либо сразу нажать на кнопку Create a new project на стартовой странице.

В появившемся окне выбираем необходимый тип проекта. Здесь мы видим, что Code::Blocks имеет большое количество шаблонов проектов. В нашем случае это Console application (консольное приложение).

В следующем окне выбираем используемый язык программирования. Выбираем C++ и нажимаем на кнопку Next.

Далее в поле Project Title вписываем название проекта. В нашем случае это Test. Тут же указываем расположение проекта на диске (поле Folder to create project in). В указанной нами папке Code::Blocks автоматически создаст папку с ранее указанным названием проекта. Указав имя папки и имя файла, нажимаем на кнопку Next.

В следующем окне выбираем компилятор, а также сценарии сборки. По умолчанию выбран GNU GCC Compiler, который мы и будем использовать. Сценарии сборки позволяют получить несколько версий одного приложения. По умолчанию предполагается два сценария: Debug (используется при отладке) и Release (сценарий компиляции готового приложения). Хотя бы один из сценариев должен быть выбран. Если выбраны оба сценария, то в дальнейшем можно будет переключаться между ними.

Жмём Finish и получаем минимальную программу, так называемый Hello World!

Нажмимаем F9 для компиляции и запуска программы и получаем следующее окно.

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

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

Если открытый для редактирования файл был изменен, то на его вкладке слева от имени появится звездочка как на рисунке ниже.
Для сохранения программ, как и во многих других приложениях достаточно нажать сочетание клавиш Ctrl+S.
Расположение (путь) и имя отрытого в данный момент файла отображается в строке состояния, в левой нижней части окна.

Если ваши программы имеют небольшой объем и состоят только из одного файла, то лучше создавать не проект, а просто новый файл (File -> New -> Empty file).
Связано это с тем, что если у вас несколько проектов, то Code::Blocks будет компилировать и запускать только активный проект. Определить какой проект у вас активен в текущий момент
можно по состоянию окна Management, в котором показываются все открытые проекты и файлы. Если одновремено открыто несколько проектов, то название активного будет выделено полужирным шрифтом.
Если окно отсутствует, то открыть его можно через меню View -> Manager.

Для переключения между проектами необходимо навести указатель мыши, на тот проект, который вы необходимо
сделать активным и затем дважды кликнуть левой кнопкой мыши на названии проекта либо кликнуть один раз правой кнопкой мыши и в появившемся контекстном меню выбрать пункт Activate project.
В этом же меню доступны другие действия с проектом (в том числе добавление в проект новых файлов).

Частой ошибкой является редактирование файлов одного проекта, а запуск и тестирование другого проекта. Также если у вас открыт проект и просто отдельный файл программы, то Code::Blocks будет компилировать и запускать только активный проект.
Поэтому в учебных целях, когда весь проект зачастую состоит из одного файла желательно создавать не проекты, а отдельные .cpp файлы.

Дополнительные настройки

  • По умолчанию при установке Code::Blocks на панели инструментов доступно большое количество тулбаров, которые зачастую не используются, но при этом загромождают интерфейс среды программирования. Поэтому желательно перейти в меню View -> Toolbars и оставить галочки только напротив пунктов Compiler и Main.
  • Для того, чтобы консольное приложение не закрывалось сразу после вывода результатов работы, необходимо перейти в свойства проекта (нажать правой кнопкой на названии проекта и выбрать пункт Properties). Далее на вкладке Build targets установить галочку Pause when execution ends.
  • Для включения поддержки стандартов 2011 и более поздних годов необходимо пройти в меню Settings -> Compiler… в раздел Global compiler settings и на вкладке Compiler settings выбрать первую вкладку compiler Flags и уже в ней отметить соответствующую галочку. Ниже показан пример для включения поддержки стандарта 2011 года.
  • Для изменения размера шрифта в редакторе кода достаточно зажать кнопку Ctrl и вращением колеса прокрутки (скролла) установить комфортный размер шрифта. Точно также можно изменить размер шрифта в окне Log & others (окно с выводом логов и сообщений). Только следует учесть, что при следующей сборке настройки этого окна сбросятся. Для того, чтобы настройки окна логов и сообщений сохранялась необходимо перейти в меню Settings -> Environment… перейти в раздел View и там в окошке Message log’s font size установить комфортный размер шрифта.
  • Пункт меню View -> Logs или клавиша F2 отображают или прячут окно вывода сообщений компилятора внизу экрана.
  • В строке состояния, в правой нижней части окна, отображается кодировка открытого файла. По умолчанию используется кодировка Windows-1251. Желательно использовать кодировку UTF-8, для этого необходимо перейти
    в меню Settings -> Editor… в раздел General settings и на вкладке Encoding settings выбрать кодировку UTF-8.
  • Для того, чтобы использовать скомпилированный файл программы отдельно от среды программирования необходимо изменить настройки компиляции. Для этого необходимо перейти в меню Project в раздел Build options… или
    в меню Settings -> Compiler… в раздел Global compiler settings (во втором случае настройки будут глобальными для всех проектов и простых программ состоящих из одного cpp файла) и на вкладке Linker settings в поле ввода Other linker options добавить следующие строки:

-static

-static-libgcc

-static-libstdc++

4 ответа

Решение

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

  • Убедитесь, что исполняемый файл компоновщика и правильный путь установлены, чтобы C::B мог его найти. Для MinGW компоновщик вызывается через драйвер компилятора с именем ‘g++. Exe’.
  • Убедитесь, что в разделе «Тип» выбрано «Консольное приложение».
  • Если все выглядит хорошо, но все равно не связывается, попробуйте создать новый пустой консольный проект. Добавьте существующие файлы в этот проект и попробуйте собрать его.
  • Попробуйте создать его вручную из командной строки ‘cmd’, чтобы убедиться, что сам набор инструментов функционирует. Вы должны найти скрипт mingwvars.bat в вашей установке mingw. Запустите этот скрипт, чтобы открыть правильную среду командной строки. Сделайте простой тестовый компилятор с помощью этой команды:

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

4

2011-12-14 15:18

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

1

2011-12-09 18:43

Я не слишком знаком с кодовыми блоками, но постараюсь помочь, объясняя, что делает компилятор. Эти.o файлы, которые он создает, называются объектными файлами. Компиляция на высоком уровне работает так:

1) Ваш исходный код компилируется компилятором.

2) Компилятор интерпретирует ваш код и создаст объект (или.o файл) для каждого вашего файла (в общем, в любом случае).

3) Эти файлы затем «связываются» вместе в процессе компиляции, известном как «компоновщик».

4) Наконец, компоновщик выпускает ваш.exe файл.

Конечно, есть еще кое-что (например, библиотечные файлы, предварительно скомпилированные dll, предварительная обработка и т. Д.), Но для ваших целей вы можете думать об этом, как описано выше, как только начинаете.

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

Если в кодовых блоках есть какой-либо способ вызвать «очистку», вы также должны попробовать это и попытаться пересобрать. Это удалит (очистит) все старые файлы, которые все еще могут быть там с последней сборки.

1

2011-12-09 19:00

После сборки вашей программы в журнале сборки вы можете увидеть «Executing:», где вы можете найти путь к файлу.exe, который только что создала ваша программа.

2014-12-17 18:35

Usage¶

This section discusses how to use different syntax highlighting features with Pygments – the default highlighter – so they don’t apply when using a JavaScript syntax highlighter.

Specifying the language

Code blocks must be enclosed with two separate lines containing three backticks. To add code highlighting to those blocks, add the language short name directly after the opening block. See the list of available lexers to find the short name for a given language.

Example:

Result:

Adding annotations

Source · Experimental · Insiders only

Annotations offer a comfortable and friendly way to attach explanations to arbitrary sections of code blocks by adding simple markers within block/inline comments that refer to items of a list following the code block, i.e. , , etc. Material for MkDocs detaches the list from the flow of the document, injects the content of each list item into a tooltip, and links each list marker to the corresponding tooltip.

In order to opt-in to annotation support, a slightly different syntax is required – just add the respective language short code and the class, after the three backticks. Alternatively, if you want to enable annotations globally, add the following to :

Note that annotations can be placed anywhere in a code block where a comment for the language can be placed, which for JavaScript is and , for Yaml , etc.

Example:

Result:

  1. Annotations can contain arbitrary content which is shown when the marker is focussed, including any kind of formatting, links, admonitions, details, and even diagrams:

    Tip: You can use Tab to navigate annotations.

  2. Annotations can be placed anywhere in a code block were a comment for the underlying language can be placed.

    Python JavaScript Lua

    We’re working on a solution for languages without comments, which will be available shortly.

  3. Of course, this can be combined with , highlighting and all other code block related features.

Annotations require syntax highlighting with – they’re currently not compatible with other JavaScript-based syntax highlighters. Support may be added later on.

Adding line numbers

Line numbers can be added to a code block by using the option directly after the short name, whereas represents the starting line number. A code block can start from a line number other than , which allows splitting large code blocks for readability.

Example:

Result:

1
2
3
4
5

Highlighting specific lines

Specific lines can be highlighted by passing the line numbers to the argument placed right after the language short name. Note that line counts start at , regardless of the starting line number specified as part of .

Example:

Result:

Line ranges can also be used for conveniently specifying multiple lines.

Example:

Result:

Highlighting inline code blocks

When is enabled, inline code blocks can be highlighted by prefixing them with a shebang-like sequence, i.e. , directly followed by the language short name.

Example:

Result:

The function is used to generate a sequence of numbers.

Adding keyboard keys

When is enabled, keyboard keys can be rendered with a simple syntax. Consult the Python Markdown Extensions documentation to learn about all available key codes.

Example:

Result:

Ctrl+Alt+Del

Embedding external files

Also known as transcludes or file transclusion in MultiMarkdown.

When is enabled, content from other files can be embedded, which is especially useful to reference and embed the contents of source files directly into your project documentation.

Example:

Result:

Note that is not limited to code blocks, but can be used anywhere from a document to move repeating content to separate files, which is also explained in the official documentation.

Debug

Menu Path
Function
Keyboard Shortcut
Debug > Start / Continue
Run current project in debugger
F8
Debug > Stop debugger
Stop current debugging session
Shift-F8
Debug > Run to cursor
Run program until it reaches the current line
F4
Debug > Next line
Execute the next line of code
F7
Debug > Step into
Execute the next line of code, but step inside functions
Shift-F7
Debug > Step out
Continue execution until the current frame exits
Ctrl-F7
Debug > Next instruction
Execute the next assembly instruction
Alt-F7
Debug > Step into instruction
Execute the next assembly instruction, if it is a function call step into it
Alt-Shift-F7
Debug > Toggle breakpoint
Toggle breakpoint in current line
F5

Compiler plugin:

  • Add an option to targets which allows the user to select the linker executable to be used for the target
  • Make the LinkerExecutableOption::AutoDetect work as advertised
  • Cleaned up obsolete interim C/C++ standards that are now properly supported by GCC (i.e. C++11/14/17; C17)
  • Print Build banner at command preBuild step, else they appear to belong to previous target
  • Fix assert about RecalcSizes (ticket #857)
  • Expand CodeBlocks variables for non-ttCommandsOnly targets also
  • Fix potential crash if the choice control is removed from the toolbar
  • Print a log message that we are modifying the dll search path before running an executable
  • Adjust the regexp for detecting the compiler version to support double digit numbers
  • Do not switch to the build log when the workspace is closed
  • Fix a crash introduced in r11465 (ticket #582)
  • Clear target specific variables from the MacroManager on every recalculation (ticket #582)
  • Remove duplicated compiler option
  • Clear logs when the workspace is closed (ticket #656)
  • Make sure the goto prev/next build error goes only on errors
  • Show the build message when the user requests goto prev/next error
  • Add support for -std=c++17 flag
  • Don’t show a log message when the wxKill command fails to kill children, because they’ve finished already
  • Hide process output when the process is stopped/killed
  • Fix double send of cbEVT_COMPILER_FINISHED when the executable is closed after run
  • Make the abort button work again (ticket #104). Kill the started process and all children instead of using wxSIGTERM

Improved plugins:

  • Abbreviations: added support for autocompletion and automatic conversion of tab/space and eol style of the editor
  • AStyle: add brackets option, delete empty lines option, other new features from moving to astyle 2.02
  • AutoSave: new option to autosave entire workspace, bug fix for timer UI
  • AutoVersion: improved svn support (legacy versions, git-svn), bug fixes
  • BrowseTracker: jump tracker now ignores line 1 activations
  • CppCheck: configuration UI, bug fixes
  • CodeSnippets: bug fix (crasher)
  • CodeStatistics: stats for project or entire workspace
  • DragScroll: bug fix (gtk crasher)
  • Header Fix-up: STL and C library bindings
  • Help: support for windows help collections, fixes crash on exit
  • HexEditor: crash fix
  • KeyBinder: remove Ctrl-C/V/X (copy/paste/cut) from menu keybinder table to allow native behavior, other fixto play more nicely with OS
  • Profiler: autoselect active target,fix for rare crash
  • Project Importer: new support for MSVC 7, 10
  • ThreadSearch: UI improvements
  • ToDo: more language independent, fixes annoying UI bugs
  • Valgrind: added configuration panel, works better with CB projects, more output handling and support for valgrind features
  • wxSmith: support for many new widgets (including KWIC, ImagePanel, GridBagSizer), internationalization support, duplicate IDs are allowed, tons of bug fixes

Summary, for download

Download the short (this) changelog here: http://sourceforge.net/projects/codeblocks/files/Binaries/12.11/changelog

Download the full changelog here: http://sourceforge.net/projects/codeblocks/files/Binaries/12.11/changelog_fullgg

Linux 32 and 64-bit

Distro File Download from
codeblocks_20.03_amd64_oldstable.tar.xz FossHUB or Sourceforge.net
codeblocks_20.03_i386_oldstable.tar.xz FossHUB or Sourceforge.net
codeblocks_20.03_amd64_stable.tar.xz FossHUB or Sourceforge.net
codeblocks_20.03_i386_stable.tar.xz FossHUB or Sourceforge.net
codeblocks-20.03-1.el6.rmps.tar FossHUB or Sourceforge.net
codeblocks-20.03-1.el7.rmps.tar FossHUB or Sourceforge.net
For Ubuntu, use this PPA

Note: The Linux packages above are compressed archives (tar, tar.xz or tar.bz2). When you decompress the package you downloaded on your system, you will find all the .rpm or .deb packages required to install Code::Blocks.

Note: On RedHat/CentOS older revisions of 6 (up to 6.2 as far as we know) you need to add repoforge (former rpmforge) to your repolist, to be able to install the needed wxGTK-package. See http://repoforge.org/use for an instruction.

Note: Redhat/CentOS probably also needs an installed hunspell-package, if you want to install the contrib-plugins.

Неверно указаны пути к компонентам

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

В случае с компилятором вопрос решается просто. Удалите настройки и запустите CodeBlocks. При первом запуске CodeBlocks просканирует ваш диск на наличие компилятора и выдает список всех найденных компиляторов.

Вам остается только сделать выбор и можно работать.

Но для других компонентов это не так, поэтому нужно проверить, что все они прописаны. Для этого зайдите в меню «Настройки — Compiler… — Программы»

Убедитесь, что все компоненты присутствуют на вашем компьютере.

Решение: Нужные программы должны быть или в папке «bin» каталога установки компилятора, или укажите дополнительные пути для их вызова.

Code::Blocks Review

How Code::Blocks is Different From the Competition

Unlike other IDEs that are overly complex and require extensive time to figure out, Code::Blocks has a short learning curve. The masterminds behind the software created it with a solid user experience design that makes it easy for users to figure out all the software’s nuances on the fly. The software actually replicates the user experience design of Visual Studio, so many users will find that Code::Blocks is quite intuitive.

Positives

Aside from its excellent user experience design, Code::Blocks also shines in a number of other areas. Those who detest writing UI code will find that the software does most of the work. Code::Blocks does not create unorganized, faulty code in the slightest. Instead, it generates UI code into C+ files (both .cpp and .h) that users can proceed to edit as they would with normal text files as long as it is not necessary to insert code within the blocks that the program uses. The auto-generated UI code is shockingly clean.

The software also empowers users to move the code around as desired and the program will still recognize it as long as the blocks remain intact. Users will love the fact that they can save resources in the form of .XRC files. Aside from Code::Block’s ability to facilitate UI development, it can also function for C++ development on full-scale projects as well as everyday tasks. The IDE handles projects across different platforms without any significant issues. It is not necessary to make significant operating system changes, mess around with Makefiles or build entirely new systems for projects to compile. Just modify the Code::Block compiler settings, and you will be good to go.

Negatives

If you’re complaining regarding native Python support, this has been fixed: Python plugin is available here. You can find the debugger forum thread here.

Same for keyboard shortcut: the shortcut assignment is provided through a plugin named «Keybinder».

Some have complained that the debugger is limited compared to other programs. Many of these users have also noted that the debugger operates too slowly with Linux systems.

The Bottom Line

Code::Blocks might not be as powerful as Visual Studio yet it still provides elite functionality. It can be used for an array of production quality projects. Anyone who works with wxWidgets or production code will prefer this IDE over most others. The bottom line is that Code:Blocks is an excellent no-cost solution for C++ development with Linux.

Key binder plugin:

  • Fix warning for Ctrl-P being duplicated
  • Introduce version 2.0 using CodeLight key binding methods; allowing future ability to dynamically set menu and global accelerators to any frame
  • Sort cbKeybinder20.conf file and remove old (duplicate) bindings
  • Use correct file separator on Linux for .config/cbKeyBinder10.ini
  • If there is no .cbKeyBinder10.ini file try to load cbKeybinder10.ini
  • Add overridden menu accelerators to global table for Linux
  • Obtain correct config folder on linux (ticket 840)
  • Freeze config panel while updating
  • Avoid ‘Wheres the event handler gone’ asserts when modifying shortcuts
  • Fix F2, Shift-F2 and allow linux to handle any View menu check items (ticket #273)
Добавить комментарий

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

Adblock
detector