Настройка sublime text 3 для c linux

Обновлено: 02.07.2024

Подобных статей достаточно много на просторах интернета, но хотелось бы написать актуальную вариацию. Лично я долгое время мучался в связке: Ubuntu — основная система, разработка под STM32 в виртуальной машине Windows 7. Но однажды меня это очень утомило и я таки решил потратить несколько дней на поиск решения и вылизывание полноценной среды под Linux Ubuntu. Забегу вперёд и скажу, что идеала я так и не добился, не удалось сделать realtime debug, как в Keil. В остальном всё очень пристойно.

Внимание, очень много текста и картинок!

Что в итоге у меня получилось:

  • Sublime Text 3 с автодополнениями и подсветкой всех функций, включая HAL и остальные библиотеки проекта;
  • AC6 System Workbench for STM32 с кастомизированными перспективами и прочими плюшками;
  • Конечно же использую контроль версий в Git.

Шаги, которые необходимо проделать:

  • Добавить необходимые PPA в APT;
  • Установить нужные библиотеки;
  • Установить программы;
  • Внести правки в конфигурационные файлы;
  • Доделать всякие плюшки в виде красивых иконок, поиска из меню и т.д.
Всё указано для пользователя с именем bulkin, не забудьте менять его при настройке.

Предварительно устанавливаем необходимый софт

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

Я предпочитаю устанавливать программы не из PPA в отдельную папку в домашней директории

/Programs. Во-первых, устанавливаю с правами локального пользователя. Во-вторых, папка с именем на английском, т.к. некоторые программы не любят кириллицу в пути.
Библиотеки предпочитаю хранить в /opt/libs.

Да, /opt — это OPTIONAL APPLICATIONS. Но у меня в /opt монтируется отдельный раздел с btrfs со сжатием. На всех своих машинах я настроил пути к своим библиотекам в /opt/libs. Морочиться и делать все по канонам (использовать /usr/local/lib и /usr/local/share) не вижу смысла, легко запутаться.

Для STM32CubeMX и Eclipse нам понадобятся:

  • Т.к. STM32CubeMX 32-битное приложение, необходимы необходимы соответсвующие библиотеки, если у вас 64-битная ОС.
  • Java Run Time Environment (будем использовать OpenJRE 8).

Устанавливаем 32-битные библиотеки

Устанавливаем Open JDK 8 JRE

Устанавливаем STM32CubeMX

Скачиваем дистрибутив с сайта ST (потребуется регистрация), разархивируем и запустим файл с расширением .linux. Если установщик не запускается, скорее всего не установлены 32-битные библиотеки. Путь установки меняем на /home/bulkin/Programs/STM32CubeMX, устанавливаем.


Создадим красивый ярлык и добавим поиск в Dash

Вставим следующее содержимое:

Теперь в dash иконка появится в разделе Приложения, поиск в dash будет работать после перелогинивания.

Запускаем STM32CubeMX, идём в настройки Help->Updater Settings и меняем путь для хранения библиотек на /opt/libs/STM32Cube/Repository/


Установим библиотеку для STM32F3. Открываем Help->Install New Libriaries, ставим галку Firmware Package for Family STM32F3, жмём Install Now


Устанавливаем Sublime Text 3

Вообще, SW4 вполне самодостаточная IDE. Но я люблю кодить именно в ST3, а компиляция и дебаг в SW4. Инструкция по установке ST3 для любых дистрибутивов лежит тут.

После этого стоит перелогиниться.

Настройка Sublime Text 3

