Supported IDEs and Editors
SerenityOS has detailed configuration guides for the following development environments:VS Code
Popular cross-platform editor with excellent clangd support
CLion
JetBrains IDE with native CMake integration
Vim/Neovim
Terminal-based editors with powerful plugins
Emacs
Extensible editor with lsp-mode support
Common Requirements
Regardless of your editor choice, you’ll need:- clangd: For code comprehension and navigation. See ClangdConfiguration for setup details.
- clang-format: For automatic code formatting according to SerenityOS style guidelines.
- Build directory: Run
./Meta/serenity.sh buildat least once to generate necessary build artifacts. - Toolchain: Build the toolchain with
./Toolchain/BuildGNU.shbefore configuring your IDE.
Code Comprehension
All recommended setups use clangd for code comprehension, which provides:- Fast, accurate autocomplete
- Jump-to-definition and find-references
- Inline diagnostics and error checking
- Cross-compilation support for SerenityOS targets
Formatting
SerenityOS uses clang-format to maintain consistent code style. The repository includes a.clang-format configuration file that all editors should respect.
Next Steps
Choose your preferred development environment:- VS Code Configuration - Recommended for most users
- CLion Configuration - Best CMake integration
- Vim/Emacs Configuration - Terminal-based workflows
