A ready-to-use Emacs IDE for C++ that provides:
- Project scaffolding and boilerplate code generation
- Code navigation, completion, and syntax highlighting
- Integrated CMake support and build system
- Unit test integration
- Version control and Git support
- Debugging
- Backup your current Emacs config:
mv ~/.emacs.d ~/.emacs.d.bak
- Clone this repository:
git clone https://github.com/StefanChristians/emacsedi.git ~/.emacs.d - Start Emacs. Required packages will be automatically installed.
- Create a new C++ project:
- Right-click in the Treemacs frame →
Projects→Create New C++ Project - Choose project type: Simple, Standard, Library, or Large
- Right-click in the Treemacs frame →
- Simple: All source files in a single directory for quick proof-of-concept projects
- Standard: Separate `app` and `core`, includes documentation and localization
- Library: Stand-alone, shareable libraries with headers in `include`
- Large: Multiple independent modules, each with their own sources, headers, and tests
Some highlighted user-facing functionality:
- Code navigation & completion: LSP support with lsp-ui and company-mode
- Syntax highlighting: Modern C++ highlighting (modern-cpp-font-lock)
- Project management: Tree view of files, quick open, workspace handling (treemacs)
- Version control: Git integration (magit), view changes inline (diff-hl)
- Convenience: Auto-insert boilerplate code, snippet templates (yasnippet), cursor beacon, code folding, code completion
- Debugging: Debugging with GDB or LLDB
- Packages are loaded and configured via use-package in
init.el - C++ project defaults are defined in
ide-cpp.eland can be overridden in the(use-package ide-cpp.el)call at the end ofinit.el - Auto-text blocks are defined as `yasnippet` templates in the
snippets/directory


