microsoft / vscode-arduino Goto Github PK
View Code? Open in Web Editor NEWVisual Studio Code extension for Arduino
License: Other
Visual Studio Code extension for Arduino
License: Other
There are two kinds of boards in Arduino IDE.
Given that we haven't decided the config file schema, in this sprint, we only support the official Arduino boards.
The board manager fundamental utilities should include:
http://downloads.arduino.cc/packages/package_index.json
http://downloads.arduino.cc/packages/package_index.json.sig
Provide a integrated window in VSCode to support serial monitoring for sending and receiving the serial messages. The expected behavior should be the same as the serial monitoring tool in Arduino IDE. Due to the UI limitation in VSCode, we could use a F1 task to send messages. Also, the COM port and band rate should be configurable.
The library for serial stuffs need to be built in different platforms.
In this sprint, we don't support Linux distros.
Features:
Boards manager UI integration in VSCode Insiders - Tree Explorer
The list should come from the #19 .
Context Menu (showQuickPick): Still need discussion.
This is the checklist for all the UI tasks in Spring 1
Update the readme
file based on the package we will release in the end of Sprint 2.
The users should have installed Arduino IDE before they try this extension. The extension will provide a tree view on the left side in VS Code Insiders. There are three types of examples. The list below shows the file locations on Windows.
{Installation Path}\Arduino\examples
{Installation Path}\libraries\{lib name}\examples
{User documents path}\Arduino\libraries\{lib name}\examples
{UserAppdata}\Local\Arduino15\packages\arduino\hardware\{hw name}\{version}\libraries\{lib name}\examples
{UserAppdata}\Local\Arduino15\packages\arduino\hardware\samd\1.6.9\libraries\USBHost\examples
This sprint, we only cover the built-in examples.
At the end of the day, we will build the VS Code extension without installing Arudino IDE. We should think about the project file structure in that extension.
But at current stage, we believe the right approach is to read the config file from Arduino IDE. To leverage as much config as we can. The limitation in this approach is that users have to config everything correctly in Arduino IDE first before they turn to VS Code to do code editing.
The expected behavior is
The users should have installed Arduino IDE before they try this extension. The extension will provide a F1 task - upload. Basically it will run a local excitable command like below.
arduino.exe --upload [sketch path] -v --board [board name] --port [port]
We don't support Linux distros and macOS in this sprint.
The users should have installed Arduino IDE before they try this extension. The extension will provide a F1 task - Verify. Basically it will run a local excitable command like below.
arduino.exe --verify [sketch path] -v
We don't support Linux distros and macOS in this sprint.
Use the previewHTML
to show the Boards manager. The UI in previewHTML
should be almost the same as what we see in Arduino IDE.
There should be a new task resisted in VSCode command palette - Boards Manager. When start the Boards Manager, there will be a Board Manager window showing in previewHTML
side by side with the editor area (vscode.ViewColumn.Two
). There are more things in this previewHTML
, from top to bottom.
The info shows in this previewHTML
should come from #19
Need UX input.
The users should have installed Arduino IDE before they try this extension. The extension will provide an integrated output window - Arduino. The behavior of this output window should be the same as the output in Arduino IDE, i.e., all the output from Arduino executable command.
Currently pressing F5 while an INO file is opened triggers nothing. The expected behavior is:
Provide context-aware code completion for *.ino files. The expected behavior is showing the pop-up list when the user type a letter in the editor. The pop-up list should automatically lists all the available member functions and all the available member attributes.
The expected behavior of *.ino Syntax highlighting is,
We don't cover *.pde sketch file in this sprint.
We don't cover in-line assembly code in this sprint either.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.