Kconfig features and GUI¶
The nRF Connect for VS Code extension features the nRF Kconfig GUI and adds contextual information for the configuration files of boards and shields.
nRF KConfig GUI features¶
The nRF Kconfig GUI is a graphical representation of the Kconfig options tree structure. The GUI lists these options and lets you control them directly from VS Code.
Treeview¶
The nRF Kconfig GUI displays a treeview of the Kconfig options listed both in the project configuration files (prj.conf
and Kconfig fragments) used for the current build configuration and in the build configuration's .config
file.
History navigation¶
The treeview keeps track of your navigation and provides back and forward arrow buttons to let you revisit previous symbols, searches, and other views.
Alternatively to these buttons, you can also navigate usage history with the side buttons available on some mouses.
Changes list¶
The Changes tab lists Kconfig options that you have modified. Read more about this tab in How to review and revert changes.
Save options¶
There are several ways to save your Kconfig option changes: Apply, Save to file, and Save (minimal). See the button tooltips for more information.
Hidden nodes¶
Some nodes may not be displayed in the tree. This is usually because their dependency condition is not met, such as a child node that is hidden because the parent node has not been enabled. To toggle the visibility of these nodes, click the Show Hidden Items button, located on the far right of the nRF Kconfig search bar.
After toggling the hidden nodes on, the icon changes to Don't Show Hidden Items. Click on it to stop showing hidden nodes.
Note
Nodes that are hidden cannot be edited.
Node description¶
You can check the description of a selected Kconfig option by toggling information about it on or off using the View Information button, visible at the end of the menu option line when you highlight it.
Tip
Use the Split panels button next to the Show Hidden Items button to move the information window vertically or horizontally.
Other features¶
The nRF Kconfig GUI also comes with the following features:
- Show the parent item of a searched item.
- Display dependency names for Kconfig options, which include links in the description box that display available information about that dependency.
Configuration file features¶
VS Code comes with syntax highlighting for configuration files. The nRF Kconfig extension adds the following contextual information for the configuration files of boards and shields:
- Autocompletion based on Kconfig files
- Hover information
- Go to definition
- Syntax checking
- Linting
- Typechecking configuration values
- Range checking
- Checking for redundant entries
- Checking for invalid combinations
- Dependency checking
- Warning about entries without prompts
- Code Actions
- Add missing dependencies
- Remove redundant entries
- Use selector entry when trying to set entries without prompts
Status Bar message for project files¶
Additionally, the nRF Kconfig extension features a Status Bar notification if project configuration files are not in context (such as a prj.conf
file or similar).
If a project configuration file is in the active Editor window that does not belong to the active build configuration, a Status Bar message in orange will warn you that the open configuration file is not part of the active build.
Hover your mouse over the warning message to see the following message:
C file features¶
The extension adds symbol information for CONFIG_
defined in C files. Relevant information and the go-to definition are provided for all defines starting with CONFIG_
when hovering over them. This feature can be turned off with the kconfig.cfiles
configuration entry.
Kconfig interface selection¶
Kconfig is the default and recommended interface setting for editing Kconfig options in the nRF Connect for VS Code extension pack.
You can change the default interface setting at any time. Click the More actions... menu icon next to the Kconfig button in the Actions View to select one of the following options:
- Temporarily change the interface to either Menuconfig or Guiconfig. This selection will be valid only for the current session.
- Change the default selection by clicking the Configure... button. This opens the
nrf-connect.kconfig.interface
configuration setting where you can select Menuconfig or Guiconfig from the drop-down menu. The name of the action in the Actions View will change accordingly.
Note
If you are using a Windows machine and your Kconfig actions crash in the Panel, edit the nrf-connect.kconfig.executeInDefaultShell
extension setting to change the default shell used to execute Kconfig actions.