WSL Support
The WSL Remote extension allows you to use VS Code in Windows while using the normal WSL workflow. This works well, but for code comprehension speed you should put the Serenity directory on your WSL root partition.Recommended Extensions
Install these extensions for the best SerenityOS development experience:Install clangd
clangd - Essential for code comprehensionSee ClangdConfiguration for configuration details.
Install GitLens (Optional)
GitLens - Enhanced git integration
Install SerenityOS DSL Syntax Highlight
Available on VS Code Marketplace or Open VSXProvides syntax highlighting for:
- LibIPC’s IPC files
- LibGUI’s GUI Markup Language (GML)
- Web IDL
- LibJS serialization format
Install Jakt Extension (Optional)
If working with Jakt code, build and install the extension from the Jakt repository
Code Comprehension
Clangd has the best support for cross-compiling workflows, especially when configured properly. The Microsoft C/C++ tools can work, but require more configuration and may not understand the sysroot in use.Alternative: Microsoft C/C++ Tools
Alternative: Microsoft C/C++ Tools
This extension can be used as-is, but you need to point it to the custom Serenity compilers. Note that enabling this extension in the same workspace as clangd will cause conflicts.Even with proper configuration, the extension will likely still report errors related to types and methods not being found.Create
.vscode/c_cpp_properties.json:Settings Configuration
Create or update.vscode/settings.json in your Serenity repository:
Custom Build Tasks
Create.vscode/tasks.json to quickly compile and run Serenity:
View tasks.json configuration
View tasks.json configuration
License Snippet
Create.vscode/serenity.code-snippets to quickly generate license headers:
Jakt Configuration
If working with Jakt code, add these settings to yoursettings.json:
