Navigating the UI¶
There are three main sections where you will find tools and information about the nRF Connect extension in the VS Code interface: the Extension Views, the Editor, and the Status Bar. Most of the tools you will interact with are located in the nRF Connect Sidebar Views, within the Sidebar.
The Welcome View contains several options to help you get started with creating your application.
Open welcome page¶
When you first install the extension as a new user, the Welcome to nRF Connect page will display in the Editor area. This screen will appear each time you open VS Code as long as the Show welcome page on startup checkbox is selected. If you deselect the checkbox, you can still access this page later by clicking the Open welcome page option in the Welcome View.
The Welcome page contains Quick Setup, Getting Started, and a section for additional documentation and support.
This area is critical for configuring the settings properly. Here is where you set the nRF Connect SDK and nRF Connect Toolchain versions that are required for your application to work correctly.
Adding and creating applications¶
There are several options located in the Welcome View that allow you to quickly add or create new applications and boards.
Add an existing application - opens a window to locate a preexisting application on your computer.
Use this option when you want to test out a sample. It should not be used if you want to create a fully functioning application and modify its configuration.
Create a new application - opens the New Application screen to configure the settings for a new application.
Use this option when you are starting your own project and want to develop an application based on an existing sample.
Create a new board - opens the Create New Board screen to select the parameters of a custom board and use it as a build configuration.
The Welcome View contains several additional options:
Visit documentation - opens the extension's main documentation site in your default browser.
Give feedback - opens the Give Feedback form in the Editor for you to leave feedback about the extension.
This is not a way to get support with the nRF Connect SDK, but a way for you to give input on your experience with the extension and share what you would like to see in the future. For support, visit the Nordic DevZone.
Generate support information - creates a log in the Output Panel View that you can copy and forward to the Nordic DevZone to provide more context for an issue.
The Applications View is located underneath the Welcome View. It lists all of the applications in the current workspace and indicates the selected application with a blue icon.
Hover over the Applications View's heading and you will see several icons appear. These View Actions are applied to all applications in your current workspace:
Add Folder as Application - lets you locate a folder on your computer containing preexisting application files.
Refresh Applications - if the extension does not automatically detect a newly created build folder, this option prompts the extension to scan your applications folder for new build configurations.
Build All Configurations - builds all configurations for all applications.
Flash All Linked Devices - flashes builds to all the associated, connected devices.
When hovering over any of your applications, you will see the following action icons that are only applied to that application:
Add Build Configuration - lets you set up build configurations for each application.
Build All Configurations for Application - builds all configurations for only that specific application.
Within each application, you can use the following actions that are specific to a single build folder:
Link Build Configuration And Device - lets you link a build configuration to a specific device. Read more about this action on the Building an application page.
Edit Configuration - lets you edit a preexisting build configuration for the selected application.
Save Configuration as Preset - saves the current build configuration as a preset. This is a shortcut to
nRF Connect: Save Configuration as Presetin the Command Palette. This saves the current build configuration to the
Copy Build Command - saves a copy of the build command for the selected build into your device's clipboard.
The Details View is located under the Applications View and shows up as the name of your application. This View shows the details of the selected application. There are three main sections: Source files, Input files, and Output files.
Source files - lists the application's source files including
main.c. You can find the module files for both the nRF Connect SDK and Zephyr here, as well as the Generated files from the build.
Input files - lists the application configuration files such as
Output files - lists the output files generated by the build.
You can also use the Search in these files feature to search within a selected folder or group of files. Hover your mouse over any of the listed groups or folders, and click the magnifying glass icon. The VS Code Search View opens, prefilled to only search the files within the selected location.
The Devicetree View is located under the Details View. Here you will find the devicetree contexts for your build. You must have the nRF DeviceTree extension installed for this View to appear.
Devicetree contexts consist of a board file and a list of overlay files. The board file contains the basic configuration for a build target, while the overlay files contain the configuration for more specific use cases. Each entry is linked with a specific node or property in the devicetree. Clicking one of these will go to the primary definition to the linked node or property. See the nRF DeviceTree documentation for more information.
The Actions View is located under the Devicetree View. This View includes the most common actions you will use to interact with your board. These actions are contextual based on the currently selected build configuration.
Build - builds the selected application from the source code to your connected board. Additionally, by clicking the icon on the right, you can run a Pristine build.
- Pristine build - removes all the data from the previous build, includes any previously set Kconfig menu settings, and generates a new build. When the build system detects changes to any of the included files, a pristine build is run automatically even when the Build action is clicked. You will only need to manually run Pristine build when you update your nRF Connect SDK or add (or remove) Kconfig and devicetree configuration files. Hover over the Build action to see the Pristine build icon appear on the right.
Kconfig - opens a graphical representation of the Kconfig options tree structure in the editor area.
After a new installation of the extension, you will see an action called Guiconfig or Menuconfig. To use the recommended Kconfig option, right-click Menuconfig or Guiconfig, and select Kconfig.
Debug - starts a debug session using the GDB tool. See Debugging an application for more information.
Flash - flashes the application image to your connected board.
- Erase and flash - erases any image currently on the connected board, such as file system data or any other memory on the chip, and then flashes the selected application image.
We recommend using Flash in most cases.
Only use Erase and flash if you are sure you want to erase all previous images on the selected board. This cannot be recovered once the action has been done. Erase and flash is used in cases where you want to flash files onto the board that conflict with each other. Otherwise, Flash is sufficient.
Memory report - opens a RAM and ROM usage report with a searchable treeview in the editor area. This is particularly helpful in premade stacks to see how the memory usage is allocated. You can then optimize your application accordingly through Kconfig settings. From the Memory report, you can right-click on any of the selected items to access two actions (if applicable):
Copy identifier - copies the path of the selected identifier.
Go to symbol - directs you to the file and location of the selected symbol.
You can bind a specific task to a specific Build or Flash action. You can read about how to bind a task to an action in the Advanced features page.
Connected Devices View¶
This View is located under the Actions View. If you have connected over serial port and do not see any devices listed, hover over the Connected Devices View name and a refresh button will appear for you to click in the right corner.
J-Link compatibility is required for devices to show up in the Connected Devices View. Some devices, such as the BBC micro:bit, do not have J-Link by default. You can convert the on-board debug interface to a J-Link OB using the J-Link upgrade instructions.
The board name, SoC, revision number, a list of connected boards and their COM ports are displayed in this View. By right-clicking on the board name, you can copy the device name and serial number to paste into the command line.
There are several actions to choose from for a selected board.
Reset Board - the icon to the right of the board, performs a soft reset by powering the board off and on again.
Connect to Serial Port in nRF Terminal - the plug icon to the right of the COM port option, establishes a connection to the board through the serial port if it is supported on the selected device.
Connect to RTT in nRF Terminal - the plug icon to the right of the RTT option, establishes a connection to the board through RTT if it is supported on the selected device.
The following actions are available in the More Actions... menu to the right of the Reset Board icon.
Erase Board - erases all data currently stored on the board.
Recover Board - performs a full factory reset by erasing all user flash memory and disables the readback protection mechanism if it is enabled.
The nRF Connect Extension Pack comes with the nRF Terminal extension, which provides UI-based access points to your device. If the Terminal Panel is not already open, click Terminal > New Terminal from the top menu bar in the VS Code interface or use Ctrl+Shift+`.
See the nRF Terminal documentation for more information about this extension's features.
VS Code's Command Palette gives you access to all of the extension's commands and lets you create keybindings to expedite your workflow. To open the Command Palette, either click on View > Command Palette from the top menu bar or press Ctrl+Shift+P and type
The Status Bar is located along the bottom of the VS Code interface. The extension adds several features to this section. Depending on other extensions and your custom configuration, you may have slightly different information here, so the following are optional sections you may see.
VS Code displays information related to the Source Control View in the Status Bar. Since the extension provides a source control interface for interacting with west, if you have that interface selected in the Source Control View, then VS Code will show the current west manifest information in the Status Bar. Clicking on the west manifest in the Status Bar will give you an option to select another manifest.
nRF Terminal connection¶
This item shows the current connection status. From here, you can right-click on the name of the connection and disconnect your device.
To clear the information in the nRF Terminal, click the icon located to the right of the connection status text.
The selected application's name appears in the right corner of the Status Bar. Click on the name to select a different application from a drop-down menu at the top of the screen.
Notifications are used to convey information about events that occur in the extension. They appear in the bottom right corner of the screen.
Some notifications have a "Don't Show Again" button, which if clicked will prevent the notification from appearing in the same circumstance in the future. If you have hidden a notification, but wish to see it again, run the
nRF Connect: Reset Notifications command.