Для начала установим Package Control.
Запускаем ST3 и жмём CTRL+`, в командную строку вставляем код и жмём ENTER:


Для полноценной работы нам понадобятся такие пакеты:

  • ARM Assembly (Подсветка Assembler в коде)
  • C Improved (Подсветка C)
  • CMakeEditor (Подсветка Cmake)
  • DocBlokr (Форматирование комментариев)
  • EasyClangComplete (автодополнение функций)
  • Hex to Int preview (показывает значение HEX)
  • SublimeAStyleFormatter (форматирует код нажатием CTRL+SHIFT+A)
  • Sublimelinter
  • Sublimelinter-contrib-cmakelint (Подсветка cmake)
  • Sublimelinter-cppcheck (проверяет код на ошибки с помощью cppcheck)
  • Sublimelinter-annotations (Подсвечивает FIXME, NOTE, TODO и т.д.)

Устанавливаем нужные пакеты из меню Preferences -> Package Control -> Install Package.

Настроим ST3

Откроем Preferences -> Settings и вставляем в правую половину:

Настраиваем пакеты ST3

EasyClangComplete

Настраиваем clang на C99 и указываем директории с базовыми библиотеками вроде StdLib.

Открываем Preferences -> EasyClangComplete -> Settings и вставляем в правую половину:

Sublimelinter

  • Линтер срабатывает только при загрузке/сохранении
  • Аннотации FIXME обводит как ошибку, остальные как предупреждение
  • CppCheck проверяет только правила Warning, Style, Performance и Portability, а также указываем стандарты C99 и C++11
  • Не показывать ошибки отдельным окном при сохранении

Открываем Preferences -> Sublimelinter -> Settings и вставляем в правую половину:

SublimeAStyleFormatter

Форматирование настроено на мой вкус. Подробное описание всех пунктов есть в Preferences -> SublimeAStyleFormatter -> Settings — Default

Открываем Preferences -> SublimeAStyleFormatter -> Settings — User и вставляем:

Устанавливаем AC6 System Workbench for STM32 (SW4STM32)

Переходим в папку загрузки и вводим

Если у вас установлен gksudo, установщик запустится в графическом режиме. У меня не установлен, потому всё в терминале.

Несколько раз вводим 1 в качестве согласия со всякой ерундой. Указываем путь установки:

Снова соглашаемся со всем, как девственник в свой первый раз, и ждём окончания установки.

Добавим поиск SW4 в Dash

Настройка SW4

Запускаем SW4, соглашаемся с созданием рабочей области, кликаем на workbench. При первом запуске будет установлен ARM Toolchain.

Сначала установим удобную тему. Открываем Help->Install New Software, жмём Add.. и вводим:

Жмём ОК, выбираем Eclipse Color Theme и жмём Next > и дальше всё по накатанной.


Включим тему: Window -> Preferences ->Appearance -> Color Theme. Я люблю Monokai, а вы можете позже подобрать, какую вам нравится.

Ну вот и пришло время запустить наш первый проект и проверить среду разработки в работе.

Повторюсь, я буду приводить примеры для отладочной платы STM32F3DISCOVERY. Делаю всё максимально просто, нам ведь банально надо проверить настройки среды разработки.

Запустим STM32CubeMX, выберем в главном окне New Project. Откроем вкладку Board Selector. Выбираем нашу плату:

  • Type of board: Discovery
  • MCU Series: STM32F3
  • Из списка ниже выбираем STM32F3DISCOVERY


И два щелчка на нашей плате.

Сделаем минимальную настройку МК

В левом меню включим:

  • FreeRTOS: поставить галку Enabled
  • SYS: Trace Asynchronous Sw
  • Timebase Source: TIM17 (на текущем этапе можно выбрать любой)


Переходим во вкладку Clock Configuration:

  • В поле HCLK вводим 64МГц (на встроенном осциляторе максимальная частота)

Настроим сам проект

Открываем Project->Settings из верхнего меню.

  • Указываем имя проекта в поле Project Name: STM32Discovery-SW4-Test
  • Указываем путь в поле Project Location: /home/bulkin/workspace
  • Выбираем Toolchain: SW4STM32


Откроем вкладку Code Generator и включим "Add necessary libriary files as reference in the toolchain project configuration file"



Жмём ОК и теперь мы готовы создать проект. Жмите Generate Source Code в верхнем меню:

Проверим Sublime Text 3

Для начала надо создать CMakeList.txt. Для этого открываем консоль в корне нашего проекта и вводим:

Из нашего STM32Discovery-SW4-Test.ioc будут созданы необходимые для компиляции из командной строки файлы. Но нас интересует только CMakeLists.txt.template. Переименуем его в CMakeLists.txt.


Project->Add folder to Project. и выбираем папку нашего нового проекта.
Для начала надо добавить в CMakeList.txt недостающие пути к библиотекам. Это нужно для корректной работы EasyClangComplete. Слева щёлкаем на CMakeList.txt и вносим изменения:
Над строкой set(USER_INCLUDE Inc) добавляем:

Все последующие set вплоть до file меняем на:

Ну и в раздел include_directories в самый конец добавить $ $ .

Стоит объяснить, зачем нужны эти танцы с бубном. Дело в том, что при создании проекта мы выбрали опцию "добавлять библиотеки в качестве ссылок в тулчейне". А вот cubemx2cmake указывает относительный путь к библиотекам HAL, а также не добавляет пару путей к библиотекам CMSIS и FreeRTOS. Вероятно, это будет исправлено в будущих версиях, но пока так.

Теперь надо сбросить кэш Cmake: CTRL-SHIFT-P -> EasyClangComplete: Clean current cmake cache

Откроем Src/main.c Наведём курсор на какую-нибудь функцию и порадуемся всплывающим окошкам с её описанием. Подробнее о работе EasyClangComplete можно посмотреть тут.

Попробуем отформатировать код: нажмём CTRL+ALT+F и радуемся, как всё поменялось. Если предпочитаете другой стиль, нет проблем, настройки в Preferences -> SublimeAStyleFormatter.

Откомпилируем проект и посмотрим debug

Запускаем SW4 и импортируем проект:

  • File -> Import… -> General -> Existing projects into workspace
    • Select root directory: /home/bulkin/workspace/STM32Discovery-SW4-Test
    • НЕ ставим галку Copy projects into workspace


    Выбираем проект в Project explorer. Компилируем Project -> Build Project. Если всё было сделано без ошибок ранее, проект скомпилируется за несколько секунд. И в консоли в нижней части будет примерно так:

    Подключим нашу плату к компьютеру и попробуем загрузить прошивку: Run -> Run as Ac6 STM32 C/C++ Application. Если всё удачно, в конце вывода консоли будет:

    Ну и самое вкусное. Запустим дебагер. Run -> Debug (или просто жмите F11). SW4 загрузит прошивку и предложит открыть отдельную перспективу для дебагера. Советую согласиться.

    Изначально наша программа будет остановлена на int main(void) <> , это брейкпонт по-умолчанию. Запустим программу нажав F8, чтобы инициализировались все настройки МК, потом остановим, нажав кнопку Suspend в верхней панели. Давайте попробуем зажечь светодиоды. В правой верхней части перспективы откроем вкладку I/O Registers, развернём GPIO и правый щелчок на GPIOE -> ODR -> Activate



    Теперь посмотрим в STM32CubeMX в нашем проекте, что светодиоды сидят на ногах PE8 — PE15:

    В столбце HEX Value в строках c GPIOE -> ODR -> ODR15 по GPIOE -> ODR -> ODR8 выставим 1 и радуемся магии, как загораются светодиоды на плате. Ставим 0 — гаснут.


    К сожалению, такая магия возможно только в остановленном состоянии, в отличие от того же Keil uVision, реалтайма тут нет. (грустный смайлик)

    Осталось только настроить Git

    Настройка Git

    Заходим через терминал в директорию с нашим проектом и инициализируем Git, включая ввод персональных данных:

    Создадим .gitignore и добавим в него:

    Ну и сделаем коммит:

    В общем-то дальнейшие вещи выходят за рамки статьи о настройке среды разработки. Это и полноценное описание дебагинга, и всякие горячие клавиши ST3. Об этом я бы хотел поговорить в другой раз. Надеюсь, данная статья будет полезна, хотя ныне настройка среды стала гораздо проще, чем ещё год назад. Удачи!

    И так, если вы занимаетесь программированием и вам нужен хороший редактор кода, можете начать именно с Sublime Text, когда то я с него и начинал, сейчас правда использую VSCodium. Sublime Text имеет бесплатный пробный период, но, не кто вам не запрещает пользоваться им на постоянной основе. Цена Sublime Text составляет 80 баксов, по этому если он вам нравится и вы профессионально занимаетесь программированием, то можно и купить. Из бесплатных аналогов можно так же выделить тот же VSCodium, Atom и Brackets. Все эти редакторы кода по своему хороши, и ограничиваются лишь удобством использования.

    Установка Sublime Text 3 в Debian / Ubuntu

    редактор кода Sublime Text 3 в

    Собственно теперь осталось подключить репозиторий Sublime Text, обратите внимания, какой именно репозиторий вы хотите подключить, стабильный (Stable) или для разработчиков (Dev), от этого будет зависеть установленная версия Sublime Text:

    Stable

    Dev

    Обновляем пакеты и устанавливаем Sublime Text:

    редактор кода Sublime Text 3 в

    Установка Sublime Text 3 в Fedora

    Затем добавляем репозиторий, обращаю ваше внимания на ветку репозитория, от нее будет зависеть какую версию Sublime Text вы в итоге установите, стабильную (Stable) или для разработчиков (Dev):

    Stable

    Dev

    редактор кода Sublime Text 3 в

    Устанавливаем Sublime Text командой:

    редактор кода Sublime Text 3 в

    Установка Sublime Text 3 в Manjaro

    Установить Sublime Text в дистрибутивах основанных на Arch, а именно в Manjaro можно несколькими способами, первый из репозитория AUR. Для этого необходимо разумеется его включить в настройках, а затем в поисковой строке набрать Sublime Text и выбрать один из вариантов установки. Тут так же имеется стабильная версия (Stable) и версия для разработчиков (Dev):

    редактор кода Sublime Text 3 в

    Но, как писалось выше, есть и второй способ установки Sublime Text в Arch подобных дистрибутивах. Разработчики предоставляют для дистрибутивов Linux основанных на Arch свой собственный репозиторий. А это редкость, в основном большинство разработчиков программного обеспечения останавливаются на Ubuntu. Для того что бы подключить репозиторий Sublime Text первым делом нужно скачать и установить GPG ключ:

    редактор кода Sublime Text 3 в

    Затем выбрать ветку, либо стабильную (Stable) либо для разработчиков (Dev), будьте внимательны, от этого будет зависеть установленная версия Sublime Text в ваш дистрибутив Linux:

    Stable

    Dev

    Ну собственно осталось лишь установить Sublime Text выполнив команду:

    редактор кода Sublime Text 3 в

    Заключение

    А на этом сегодня все, надеюсь, данная статья будет вам полезна.
    Хотелось бы выразить огромную благодарность тем, кто принимает активное участие в жизни и развитии журнала, огромное спасибо вам за это.
    Журнал Cyber-X

    Sublime Text 3 - один из самых распространенных текстовых редакторов для программистов. Он предоставляет своим пользователям уникальные возможности, которых нет больше нигде. Одни из самых главных достоинств - кроссплатформенность и расширяемость.

    Здесь можно настроить все - от внешнего вида до компонентов программы (плагинов). Но и уровень настройки у Sublime Text соответствующий - как редактор для программистов, он настраивается через исходный код, что под силу не каждому. В этой статье мы рассмотрим как выполняется настройка Sublime Text 3.

    Что такое Sublime Text

    Sublime Text

    Для Sublime Text с первых же версий возможности были гораздо выше, чем у других редакторов. Шутка ли - полностью настраиваемый интерфейс, возможность настроить поведение программы, а не просто вводить текст? Что уж говорить о плагинах - код, написанный на Python, позволяет пользователю управлять редактором так, как укротитель змей, играя на магической дудочке, заставляет гигантского удава трепетать перед ним. Однако, как бы нам ни было жаль, именно это и отпугивает новичков - будучи не в состоянии настроить редактор, они перестают им пользоваться.

    Настройка Sublime Text 3

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

    1. Внешний вид Sublime Text

    Итак, пора запустить Sublime Text (статья про установку - тут). Многим дизайн программы нравится, другим же - нет. И сейчас перед вами встает уникальная возможность поменять интерфейс до неузнаваемости!

    Самый простой с виду способ - выбрать тему через настройки. Для этого идем в меню "Preferences" -> "Color Scheme" и выбираем нужную вам тему. Но это способ лишь поменяет расцветку редактора, и ничего более.

    Выбор темы

    Другой, более сложный, но верный вариант - разобраться с файлом настроек. Чтобы открыть его, перейдите в меню "Preferences" -> "Settings". И вот, перед вами не что иное, как громада текста. Но не все так сложно, как кажется! Слева - настройки по умолчанию, их трогать не надо. Их можно взять за пример. А вот справа нужно разместить свои настройки - взять, скопировать нужную строку и поменять ее значение. Основные настройки:

    1. "color_scheme" - цветовая тема. Можно выбрать из существующих, а можно скачать в папку Packages/Color Scheme - Default/.
    2. "font_face" - шрифт текста. Важно, чтобы он был в системе. Чтобы посмотреть список доступных шрифтов, откройте любой текстовый редактор, к примеру, Lible Office Writer.
    3. "font_size" - размер шрифта, устанавливающийся дробным или целочисленным значением.
    4. "font_options" - дополнительные опции шрифта типа "no_bold", "no_italic".
    5. "word_separators" - разделители слов.
    6. "line_numbers" - настройка нумерации строк.
    7. "gutter" - отображать ли "канавку" (в ней располагаются номера строк и закладки).
    8. "margin" - длина отступа от "канавки".
    9. "fold_buttons" - если навести курсор на "канавку", то будут видны треугольные стрелки, позволяющие скрыть или показать фрагмент кода между фигурными скобками. Их тут можно отключить или включить.
    10. "fade_fold_buttons" - если поставить значение false, то треугольные кнопки не будут скрываться.

    Вот пример действия настроек (не забудьте сохранить файл):

    После настройки

    Вы можете поэкспериментировать здесь сами. А мы идем дальше.

    2. Настройка сочетаний клавиш

    Да-да, вы не ослышались! Любой может настроить сочетания по-своему, присвоив им другие значения. Чтобы открыть файл, перейдите в "Preferences" -> "Key Bindings".

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

    Настройка клавиш

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

    Ну вот и все, Sublime Text стал таким, каким он вам нужен и вы знаете как настроить Sublime Text 3. А сейчас пора двигаться дальше - к установке плагинов.

    3. Установка Package Control

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

    Package Control - предназначен для более быстрой и удобной установки плагинов. Он позволяет устанавливать их через визуализированный интерфейс, а не через код.

    Для начала установим Package Control с официального сайта. Это не значит, что мы его будем скачивать!

    1. Скопируем текст из соответствующего текстового поля (в зависимости от версии Sublime Text).
    2. С помощью сочетания клавиш "Ctrl +

    Установка плагина

    Package Control установлен! Теперь пора разобраться с тем, как им пользоваться.

    4. Работа с плагинами в Package Control

    Чтобы запустить Package Control, необходимо набрать сочетание клавиш "Ctrl + Shift + P" и из списка выбрать элемент Package Control: Install Package.

    Package Control

    И перед нами долгожданная установка плагинов! Теперь есть возможность быстрого их поиска и выбора, а если выбрать другие команды для Package Control, то можно и удалять, и изменять элементы редактора. Теперь надо потренироваться на установке. Уставноим Material Theme и выполним настройки темы sublime text 3.

    1. Запускаем установщик плагинов.
    2. Набираем в поле поиска Material Theme.
    3. Нажимаем и ждем, внизу должна появиться надпись "Installing package Material Theme". В процессе установки будет запрошено добавление еще одного плагина, разрешаем.

    Чтобы применить тему, необходимо перейти в меню "Preferences" -> "Color Scheme" -> "Material Theme" -> "schemes", а далее - тема, которая вам больше всего понравится.

    "theme": "Material-Theme.sublime-theme",
    "color_scheme": "Packages/Material Theme/schemes/Material-Theme.tmTheme",
    "overlay_scroll_bars": "enabled",
    "line_padding_top": 3,
    "line_padding_bottom": 3,
    // On retina Mac
    "font_options": [ "gray_antialias" ],
    "always_show_minimap_viewport": true,
    "bold_folder_labels": true,
    // Highlight active indent
    "indent_guide_options": [ "draw_normal", "draw_active" ]

    Вид редактора после применения к нему темы:

    Тема "Material"

    Неплохо, да? Настройка Sublime Text 3 почти завершена. А сейчас пора установить что-нибудь более существенное. Давайте ознакомимся с самыми популярными плагинами для Sublime Text.

    Топ 5 плагинов для Sublime Text 3

    1. Emmet

    Emmet - плагин, позволяющий сделать отображение кода более удобным. Здесь используются сочетания клавиш. К примеру, "html + tab" создает каркас документа, а "div.wrapper + tab" превратится в полноценный код:

    2. JavaScript & NodeJS Snippets

    Этот плагин представляет собой коллекцию сокращений снипсетов для JavaScript. Длина набираемого текста с помощью подсказок правда уменьшается! К примеру, вместо набора "document.querySelector('selector’);" можно просто набрать "qs + Tab".

    3. Advanced New File

    Зачем искать место для нового файла в неудобном дереве каталога? Данный плагин позволит быстро и эффекстивно ввести нужные данные, и файл будет создан буквально за пару нажатий клавиш!

    4. Git

    Git

    Название этого плагина говорит само за себя: вы сможете выполнять все необходимые действия в рамках Git'а, не выходя из редактора!

    5. GitGutter

    GitGutter

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

    Выводы

    Как писать код - дело каждого. Но есть удобные вещи, которые доступны всем, и нет смысла от них отказываться! Такие редакторы, как Sublime Text, особенно важны веб-разработчикам. А пока вы можете настроить редактор под себя сами - пусть это станет ВАШ собственный Sublime Text, в который вы вложили частичку собственной души. Удачи!

    Настройте среду для компиляции программ C в Sublime Text 3

    При компиляции программ c непосредственно в Sublime Text 3 вам необходимо заранее настроить среду компиляции.

    Первый: установить MinGW на компьютер

    1: загрузка MinGW

    Сначала настройте компьютер, чтобы он мог компилировать язык C, поэтому необходимо установить MinGW.
    PS:
    MinGW (Minimalist GNU for Windows), также известный как mingw32, является продуктом переноса компилятора GCC и GNU Binutils на платформу Win32, включая серию файлов заголовков (Win32API), библиотеки и исполняемые файлы.
    ссылка для скачивания:MinGW
    Через несколько секунд автоматически откроется окно загрузки и запустит установку сразу после загрузки.

    2: Установка MinGW

    3: Проверьте, успешна ли установка MinGW.


    win + r откройте окно cmd, введите команду gcc -v
    Если появляется следующий интерфейс, установка прошла успешно

    Два: настроить Sublime Text 3

    Щелкните верхнюю панель инструментов в Sublime:

    Китайская версия: Инструменты >> Система сборки >> Новая система сборки
    Английская версия: инструмент -> Система сборки -> Новая система сборки



    Введите следующую команду в открывшемся окне.


    Нажмите Ctrl + s для сохранения, он автоматически откроет каталог пользователя (Sublime Text 3 \ Packages \ User), мы изменим имя файла на c.sublime-build и сохраним его в этом каталоге.
    После сохранения вы можете увидеть только что созданный c в разделе Инструменты -> Система сборки (Инструменты -> Система сборки)
    На этом настройка завершена.

    Три: проверьте программу C


    Затем выберите среду компиляции
    выберите инструмент >> система сборки >> выберите c
    Запускаем программу, горячая клавиша Ctrl + Shift + B
    выберите c-Run
    может нормально работать

    Четвертый: установить ярлык для компиляции отдельно

    Кнопка компиляции и запуска ярлыка на языке c не очень удобна, здесь я установил F1 как кнопку компиляции и запуска ярлыка.
    Метод выглядит следующим образом:
    Найдите настройки сочетания клавиш в настройках в строке меню, во всплывающем окне, добавьте в правом окне

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