nRF Connect for VS Code

nRF Connect for VS Code

Change log

  • 31/08/2021 10:00 AM - Ali Aljaani - Initial blog.
  • 22/09/2021 11:00 AM - Ali Aljaani - Changed download procedure from external VSIX file to integrated in Visual Studio Marketplace.

Introduction

Welcome to the nRF Connect for Visual Studio Code (VS Code). The nRF Connect extension lets you develop, build, and debug applications based on the nRF Connect SDK using the VS Code Integrated Development Environment (IDE). In this article, we introduce the nRF Connect for VS Code and its features, and show you how to get started with it.

nRF Connect for VS Code InterfacenRF Connect for VS Code Interface

nRF Connect for VS Code

VS Code is a fast, cross-platform, and popular IDE. Nordic Semiconductor’s nRF Connect extension turns VS Code into a complete IDE for developing applications for nRF91, nRF53 and nRF52 Series devices on Windows, MacOS or Linux. This includes an interface to the compiler and linker, an RTOS-aware debugger, a seamless interface to the nRF Connect SDK, and a serial terminal.

The provided support for VS Code comes as a bundle(pack) of extensions. The bundle consists of:

  • nRF Connect for VS Code, the main extension, which contains an interface to the build system and nRF Connect SDK, as well as external tools such as guiconfig. 
  • DeviceTree for the Zephyr Project, which provides DeviceTree language support.
  • Kconfig for the Zephyr Project, which provides Kconfig language support.
  • nRF Terminal, a serial and RTT terminal.

Please note that more extensions might be added to the bundle over time.

The bundle helps with setting up new nRF-based applications based on a set of examples from the nRF Connect SDK and Zephyr. You can then configure them using the guiconfig feature available from the Zephyr Project. You can also define your own boards within the Zephyr rule set. The DeviceTree viewer displays the configured hardware and helps you navigate the DeviceTree source.

This bundle is based entirely on Zephyr tools, so you can continue your project from the command line at any point. You can also split the development between people with different OS preferences using your company’s internal revision control system. Even more features are still in development. With additional extensions from Microsoft for C/C++, or others for Git, you can spend your complete development life inside this environment.

Getting started with nRF Connect for VS Code

We’ve made a series of videos you can access through links within the extension itself showing how to use the extension. These are under continuous development and will change as more features are added to the extension. You can view all videos from this playlist:

Tutorial Videos

As explained in the first video, to install the bundle(extension pack), open the Extensions menu from the VS Code toolbar and type Nordic, select nRF Connect Extension Pack and click on Install as shown in the illustration below:

Open the extension by clicking the icon in the red square shown in the figure below and set up the basic configuration (green). You’re now ready to build an application. Open the walk-through (yellow) for the built-in training and links to the walk-through videos.

Setup basic configuration

The nRF Connect for VS Code extension is undergoing continuous updates. Written documentation is available in the readme file published as part of the extension bundle. You can find it by clicking nRF Connect (as shown in the screen shot below) in the Extensions menu in the VS Code toolbar. During testing, please check the Known Issues chapter if you encounter issues.

Stay tuned as more features and video tutorials are under development and will be available to you soon. If you have any issues related to this bundle, contact us on DevZone.

ENJOY!

Anonymous
Parents Comment Children
  • Hmm. Do you even see the extension recognizing the nRF52832 DK under the CONNECTED DEVICES tab or not at all?
    Plugin the board, then there is a refresh button (a circular one) under the CONNECTED DEVICES tab. Hit that and see if it helps. Sometimes it takes a few seconds to get it up and running. Also, make sure to verify the correct HW settings on your dev kit. 
    Note as this is still in development, so some things might be still glitchy. 

  • I did it. Can't recognise the board anyway
    J-Link is shown at MacOS USB Device Tree.
    I can connect to board using J-Link tools and with nRF Connect v3.7.1.

    macOS High Sierra v.10.13.6
    Visual Studio Code
    Version: 1.60.0
    Commit: e7d7e9a9348e6a8cc8c03f877d39cb72e5dfb1ff
    Date: 2021-09-01T10:54:53.442Z
    Electron: 13.1.8
    Chrome: 91.0.4472.164
    Node.js: 14.16.0
    V8: 9.1.269.39-electron.0
    OS: Darwin x64 17.7.0

  • Is nrfjprog installed? This is part of nRF Command Line Tools. 

  • Hi ,
    In case you missed it, I have done some early version testing and a walkthrough tutorial here.
    Would love to test and get early access to the next version of the nRF Connect for VSCode, if possible, and possibly write and blog Part 2 of this tutorial.

    Thanks

  • Great work! Looking forward for your feedback on the next version of nRF Connect for VS Code when it is ready.