/nf-VSCodeExtension

🧰 Visual Studio Code extension for .NET nanoFramework and cross platform tools to build and deploy

Primary LanguageTypeScriptMIT LicenseMIT

License #yourfirstpr Discord Build Status Visual Studio Marketplace

nanoFramework logo


.NET nanoFramework VS Code Extension

This extension allows you to use VS Code to flash, build and deploy your C# code for .NET nanoFramework on your device regardless of the platform you're using. This has been tested on Mac, Linux (64 bits) and Windows (64 bits).

vs code gif

Features

This .NET nanoFramework VS Code extension allow you to flash, build and deploy your C# .NET nanoFramework application on an ESP32 or STM32 MCU.

Flashing the device

Select nanoFramework: Flash device and follow the steps.

nanoFramework: Flash device

Based on the target you will select, the menus will automatically adjust to help you finding the correct version, DFU or Serial Port.

select options

Once all options has been selected, you'll see the flashing happening:

flash happening

Building your code

Select nanoFramework: Build Project and follow the steps.

select options

If you have multiple solutions in the open folder, you'll be able to select the one to build:

select options

Build result will be display in the Terminal:

select options

Deploy to your device

Select nanoFramework: Deploy Project and follow the steps.

select options

Similar as building the project, you'll have to select the project to deploy. The code will be built and the deployment will start:

select options

You'll get as well the status of the deployment happening in the Terminal.

Create solutions and projects

To create a solution, you can select any folder on your workspace, right click and select the create solution option.

create solution

You then need to place a valid name and your solution is created.

On the solution, right click and select Add project to existing Solution

Add project to existing solution

Place a valid name like in this example MyApplication.

project name

Then select the type of project you want to add.

type of project

Requirements

You will need to make sure you'll have the following elements installed:

Note: Do not use the mono-complete package provided by your Linux distribution
as it may not include msbuild which is required for this extension to work.

Instead install the mono-complete package provided by the Mono Project.
The preview version is recommended as the stable version is outdated.

Known Issues

This extension will not allow you to debug the device. Debug is only available on Windows with Visual Studio (any edition) and the .NET nanoFramework Extension installed.

This extension will work on any Mac version (x64 or M1), works only on Linux x64 and Windows x64. Other 32 bits OS or ARM platforms are not supported.

Install path issues

⚠️ That are know issues running commands for STM32 devices when the user path contains diacritic characters. This causes issues with with STM32 Cube Programmer which is used by nanoff a dependency of the extension. Note that if you're not using the extension with with STM32 devices, this limitation does not apply.

Developing for the VS Code extension

Documentation about development for the extension can be found here.

Feedback and documentation

For documentation, providing feedback, issues and finding out how to contribute please refer to the Home repo.

Join our Discord community here.

Credits

The list of contributors to this project can be found at CONTRIBUTORS.

License

The nanoFramework Class Libraries are licensed under the MIT license.

Code of Conduct

This project has adopted the code of conduct defined by the Contributor Covenant to clarify expected behaviour in our community. For more information see the .NET Foundation Code of Conduct.

.NET Foundation

This project is supported by the .NET Foundation.