Отличие dev c от visual studio
На сегодняшний день C++ является одним из самых востребованных языком программирования на рынке и важным критерием при приёме программистов в IT компанию.
Для взаимодействия с этим языком используются специальные IDE, или интегрированная среда разработки (англ. Integrated Development Environment) – система программных средств, используемая программистами для разработки программного обеспечения. Сегодня их существует огромное множество, у всех есть свои особенности и недостатки. Целью статьи является сравнение некоторых из них по выбранным критериям и выбор лучших.
Для сравнения были выбраны следующие интегрированные среды разработки:
- Visual Studio 2015 от Microsoft.
- Dev C++ от Bloodshed Software.
- C++ Builder от Embarcadero Technologies.
- Eclipse C/C++ Development Tools от Eclipse Foundation.
- CodeLite от Eran Ifrah.
- NetBeans от NetBeans Community.
Все средства были установлены и протестированы.
Visual Studio 2015
Интегрированная среда разработки обладает большим числом инструментов и функций: может создавать как приложения в консоли, так и программы с графическим интерфейсом, и даже с помощью технологии Windows Forms. Хотя и работает с полным функционалом сразу после установки, но при отказе одного из компонентов перестаёт работать весь продукт. Удобный интерфейс и лёгкость в понимании работы продукта. Единственная сложность это создание графического интерфейса программы, которая требует дополнительной настройки. Программное обеспечение обладает всем набором функций, необходимым программисту, при желании можно установить дополнительные компоненты. Постоянно обновляется и поддерживается разработчиком, но не обладает свойством портативности и требует установки. К тому же полная версия требует покупки, но и бесплатной версии хватает для нужд начинающего и среднего уровня программистов. Также, бесплатная версия запрещает коммерческое написанных в ней программ. Работает только под OC Windows.
Интегрированная среда разработки обладает огромным числом функций: собственный компилятор, поддержка баз данных, поддержка технологии Windows Forms, объекты модулей данных, открытые инструменты интерфейса программирования приложений и т.д. Подойдёт программистам любого уровня, но лучше для новичков, так как, в отличие от Visual Studio, создание приложений с графическим интерфейсом здесь сделать намного легче. Постоянно обновляется и поддерживается разработчиком. Требует установки и покупки, но существует пробная 30-дневная версия.
Eclipse C/C++ Development Tools
Обладает следующими функциями: плагины, рефакторинг, автоподстановка любых идентификаторов, встроенная поддержка Doxygen, возможность отладки через GNU Debugger, подсветка синтаксиса, сворачивание кода, ссылочная навигация по коду (гипертекстовые ссылки), создание и управление проектами для различных инструментальных средств, стандартная make сборка, визуальные средcтва отладки. Дополнительно требует установку компилятора, без которого интегрированная среда разработки работать не будет. Компилятора в комплекте нет. Также требует наличие Java. Отличное программное обеспечегте для любого уровня умений программиста. Понятный интерфейс и возможность расширения функций с помощью плагинов делает его очень лёгким для освоения и очень эффективным. Сложностью является только установка компилятора. Периодические обновления и полная поддержка пользователей. Выпускается только в виде портативной версии. Бесплатен и работает под различными операционными системами: Windows/Linux/Mac OS X.
Доступны следующие функции: подсветка кода, сворачивание кода C++ и расширяемый язык разметки, автозавершение кода, просмотрщик классов, быстрая система сборки, поддержка параллельных сборок, импорт проектов Microsoft Visual Studio, импорт проектов Dev-C++, поддержка дебагеров GNU Debugger и Microsoft Constant Data Base. Хотя и обладает понятным интерфейсом и хорошим инструментарием, но новые версии выходят очень редко (раз в год), причём ошибки в коде не подсвечиваются и их надо искать вручную. Полностью бесплатен и обладает портативной версией. Продукт разрабатывается под Windows, Mac OS X и Linux.
Обладает теми же возможностями и инструментами, что доступны и в Eclipse C/C++ Development Tools. Как и рассмотренная уже Eclipse C/C++ Development Tools, среда разработки NetBeans написана на языке Java (соответственно так же требует установленной виртуальной машины Java). Но, в отличие, от Eclipse требует установки. Бесплатен и доступен для систем FreeBSD/Linux/Mac OS X/OpenSolaris/Solaris/Windows.
Анализ источников 1 позволил определить следующие критерии:
- Функциональность – возможности программного обеспечения для реализации требуемых задач, инструментарий и разнообразность встроенных функций.
- Надежность – способность программного обеспечения работать без ошибок и отказа компонентов на протяжении всего срока экплуатации или времени, требуемого для решения поставленных задач.
- Удобство использования – простота интерфейса программного обеспечения и лёгкость в освоении работы с ним.
- Эффективность – способность программного обеспечения выполнять поставленные задачи сохраняя общую производительность, не перегружая систему в которой оно установлено.
- Удобство сопровождения – поддержка программного обеспечения разработчиком, включающая в себя создание новых версий продукта и поддержку пользователей.
- Портативность – способность программного обеспечения работать в различных операционных системах, а также возможность его переноса в другую систему без потери в функционале.
- 7.Доступность – лёгкость в получении программного обеспечения (доступность источника для скачивания, цена продукта).
На их основе был произведён анализ всех интегрированных средств разработки, по каждому критерию они были оценены по пятибальной шкале в сводной таблице.
Предлагаю вашему вниманию 10 лучших сред разработки на C++. В эту подборку вошли самые популярные IDE, поддерживающие язык программирования C++. Я надеюсь, что эта статья будет полезной для вас.
Сразу скажу, что я не стараюсь сделать обзор каждого из приложений. Это топ, а значит я коснусь каждой среды разработки лишь поверхностно.
Microsoft Visual Studio
Интеллектуальное автодополнение, подсветка синтаксиса и многое другое. Можно смело заявлять, что это один из лучших представителей класса сред разработки на C++.
Приложение платное. Для использования придется отсыпать немного деревянных в карман Майкрософт. Но вряд ли кто-то будет жалеть о приобретении.
Более подробную информацию можно узнать на официальном сайте программы.
Особенности IDE:
- Конструктор форм (GUI);
- Автодополнение уже написанного кода;
- Относительно простой интерфейс;
Eclipse
Достаточно популярная среда разработки на C++. Отличается простотой и скоростью, многие отдают предпочтение из-за удобного минималистичного интерфейса.
Она бесплатна, вы в любой момент можете зайти на официальный сайт Eclipse и скачать оттуда свежий дистрибутив приложения.
Особенности IDE:
- Кроссплатформенность;
- Инструмент для создания GUI-форм;
- Простой интерфейс;
- Распространяется бесплатно;
NetBeans
Эта среда разработки очень похожа на Eclipse. Тем не менее, здесь есть и свои преимущества. Например, вы можете использовать готовые шаблоны для разработки на C++ или Java. Это в значительной мере облегчает задачу новичкам.
Особенности IDE:
- Открытый исходный код;
- Кроссплатформенность;
- Умеет работать с Qt Toolkit и другими инструментами;
- Конструктор GUI-форм;
CLion
Многофункциональная среда разработки, которая отлично подойдет для опытных программистов. Новички тоже могут легко использовать это приложение для разработки, но тут стоит учесть, что оно платное. 199 баксов за год.
Или же вы можете приобрести пак всех приложений от JetBrains за 649 долларов. Ознакомиться с ценами и подробной информацией можно на официальном сайте.
Особенности IDE:
- Конструктор форм (GUI);
- Дополнительные плагины с разным функционалом;
- Показывает все ошибки в лайв-режиме;
- Много инструментов для работы и отладки кода;
Xcode
Особенности IDE:
- Конструктор форм (GUI);
- Автодополнение уже написанного кода;
- Работает только с Apple;
CodeLite
Особенности IDE:
- Кроссплатформенность;
- Профилирование, рефакторинг кода;
- Поддержка GCC/Clang/Visual C++;
Особенности IDE:
- Простой и понятный интерфейс;
- Автодополнение кода;
- Горячие клавиши;
- Небольшой вес;
Code::Blocks
Особенности IDE:
- Конструктор форм (GUI);
- Простой интерфейс;
- Быстрая установка;
- Наличие Portable-версии;
Qt Creator
Популярная IDE для создания графических интерфейсов. В эту среду разработки встроенно огромное количество разных инструментов, которые позволяют создавать крутые приложения.
Особенности IDE:
- Конструктор форм (GUI);
- Автодополнение уже написанного кода;
- Кроссплатформенность;
- Множество инструментов Qt;
Geany
Особенности IDE:
Заключение
Я постарался выбрать наиболее популярные и практичные IDE. Надеюсь, что эта подборка вам понравилась.
Предлагаю вам подписаться на уведомления с помощью колокольчика. Вам будут приходить уведомления о выходе новых топовых материалов.
Рассказываем о лучших компиляторах и инструментах для разработки на С++.
Что такое компилятор C++?
Если в двух словах, то это утилита, которая преобразует написанный человеком код в язык, понятный для компьютера.
Если подробнее, то сначала надо обратиться к тому, как работает программный код. Компьютеры понимают только машинный язык (ассемблер), представляющий собой чередующиеся нули и единицы. Других прямых механизмов взаимодействия между компьютеров и человеком не существует.
Программировать, используя только бинарные символы, конечно, можно. Но это займет неприлично много времени и в несколько раз усложнит процесс разработки программного обеспечения любого порядка (разработчики превратятся в вымирающий вид). Поэтому люди придумали языки программирования более высокого класса, чтобы было легче взаимодействовать с ПК.
Ассемблер общается с аппаратным обеспечением напрямую. Языкам в духе C и C++ требуется компилятор, который сможет превратить более очеловеченный код в машинный. Похожим образом работают более «высокие» языки наподобие JavaScript и Python. Только они сначала преобразуются в С++, а потом в ассемблер. Все сводится к одному.
И мы снова возвращаемся к процессорам, которые понимают только нули и единицы. Для них нужен переводчик, который будет низводить до примитивного состояния код С++. Это и есть компилятор.
Как скомпилировать С++
Для этого нужна специальная программа. Она считывает код и начинает его трансформировать (переводить с одного языка на другой). Некоторые из них включают в себя текстовый редактор, куда можно вставить код, а некоторые работают в командной строке и взаимодействуют с готовыми скриптами.
Обычно процесс компиляции заключается в введении команды для запуска компилятора и передачи пути до файла-скрипта. Иногда компиляцию удается запустить через графический интерфейс. Все зависит от используемого ПО.
После запуска интерпретатор кода считывает содержимое файла, находит там директивы и флаги, подключает внешние необходимые библиотеки, а потом передает необходимые данные процессору. Ну а тот уже делает то, что нам вздумалось: пролистает страницу на сайте или запустит игру.
Топ лучших компиляторов и IDE для C++
Большая часть компиляторов существует в виде программного обеспечения, устанавливаемого в систему. Частенько они объединены с IDE, полноценной средой разработки, которая включает в себя текстовый редактор с подсветкой синтаксиса, автодополнением кода, файловым менеджером и массой других возможностей, необходимых для комфортного программирования.
Visual Studio Code
Тип: IDE
Цена: Бесплатно
Поддерживаемые платформы: Windows, Linux, macOS
Это популярнейший редактор текста для программистов, который можно превратить в мощную IDE, установив дополнительные плагины. Популярность VS Code обоснована его производительностью, открытым исходным кодом и неограниченной функциональностью.
Удобный, современный интерфейс вкупе с высокой скоростью работы делают VS Code идеальным инструментом для разработки программного обеспечения любого формата, в том числе и на языке С++.
В нем есть подсветка синтаксиса языка по умолчанию, автоматическое дополнение кода, а также система IntelliSense, помогающая находить ошибки в коде, взаимодействовать с API и дополнять код элементами из подключенных к проекту файлов.
Все это удобство дополняется функцией компиляции языка с помощью специализированного плагина. Все инструменты, необходимые для разработки, при этом доступны в едином интерфейсе.
Microsoft Visual C++
Тип: IDE
Стоимость: Community-версия распространяется бесплатно
Поддерживаемые платформы: Windows
Приложения можно создавать прямо в программе. Для этого есть удобный интерфейс для управления проектами, многооконный текстовый редактор для написания скриптов, встроенный быстрый компилятор, а также удобная система тестирования кода со всеми необходимыми инструментами, включая консоль и прочее.
Тут, как и в VS Code, есть система IntelliSense, помогающая писать код быстрее и эффективнее. Она автоматически дополняет строки кода, проверяет код на наличие ошибок, помогает работать со сторонними API и т.п.
Развиваемая сообществом версия программы распространяется безвозмездно.
Xcode
Тип: IDE
Стоимость: Бесплатно
Поддерживаемые платформы: macOS
Ключевая IDE компании Apple, разработанная эксклюзивно для macOS. Хоть и основное направление Xcode – работа с языками Objective-C и Swift, в программу встроен быстрый и удобный компилятор С++. Для работы с ним нужно лишь указать соотвествующий формат при создании нового проекта.
В Xcode удобный интерфейс, позволяющий легко организовать все открытые файлы проекта: скрипты, документацию, preview-кода и другие элементы, необходимые по ходу разработки приложения.
Здесь есть все необходимые инструменты для разработки: полноценные дебаггер (система поиска ошибок), механизмы управления файлами на манер git, встроенные утилиты для тестирования кода и т.п.
Запускать компилятор можно через командную строку, не используя графический интерфейс.
Тип: Компилятор
Стоимость: Бесплатно
Поддерживаемые платформы: Linux, macOS
Классические компиляторы в духе g++ отличаются от IDE отсутствием среды для разработки. Они лишь переводят текст с языка С++ на машинный язык, понятный для компьютерного процессора.
g++ – это встроенная в unix-системы утилита, запускаемая через командную строку.
Чтобы ею воспользоваться, нужно:
С помощью команды cd перейти в директорию с исходным кодом программы.
Ввести команду g++ название файла в формате .cpp
Эта команда автоматически создаст инициализируемый .exe-файл.
При необходимости скомпилировать код и сразу же его запустить, можно расширить команду и добавить ссылку на созданный инициализируемый файл.
Тип: IDE
Стоимость: Бесплатно
Поддерживаемые платформы: Windows
Dev-C++ – это полноформатная IDE для написания и компиляции кода на языках С и С++. Утилита является одним из главных программных продуктов с 1998 года. Ее используют миллионы разработчиков, студентов и исследователей.
Из преимуществ Dev-C++ пользователи программы выделяют следующие аспекты:
Легковесность и высокая скорость работы (интерфейса и компилятора).
Портативность. Возможность запускать Dev-C++ без установки.
Поддерживает сторонние компиляторы Mingw, Cygwin и другие.
Браузер классов, интегрированный дебаггер, автозавершение кода.
Удобный интерфейс управления проектами и настраиваемый текстовый редактор.
Intel C++
Тип: Компилятор
Стоимость: Бесплатно
Поддерживаемые платформы: Windows, Linux
Intel C++ (ICC), как понятно из названия, разработан компанией Intel с использованием современных наработок и мощной интеграцией с аппаратными компонентами компании.
В Intel C++ используется мощная система кэширования и SIMD-инструкции. Это позволяет ему компилировать код гораздо быстрее и эффективнее, чем большинству подобных решений. К тому же он удерживает высокую производительность на протяжении всего времени работы, когда другие компиляторы «проседают».
Intel внедрила колоссальное количество технологий, чтобы при компиляции создавать оптимизированный и быстро инициализируемый код. К тому же их программа легко интегрируется в другие популярные инструменты для разработки и может использоваться в тандеме с любым другим компилятором.
Также платформа Intel поддерживает стандарты C++ 20, SYCL, OpenMP 5.0, GPU offload.
Mingw-w64
Тип: Компилятор
Стоимость: Бесплатно
Поддерживаемые платформы: Windows
Усовершенствованная версия проекта mingw, который завершил свое существование в 2007 году. Mingw-w64 – это форк (ответвление разработки) оригинального компилятора, необходимого для поддержки 64-битных операционных систем.
Также mingw-w64 поддерживает современные версии API, за счет чего и приобрел большую популярность среди независимых разработчиков. Они же регулярно выпускают обновления и совершенствуют компилятор.
Mingw-w64 включает в себя миллионы подзаголовков, включая те, что необходимы для работы с новыми API Windows. В комплекте с mingw-w64 идет все необходимое для запуска и тестирования кода на Windows: инструменты для генерации файлов в формате .def, .dll. и утилита genidl для создания .idi файлов.
Проект mingw-w64 используется во множестве проектов, включая Blender, Fedora, OpenSUSE, DAE Tools, Botan, Win-builds и так далее.
Clang C++
Тип: Компилятор
Стоимость: Бесплатно
Поддержимваемые платформы: macOS, Linux, FreeBSD
Один из наиболее популярных и часто используемых компиляторов С, С++, Objective-C и других языков. Также он подходит для работы с фреймворками OpenMP, OpenCL, RenderScript, CUDA.
Clang создавался в качестве альтернативы GNU Compiler Collection. Продукт поддерживает большую часть флагов компиляции и неофициальных расширений для программного языка. Продукт развивается силами разработчиков огромного числа крупных корпораций, включая Apple, Microsoft, Google, ARM, Sony, Intel, AMD и других. Исходный код открыт.
Clion
Тип: IDE
Стоимость: от 14 100 рублей
Поддерживаемые платформы:
Clion – это полнофункциональная кроссплатформенная среда для разработки приложений на языке C++. В нее включена поддержка современных стандартов программного языка С++, технологий libC++ и Boost.
Программа автоматически контролирует состояние кода и его «чистоту», позволяя разработчикам сконцентрироваться на ключевых аспектах создания приложений вместо забот о поиске ошибок и т.п. Естественно, не обошлось без поддержки автодополнения кода, подсветки синтаксиса и механизмов тестирования.
Clion упрощает процесс разработки программного обеспечения за счет использования CMake и Gradle. Разработка компании JetBrains идеально подходит для комфортного управления всеми аспектами приложения с клавиатуры, тестирования кода с использованием технологий Google Test, интеграции VCS, Git< Boost.Test и других фреймворков.
Лучшие сервисы-компиляторы
Компилировать код можно не на жестком диске своего ПК, а онлайн, используя специализированные сервисы. Компилятор находится на сервере разработчика и выполняет все необходимые функции за вас. Правда, функциональность таких сервисов обычно заметно ограничена. Рассчитывать на полную поддержку всех используемых библиотек не стоит, но для быстрого тестирования кода и изучения языка такие компиляторы подходят идеально.
Codepad
Тип: Компилятор
Стоимость: Бесплатно
Поддерживаемые платформы: Любой браузер
Онлайн-сервис для компиляции и интерпретации C++ через браузер, разработанный независимым разработчиком Стивеном Хэйзелом, одним из основателей компании Sauce Labs.
Одним из преимуществ Codepad является функция коллаборации. Можно создавать проекты с собственными субдоменами для приватной совместной работы с коллегами.
Принцип работы Codepad простой: в текстовое поле сайта нужно вставить сгенерированный ранее код и нажать на кнопку Submit. Утилита в ответ отправит вывод (результат работы) команды. Потом можно оставить комментарий под написанным кодом и сгенерировать постоянную ссылку для взаимодействия с другими программистами.
Также Codepad поддерживает C, Haskell, Lua, Python и другие языки, над которыми можно работать в команде прямо из браузера.
CPP.sh
Тип: Компилятор
Стоимость: Бесплатно
Поддерживаемые платформы: Любой браузер
Еще одна онлайн-альтернатива для тех, кто хочет разрабатывать ПО на языке C++ и кому нужен простой и быстрый компилятор.
Интерфейс CPP.sh состоит из двух ключевых фрагментов: текстовое поле, куда можно прописать код, и панель с настройками. Текстовый редактор сервиса поддерживает подсветку синтаксиса и возможность протестировать практически любой код прямо в браузере, не используя дополнительное ПО.
В настройках можно выбрать стандарт языка (С++98, С++11, С++14), тип уведомлений об ошибках (Wall, Wextra, Wpedantic), уровень оптимизации кода, а также прописать параметры инициализации кода и вывода данных. Также в CPP.sh есть две консоли с информацией о компиляции и запуске кода.
Jdoodle
Тип: Компилятор
Стоимость: Бесплатно
Поддерживаемые платформы: Браузер, iOS и Android
Еще один компилятор С++, работающий в браузере и не требующий установки дополнительного ПО.
В Jdoodle можно инициализировать код в одном из пяти доступных режимов: GCC 5.3.0, Zapcc 5.0.0, GCC 7.2.0, GCC 8.1.0, GCC 9.1.0. Можно вписать свои аргументы для командной строки и ввести параметры Stdin Inputs.
Jdoodle работает в двух режимах: первый – статичный (сначала пишете код, а потом его запускаете), второй – интерактивный (результат любого действия разработчика тут же отображается в консоли).
При необходимости можно не писать код на сайте, а загрузить файл уже с готовым скриптом. Также в Jdoodle можно включить темную тему, выбрать размер шрифта, сохранить проект в отдельном файле и пригласить коллег для совместной работы. А еще у Jdoodle есть мобильная версия для компиляции на смартфонах и планшетах.
C++ Tutor
Тип: Компилятор
Стоимость: Бесплатно
Поддерживаемые платформы: Любой браузер
Последняя в подборке система визуализации кода, часто использующаяся начинающими разработчиками на ранних этапах изучения С++. В отличие от вышеперечисленных компиляторов, здесь все предельно просто: вводите код, затем нажимаете на кнопку «Visualize Execution» и смотрите на результат. Никаких настроек, опций и дополнительных функций тут нет. Максимально примитивный, но все еще эффективный инструмент.
Вместо заключения
На этом все. Каждый из описанных выше компиляторов используется тысячами разработчиков и отлично подходит для разработки на С++. Остается только опробовать их и выбрать наиболее подходящий вариант для вашего уровня, типа задач и рода деятельности.
Удивительно, но до сих пор на Хабре нет хорошей подборки плагинов для Visual Studio Code для тех, кто пишет на С/С++. Microsoft в своем блоге опубликовали только статью, совсем базового уровня с инструкцией по настройке. Но большинство читателей Хабра, тем более из разработчиков, обойдется без такой подробной инструкции. Есть только несколько подборок для веб-разработчиков, но не для С++.
Наверное это связано с тем, что большинство С++ разработчиков использует тяжеловесные IDE, в первую очередь конечно же Visual Studio.
Но в Linux и MacOS с полноценными IDE всё не так просто, да и тяжелая среда разработки не всегда нужна или просто не хочется ее использовать.
Я же хочу обратить ваше внимание на полезные плагины, которые облегчают жизнь и работу, а также рассказать про полезные настройки и особенности VS Code, которые вы могли просто упустить.
Вопрос считать VS Code IDE или только редактором кода весьма холиварный и не является целью этой статьи. Я буду всё-таки считать её IDE, так как минимальными усилиями она предлагает основные сценарии IDE, такие как автодополнение и отладка.
Немного истории
Первая IDE, которую я использовал начиная свой путь разработчиком была, уже историческая, Borland C++ 2.0. Потом я пересел на Visual Studio 6.0 и оставался (да и сейчас остаюсь) фанатом этой IDE. Но в какой-то момент возникла необходимость писать под Linux (это был, наверное, 2006 год). В Linux, первое время, я был шоке от отсутствия серьезных IDE — пробовал Eclipse, мучился и плевался. Не буду вдаваться в историю, но в итоге я разобрался с Make, CMake, научился быстро писать соответствующие файлы, потом были линкер скрипты, gdb, kdb и много всего интересного. В это время я полюбил и активно использовал vim на протяжении лет 5. После чего постепенно переключился на Sublime Text, затем на его вторую версию, а сейчас уже на третью.
Теперь я уже меньше пишу кода, и больше занимаюсь развитием продуктов и процессов, но периодически писать все же приходится — это и личные проекты и помощь нашим партнерам со встраиванием нашего SDK.
А так как SDK у нас не только для Windows, но и для Linux и MacOS, то и код приходится писать в них. В прошлом году я попробовал VS Code, и он стал для меня хорошей альтернативой Sublime Text.
Если коротко их сравнить, то Sublime Text, на мой личный взгляд, даёт больше возможностей по настройке и по работе, но VS Code больше даёт из коробки. И если под рукой нет личной подборки расширений для Sublime Text или если вы вообще никогда этим редактором не пользовались, то Visual Studio Code —отличная штука.
Начну с нескольких очень полезных расширений. Их для С\С++ разработчика в VS Code не так много и главный из них это конечно:
C/C++ for Visual Studio Code
Ссылка на marketplace
Это основное расширения для поддержки С\С++ в VS Code, которое разрабатывается Microsoft. Подробное описание всего, что оно даёт есть на странице в маркете, я же здесь упомяну только самое главное (на мой взгляд конечно):
- Форматирование кода (с помощью clang-format)
- Автодополнение
- Поиск символов по коду
- Go to Definition/Declaration (в том числе Peek)
- Class/Method Navigation
- Signature Help
- Quick Info (Hover)
- Error Squiggles
Надо отметить, что Microsoft большие молодцы и постоянно обновляют это расширение. Причем новые возможности этого расширения публикуются только в dev блоге от Microsoft и не очень заметны. Поэтому я решил рассказать тут о самых новых из них.
Глобальные настройки для IntelliSense
В мае 2018 в VS Code добавили возможность задать любые параметры для IntelliSense в пользовательском settings.json. Эти настройки автоматически применяются ко всем проектам.
Очень полезная штука когда большинство проектов, с которыми вы работаете используют общий набор include, одинаковый компилятор и так далее.
Поддержка встроенного терминала при отладке
В декабре 2018 года Microsoft добавила возможность по отладке С\С++ приложений во встроенном терминале, вместо открытия отдельного окна с терминалом. Управляется эта возможность параметром externalConsole в launch.json.
Пока поддерживается только cppdbg и только на Linux и Windows, но в MacOS тоже обещали завезти в скором времени. Выглядит это так:
Комментарии для документирования
Эту штуку добавили буквально в прошлом месяце. Рассказывать тут особо нечего, поэтому просто приведу пример от Microsoft.
Пишем простой класс Box и добавляем комментарии в стандартном формате:
Комментарий ассоциируется с классами или функциями членам класса и показываются во всплывающих подсказках при наведении на соответствующий объект.
Выглядит это так:
Работа с контейнерами
В последнем обновлении от 6 февраля Microsoft добавила работу с С++ в Docker контейнерах. Теперь вы можете не только собирать код в контейнерах, но и отлаживать его внутри контейнеров. Подробности — в блоге Microsoft.
Сам я контейнерами по работе не пользуюсь — нет необходимости. Но наверняка это многим будет полезно, поэтому я и решил включить это в статью.
Ну а теперь возвращаемся к другим расширениям для VS Code, которые помогут вам при разработке.
cquery
Ещё один достаточно глобальный плагин для С/С++/Objective-C разработчика в VS Code. Основная особенность — расширение было спроектировано и протестировано на очень больших проектах, например, на Chromium. Поэтому пригодится там, где стандартное расширение от Microsoft и его IntelliSense пасует (такое часто случает когда у вас больше 100Мб С++ исходников).
Список всех основных возможностей такой:
Easy C++ projects
Если два предыдущих расширения были глобальные с большим количеством возможностей, то это выполняет простую функцию — создание простого проекта для MSVC, GCC или Clang.
Дополнительно умеет:
- создавать типовой Makefile для проекта
- создавать конфигурации VS Code для сборки и запуска
- создавать конфигурации VS Code для отладки (поддерживается Visual Studio Debugger, GDB и LLDB)
- генерировать новые классы из небольшого списка шаблонов
Работает это так:
CMake Tools
Как очевидно из названия, расширение добавляет поддержку CMake. Как подсказали в комментариях, можно конечно все прописывать руками, но с расширением будет удобнее.
После установки надо будет сделать минимальную настройку. Выбрать toolchain:
После чего выбрать конфигурацию для сборки:
И все. Можно работать.
Расширение также умеет само генерировать для проектов простейшие CMake файлы.
Todo Tree
Результат работы выглядит так:
GitLens
Как следует из названия расширения — оно улучшает работу с git. Надо отметить, что по-умолчанию в VS Code уже встроена некоторая поддержка git, но весьма ограниченная.
Основная фишка GitLens — показ прямо в редактируемой строке кто и в каком коммите менял её последний раз. Расширение также добавляет расширенный поиск по истории файла, поиск по коммитам, удобный вид для сравнения нескольких версий файла и многое другое. Для демонстрации работы я просто вставлю gif со страницы marketа, который наглядно показывает возможности расширения.
Git History
Ещё одно расширение улучшающее работу с git, а именно показ истории. Почему в GitLens мне так и не удалось найти подходящее отображении истории проекта со всеми ветками. Если кто-то знает, как подобный вид (см. ниже) сделать с помощью GitLens обязательно напишите в комментариях, буду очень благодарен.
vscode-icons
Одно из многочисленных расширений, которое добавляет иконки для файлов и каталогов в Explorer панель. Расширений таких в маркете масса, а это является самым популярным. Можете смело выбирать любое другое, мне понравились именно эти иконки.
Settings Sync
Ещё одно полезное расширение, назначение которого очевидно из названия.
Для синхронизации ваших настроек используется GitHub account token и Gist. Лично для меня — одно из самых полезных расширений, так как я использую и Windows, и Linux, и Mac.
Code Spell Checker
Если ваш английский пока далек от идеала или вы хотите предотвратить опечатки, то это расширение определенно не будет лишним. При необходимости можно добавить поддержку русского языка.
Из приятных особенностей — не только подчеркивает ошибочные слова, но и предлагает корректные варианты.
WakaTime
ссылка на marketplace
WakaTime — это сервис, который показывает красивую статистику\графики\метрики по вашему программированию. Штука исключительно эстетическая, но мне очень нравится. Расширение соответственно добавляет поддержку сервиса при работе в VSCode. Про сам сервис можно почитать тут.
Пример красивых графиков:
Основные возможности сервиса бесплатные и подписки не требуют.
На этом с расширениями всё. Хочется также поделится несколькими полезными настройками самого VS Code, которые могут быть полезны сообществу.
Несколько полезных настроек
По умолчанию VSCode отправляет телеметрию при падении, а также некоторые данные и информацию об ошибках в Microsoft. Если вас по каким-то причинам это не устраивает, то смело отключайте в настройках:
- Telemetry: Enable Crash Report
- Telemetry: Enable Telemetry
Следующую настройку я сам обнаружил только при написании статьи. ZenMode позволяет вам скрыть все лишние окна и меню и оставить только текущий файл с кодом. Теперь буду постоянно пользоваться на планшете, когда приходится что-то пробовать в коде. На планшете остальные окна часто не нужны, а полезного пространства очень не хватает. Рекомендую!
Читайте также: