Vs code arduino plugin

Digitrode

цифровая электроника вычислительная техника встраиваемые системы

Программирование Arduino в Visual Studio Code с Platform.io и расширением Arduino

Альтернативная среда разработки Visual Studio Code для программирования Arduino

Arduino IDE – отличный инструмент программирования, он прост в использовании и, вероятно, содержит все ресурсы, которые понадобятся для создания проекта на Arduino, но, оценивая его как редактор кода, он не идеальный инструмент. В нем отсутствуют вспомогательные функции программирования, такие как IntelliSense, подсказки кода, инструменты автозаполнения, автокоррекции и отладки, которые облегчают разработку проектов с большой базой кода и заставляют разработчиков использовать редакторы, такие как Visual Studio Code и Atom. Вышеуказанная причина в сочетании с большой базой пользователей этих редакторов привела к разработке плагинов и расширений, которые позволили использовать некоторые из них для разработки кода для Arduino и других совместимых плат.

В этом уроке мы рассмотрим, как эти расширения можно использовать для программирования Arduino. Существует довольно много редакторов, и были разработаны различные варианты расширений, но для сегодняшнего урока мы сосредоточимся на Visual Studio Code (VScode) и рассмотрим его использование с расширениями Platform.io и Arduino. Dы узнаете, как разрабатывать код для Arduino и совместимых плат с использованием расширений Arduino и Platform.io на VScode.

Для практических примеров подойдут любые версии и варианты плат типа Arduino и NodeMCU, если они хорошо работают, когда вы программируете их с помощью Arduino IDE. В дополнение к вышеупомянутым компонентам вам потребуется последняя версия VScode (https://code.visualstudio.com/).

Arduino IDE для VScode (Visual Studio Code) был одним из первых разработанных расширений. Существует версия расширения, разработанная сообществом, в то время как есть другая версия, разработанная Microsoft. Любое из этих расширений может быть использовано. Для этого урока мы будем использовать версию Arduino от Microsoft.

Расширение Visual Studio Code Arduino сохраняет простоту использования, входящую в состав Arduino IDE, но также обеспечивает доступ к превосходным функциям, встроенным в код Visual Studio, что значительно упрощает программирование и отладку. Некоторые из функций и функциональных возможностей, как указано в описании расширения, включают в себя intelliSense и подсветку синтаксиса для скетча Arduino, менеджер списков встроенных библиотек, нтеграцию часто используемых команд и т.п.

Единственное требование – установить Arduino IDE из arduino.cc. Для расширения требуется версия IDE версии 1.6.x и выше. Однако старайтесь избегать версии 1.8.7, поскольку в ней есть проблемы, препятствующие установке и обновлению библиотек и плат.

Расширение Arduino можно установить из магазина расширений (market place) или через командную строку в VScode. Для установки из магазина запустите редактор VScode. Вы должны увидеть страницу приветствия, показанную ниже. Нажмите на значок расширения (выделенный на рисунке ниже), чтобы получить доступ к маркету.

Введите Arduino в строку поиска и выберите то расширение, которое разработано Microsoft. Нажмите на кнопку установки, как показано ниже, и перезапустите VScode после завершения установки.

После перезапуска расширение Arduino должно быть видно под вашими включенными расширениями. После завершения установки мы можем приступить к запуску примера с Arduino. Нажмите функциональную клавишу F1, чтобы открыть командную строку VScode. Как только командная строка станет видимой, введите Arduino. Он должен показать вам список команд, применимых к Arduino, как показано ниже.

С помощью этих команд вы можете установить новые библиотеки Arduino, установить новые платы, выбрать целевую плату для загрузки кода, выбрать программатор и практически все, что вы можете сделать с помощью Arduino IDE или даже больше. В качестве демонстрации мы будем использовать пример Blink (мерцания светодиода) для Arduino. Для начала нажмите F1 и выберите опцию «Arduino: Examples». Перейдите и выберите пример Blink.

Откроется папка со скетчем под панелью проводника в новом окне. Выберите файл .ino, если вы хотите внести какие-либо изменения в код.

Готовы загрузить код? Как и при работе с Arduino IDE, нажмите функциональную кнопку F1 и выберите опцию «Arduino: Board configuration», чтобы установить целевую плату, которая в нашем случае является Arduino Uno.

На этом этапе подключите вашу плату Arduino и выберите опцию « Arduino: select serial port» после нажатия клавиши F1. Появится список всех устройств, подключенных к последовательному порту. Выберите тот, к которому подключен ваш Arduino.

Затем выберите программатор, щелкнув «Arduino: Select programmer» в меню функций. Выберите любой, который вы хотите.

После этого мы готовы загрузить код. Если вы внесли какие-либо изменения в него и хотели бы проверить код перед загрузкой, вы можете использовать опцию «Arduino: Verify» после нажатия клавиши F1. Если код является удовлетворительным, и вы готовы к загрузке, нажмите F1 и нажмите «Arduino: upload function». Если вы тщательно выполните все шаги, процесс должен быть простым, и код должен успешно загрузиться, как показано ниже.

Теперь перейдем к расширению Platform.io. Platform.io – это платформа с открытым исходным кодом, разработанная для облегчения развертывания решений Интернета вещей (IoT). Она позволяет легко интегрировать специальные функции IoT, такие как удаленное обновление прошивки и тестирование. Платформа поддерживает несколько плат от Arduino, Espressif и их вариаций, а также TI MSP430, Tiva и другие. Она также поддерживает такие платформы, как Energia для плат TI и Mbed, что делает ее одним из наиболее всеобъемлющих кроссплатформенных средств разработки для IoT. Как и в случае с расширением Arduino для VScode, мы посмотрим, как можно использовать расширение platform.io для VScode для программирования плат Arduino.

Как и расширение Arduino, расширение platform.io для Visual Studio Code можно также установить через магазин расширений. Нажмите на значок менеджера расширений и пакетов, когда он откроется, введите platform.io в строку поиска и нажмите кнопку «Install». После установки перезагрузите VScode, чтобы установка вступила в силу.

После завершения перезагрузки значок platform.io будет отображаться на боковой панели, а панель инструментов platform.io будет добавлена в строку состояния VScode. Панель инструментов содержит кнопки для популярных команд. Это позволяет быстро создавать, загружать или выполнять любые команды без особой навигации.

Теперь выполним пример. Мы также здесь будем использовать пример Blink. Чтобы создать новый проект, нажмите на значок с домиком platform.io и нажмите кнопку «New Project». Должно открыться окно, подобное показанному ниже.

Это окно позволит вам выбрать плату, фреймворк и другие вещи для настройки IDE для использования с вашей целевой платой. Поскольку мы будем использовать Arduino Uno, мы выбираем его в качестве типа платы, а Arduino IDE – в качестве платформы. Если это будет NodeMCU, вам нужно будет выбрать nodemcu в качестве типа платы и Arduino или ESPressif 8266 в качестве фреймворка. После завершения настройки создается новая папка проекта. Откройте файл main.cpp в папке src, чтобы написать код для своего проекта. Поскольку мы используем пример blink, вы можете скопировать и вставить приведенный ниже код в редактор кода.

Сделав это, используйте кнопку «Build» на панели инструментов, чтобы создать свой код, и кнопку «Upload», чтобы загрузить его на целевую плату Arduino. Если установка была выполнена правильно, вы должны получить сведения об успехе операции в окне консоли.

Источник

arduino/vscode-arduino-tools

Use Git or checkout with SVN using the web URL.

Work fast with our official CLI. Learn more.

Launching GitHub Desktop

If nothing happens, download GitHub Desktop and try again.

Launching GitHub Desktop

If nothing happens, download GitHub Desktop and try again.

Launching Xcode

If nothing happens, download Xcode and try again.

Launching Visual Studio Code

Your codespace will open once ready.

There was a problem preparing your codespace, please try again.

Latest commit

Git stats

Files

Failed to load latest commit information.

README.md

Arduino Tools extension for VS Code

VS Code extension for Arduino Tools, such as language features and debugger. This extension is part of the Arduino IDE 2.

High quality bug reports and feature requests are valuable contributions to the project.

Before reporting an issue search existing pull requests and issues to see if it was already reported. If yfou have additional information to provide about an existing issue, please comment there. You can use the Reactions feature if you only want to express support.

Qualities of an excellent report:

  • The issue title should be descriptive. Vague titles make it difficult to understand the purpose of the issue, which might cause your issue to be overlooked.
  • Provide a full set of steps necessary to reproduce the issue. Demonstration code or commands should be complete and simplified to the minimum necessary to reproduce the issue.
  • Be responsive. We may need you to provide additional information in order to investigate and resolve the issue.
  • If you find a solution to your problem, please comment on your issue report with an explanation of how you were able to fix it and close the issue.

If you think you found a vulnerability or other security-related bug in this project, please read our security policy and report the bug to our Security Team 🛡️ Thank you!

How to contribute

Contributions are welcome! Here are all the ways you can contribute to the project.

To propose improvements or fix a bug, feel free to submit a PR.

Pull request checklist

In order to ease code reviews and have your contributions merged faster, here is a list of items you can check before submitting a PR:

  • Create small PRs that are narrowly focused on addressing a single concern.
  • Write tests for the code you wrote.
  • Open your PR against the master branch.
  • Maintain clean commit history and use meaningful commit messages. PRs with messy commit history are difficult to review and require a lot of work to be merged.
  • Your PR must pass all CI tests before we will merge it. If you’re seeing an error and don’t think it’s your fault, it may not be! The reviewer will help you if there are test failures that seem not related to the change you are making.

To build the Arduino Tools VS Code extension (VSIX), execute:

It will generate a vscode-arduino-tools-x.x.x.vsix file in the ./build-artifacts folder. In VS Code, open the Extensions panel, click on the ellipses ( . ) and select Install from VSIX. . Or from the Command Palette.

You can also start the extension in debug mode. Open the Debug panel, and select the Launch Arduino Tools – VS Code Extension launch configuration.

To deploy a new release of the tools you have to do the following:

  • update the version in the package.json file
  • push a tag to the repo with v and the version you spacified in the package.json, for example v0.0.2-beta.1

This open source code was written by the Arduino team and is maintained on a daily basis with the help of the community. We invest a considerable amount of time in development, testing and optimization. Please consider donating or sponsoring to support our work, as well as buying original Arduino boards which is the best way to make sure our effort can continue in the long term.

The code contained in this repository is licensed under the terms of the Apache 2.0 license. If you have questions about licensing please contact us at license@arduino.cc.

About

Arduino Language Server extension for VS Code

Источник

Arduino

Microsoft

Visual Studio Code extension for Arduino

Welcome to the Visual Studio Code extension for Arduino preview ! The Arduino extension makes it easy to develop, build, deploy and debug your Arduino sketches in Visual Studio Code, with a rich set of functionalities. These include:

  • IntelliSense and syntax highlighting for Arduino sketches
  • Verify and upload your sketches in Visual Studio Code
  • Built-in board and library manager
  • Built-in example list
  • Built-in serial monitor
  • Snippets for sketches
  • Automatic Arduino project scaffolding
  • Command Palette (F1) integration of frequently used commands (e.g. Verify, Upload. )
  • Integrated Arduino Debugging New

Prerequisites

Either the Arduino IDE or Arduino CLI are required.

Arduino IDE

The Arduino IDE can be installed the Arduino download page.

  • The supported Arduino IDE versions are 1.6.x and later.
  • The Windows Store’s version of the Arduino IDE is not supported because of the sandbox environment that the application runs in.
  • Note: Arduino IDE 1.8.7 had some breaking changes, causing board package and library installation failures. These failures were corrected in 1.8.8 and later.

Arduino CLI

The Arduino CLI can be downloaded from the repository’s release page

  • The extension has only been tested with v0.13.0.
  • If you use the CLI you will have to set arduino.path since the CLI does not have a default path.

Installation

Open VS Code and press F1 or Ctrl + Shift + P or Cmd + Shift + P to open command palette, select Install Extension and type vscode-arduino .

Or launch VS Code Quick Open (Ctrl + P or Cmd + P ), paste the following command, and press enter.

You can also install directly from the Marketplace within Visual Studio Code, searching for Arduino .

Get Started

You can find code samples and tutorials each time that you connect a supported device. Alternatively you can visit our IoT Developer Blog Space or Get Started Tutorials.

Commands

This extension provides several commands in the Command Palette (F1 or Ctrl + Shift + P or Cmd + Shift + P) for working with *.ino files:

  • Arduino: Board Manager: Manage packages for boards. You can add 3rd party Arduino board by configuring Additional Board Manager URLs in the board manager.
  • Arduino: Change Baud Rate: Change the baud rate of the selected serial port.
  • Arduino: Change Board Type: Change board type or platform.
  • Arduino: Change Timestamp Format: Change format of timestamp printed before each line of Serial Monitor output.
  • Arduino: Close Serial Monitor: Stop the serial monitor and release the serial port.
  • Arduino: Examples: Show list of examples.
  • Arduino: Initialize: Scaffold a VS Code project with an Arduino sketch.
  • Arduino: Library Manager: Explore and manage libraries.
  • Arduino: Open Serial Monitor: Open the serial monitor in the integrated output window.
  • Arduino: Select Serial Port: Change the current serial port.
  • Arduino: Send Text to Serial Port: Send a line of text via the current serial port.
  • Arduino: Upload: Build sketch and upload to Arduino board.
  • Arduino: CLI Upload: Upload complied code without building sketch (CLI only).
  • Arduino: Upload Using Programmer: Upload using an external programmer.
  • Arduino: CLI Upload Using Programmer: Upload using an external programmer without building sketch (CLI only).
  • Arduino: Verify: Build sketch.
  • Arduino: Rebuild IntelliSense Configuration: Forced/manual rebuild of the IntelliSense configuration. The extension analyzes Arduino’s build output and sets the IntelliSense include paths, defines, compiler arguments accordingly.

Keybindings

  • Arduino: Upload Alt + Cmd + U or Alt + Ctrl + U
  • Arduino: Verify Alt + Cmd + R or Alt + Ctrl + R
  • Arduino: Rebuild IntelliSense Configuration Alt + Cmd + I or Alt + Ctrl + I

Options

Option Description
arduino.path Path to Arduino, you can use a custom version of Arduino by modifying this setting to include the full path. Example: C:\\Program Files\\Arduino for Windows, /Applications for Mac, /home/ /Downloads/arduino-1.8.1 for Linux. (Requires a restart after change). The default value is automatically detected from your Arduino IDE installation path.
arduino.commandPath Path to an executable (or script) relative to arduino.path . The default value is arduino_debug.exe for Windows, Contents/MacOS/Arduino for Mac and arduino for Linux, You also can use a custom launch script to run Arduino by modifying this setting. (Requires a restart after change) Example: run-arduino.bat for Windows, Contents/MacOS/run-arduino.sh for Mac and bin/run-arduino.sh for Linux.
arduino.additionalUrls Additional Boards Manager URLs for 3rd party packages as a string array. The default value is empty.
arduino.logLevel CLI output log level. Could be info or verbose. The default value is «info» .
arduino.clearOutputOnBuild Clear the output logs before uploading or verifying. Default value is false .
arduino.allowPDEFiletype Allow the VSCode Arduino extension to open .pde files from pre-1.0.0 versions of Arduino. Note that this will break Processing code. Default value is false .
arduino.enableUSBDetection Enable/disable USB detection from the VSCode Arduino extension. The default value is true . When your device is plugged in to your computer, it will pop up a message » Detected board ****, Would you like to switch to this board type «. After clicking the Yes button, it will automatically detect which serial port (COM) is connected a USB device. If your device does not support this feature, please provide us with the PID/VID of your device; the code format is defined in misc/usbmapping.json .To learn more about how to list the vid/pid, use the following tools: https://github.com/EmergingTechnologyAdvisors/node-serialport npm install -g serialport serialport-list -f jsonline
arduino.disableTestingOpen Enable/disable automatic sending of a test message to the serial port for checking the open status. The default value is false (a test message will be sent).
arduino.skipHeaderProvider Enable/disable the extension providing completion items for headers. This functionality is included in newer versions of the C++ extension. The default value is false .
arduino.defaultBaudRate Default baud rate for the serial port monitor. The default value is 115200. Supported values are 300, 1200, 2400, 4800, 9600, 19200, 38400, 57600, 74880, 115200, 230400 and 250000
arduino.defaultTimestampFormat Format of timestamp printed before each line of Serial Monitor output. You can find list of all available placeholders here.
arduino.disableIntelliSenseAutoGen When true vscode-arduino will not auto-generate an IntelliSense configuration (i.e. .vscode/c_cpp_properties.json ) by analyzing Arduino’s compiler output.
arduino.analyzeOnOpen When true, automatically run analysis when the project is opened. Only works when arduino.analyzeOnSettingChange is true.
arduino.analyzeOnSettingChange When true, automatically run analysis when board, configuration, or sketch settings are changed.

The following Visual Studio Code settings are available for the Arduino extension. These can be set in global user preferences Ctrl + , or Cmd + , or workspace settings ( .vscode/settings.json ). The latter overrides the former.

Note: You only need to set arduino.path in Visual Studio Code settings, other options are not required.

The following settings are as per sketch settings of the Arduino extension. You can find them in .vscode/arduino.json under the workspace.

  • sketch — The main sketch file name of Arduino.
  • port — Name of the serial port connected to the device. Can be set by the Arduino: Select Serial Port command. For Mac users could be «/dev/cu.wchusbserial1420».
  • board — Currently selected Arduino board alias. Can be set by the Arduino: Change Board Type command. Also, you can find the board list there.
  • output — Arduino build output path. If not set, Arduino will create a new temporary output folder each time, which means it cannot reuse the intermediate result of the previous build leading to long verify/upload time, so it is recommended to set the field. Arduino requires that the output path should not be the workspace itself or in a subfolder of the workspace, otherwise, it may not work correctly. By default, this option is not set. It’s worth noting that the contents of this file could be deleted during the build process, so pick (or create) a directory that will not store files you want to keep.
  • debugger — The short name of the debugger that will be used when the board itself does not have a debugger and there is more than one debugger available. You can find the list of debuggers here. By default, this option is not set.
  • prebuild — External command which will be invoked before any sketch build (verify, upload, . ). For details see the Pre- and Post-Build Commands section.
  • postbuild — External command to be run after the sketch has been built successfully. See the afore mentioned section for more details.
  • intelliSenseGen — Override the global setting for auto-generation of the IntelliSense configuration (i.e. .vscode/c_cpp_properties.json ). Three options are available:
    • «global» : Use the global settings (default)
    • «disable» : Disable the auto-generation even if globally enabled
    • «enable» : Enable the auto-generation even if globally disabled
  • buildPreferences — Set Arduino preferences which then are used during any build (verify, upload, . ). This allows for extra defines, compiler options or includes. The preference key-value pairs must be set as follows:

Pre- and Post-Build Commands

On Windows the commands run within a cmd -, on Linux and OSX within a bash -instance. Therefore your command can be anything what you can run within those shells. Instead of running a command you can invoke a script. This makes writing more complex pre-/post-build mechanisms much easier and opens up the possibility to run python or other scripting languages. The commands run within the workspace root directory and vscode-arduino sets the following environment variables: VSCA_BUILD_MODE The current build mode, one of Verifying , Uploading , Uploading (programmer) or Analyzing . This allows you to run your script on certain build modes only. VSCA_SKETCH The sketch file relative to your workspace root directory. VSCA_BOARD Your board and configuration, e.g. arduino:avr:nano:cpu=atmega328 . VSCA_WORKSPACE_DIR The absolute path of your workspace root directory. VSCA_LOG_LEVEL The current log level. This allows you to control the verbosity of your scripts. VSCA_SERIAL The serial port used for uploading. Not set if you haven’t set one in your arduino.json . VSCA_BUILD_DIR The build directory. Not set if you haven’t set one in your arduino.json .

For example under Windows the following arduino.json setup

IntelliSense

vscode-arduino auto-configures IntelliSense by default. vscode-arduino analyzes Arduino’s compiler output by running a separate build and generates the corresponding configuration file at .vscode/c_cpp_properties.json . vscode-arduino tries as hard as possible to keep things up to date, e.g. it runs the analysis when switching the board or the sketch.

It doesn’t makes sense though to run the analysis repeatedly. Therefore if the workspace reports problems («squiggles») — for instance after adding new includes from a new library — run the analysis manually:

Manual rebuild: Arduino: Rebuild IntelliSense Configuration, Keybindings: Alt + Cmd + I or Alt + Ctrl + I

When the analysis is invoked manually it ignores any global and project specific disable.

IntelliSense Configurations

vscode-arduino’s analysis stores the result as a dedicated IntelliSense-configuration named Arduino . You have to select it from the far right of the status bar when you’re in one of your source files as shown here:

This system allows you to setup and use own IntelliSense configurations in parallel to the automatically generated configurations provided through vscode-arduino. Just add your configuration to c_cpp_properties.json and name it differently from the default configuration ( Arduino ), e.g. My awesome configuration and select it from the status bar or via the command palette command C/C++: Select a Configuration.

Debugging Arduino Code preview

Before you start to debug your Arduino code, please read this document to learn about the basic mechanisms of debugging in Visual Studio Code. Also see debugging for C++ in VSCode for further reference.

Make sure that your Arduino board can work with STLink, Jlink or EDBG. The debugging support is currently fully tested with the following boards:

Steps to start debugging:

  1. Plug in your board to your development machine properly. For those boards that do not have an on-board debugging chip, you need to use a STLink or JLink connector.
  2. Go to the Debug View (Ctrl + Shift + D or Cmd + Shift + D). and set breakpoints in your source files.
  3. Press F5 to select your debugging environment.
  4. When your breakpoint is hit, you can see variables and add expression(s) to watch on the Debug Side Bar.

To learn more about how to debug Arduino code, visit our team blog.

Change Log

See the Change log for details about the changes in each version.

Supported Operating Systems

Currently this extension supports the following operating systems:

  • Windows 7 and later (32-bit and 64-bit)
  • macOS 10.10 and later
  • Ubuntu 16.04
    • The extension might work on other Linux distributions, as reported by other users, but without guarantee.

Support

You can find the full list of issues on the Issue Tracker. You can submit a bug or feature suggestion, and participate in community driven discussions.

Development

To run and develop, do the following:

  • git clone https://github.com/microsoft/vscode-arduino
  • cd vscode-arduino
  • Run npm i
  • Run npm i -g gulp
  • Open in Visual Studio Code ( code . )
  • Press F5 to debug.

To test, press F5 in VS Code with the «Launch Tests» debug configuration.

Code of Conduct

This project has adopted the Microsoft Open Source Code of Conduct. For more information please see the Code of Conduct FAQ or contact opencode@microsoft.com with any additional questions or comments.

Privacy Statement

The Microsoft Enterprise and Developer Privacy Statement describes the privacy statement of this software.

License

This extension is licensed under the MIT License. Please see the Third Party Notice file for additional copyright notices and terms.

Contact Us

If you would like to help build the best Arduino experience with VS Code, you can reach us directly at gitter chat room.

Источник

Adblock
detector