Savoir-faire Linux is proud to introduce the v2.3.0 release of the official Yocto Project extension for VS Code.
These developments were carried out as part of the investment provided by the Sovereign Tech Fund to the Yocto Project to improves the long-term sustainability of the project by attracting a new generation of developers.
The changelog for this release:
- Added limited support for macOS and Web
- Enabled language server compatibility with other IDEs (thanks to Freed-Wu)
- The language server can now be fetched from npm
- It can run autonomously, without the need for the extension
- It has been tested to provided documentation hover and completion in CoC.nvim
- Added an option to disable embedded languages files
- Added a command to spawn a devshell terminal
- Added a basic C++ configuration when using the devtool SDK fallback
- Added Ctrl+C support to kill BitBake terminals
- Improved recipe scan detection accuracy and performance
- Improve code completion after a recipe scan
- Improve bash embedded languages diagnostics, completion and hover
- Forward references for embedded languages
- Store project scan results in a cache to improve performance on reopen
- Various bug fixes and improvements
New feature: CoC.nvim integration
A special thanks to Freed-Wu, as our language server is now supported on the CoC.nvim plugin. It can be installed through NPM (instructions here) to provide language features such as, completion:
Quick access: Devshell terminal
We have added a command that launches a devshell terminal for the chosen recipe.
New support: macOS and Web
We have reinstated support for macOS and the Web. Due to browser constraints, the Web extension primarily only provides syntax highlighting for Bitbake files. On the other hand, Mac users should find most of the features working that don’t depend on an active BitBake instance. You can use remote sessions on BitBake-compatible machines to get all commands.
New feature: Caching Project Scan Results
Previously, the lengthy project scan would happen right after the extension activation. However, this action was slow and redundant. To optimize, we implemented a caching mechanism that will look for the previous scan results on startup (the extension will not trigger the scan, if the cached results are found). This means the extension will immediately have access to features like the recipe view list, which relies on the scan results. As usual, users can manually trigger the scan through the status bar or the Yocto Project panel in the activity bar to update the scan results.
New feature: Option to Disable Temporary Files
With the Python and Bash extensions dependencies, we added a setting to disable the generation of temporary embedded files. Users may now turn on this setting, if they do not require the Python and Bash language features during development. This gets rid of some tradeoffs which can spawn errors in the problems view from those background files at the cost of those features.
We’re excited for you to experience these improvements and look forward to your feedback. Thank you for your continued support!
Links and resources