Let’s first look at the main priorities we have for 2020. Actually, they haven’t changed much since 2019. We are still focusing on:
- Performance and responsiveness: continue eliminating UI freezes and working on large architectural changes to make global improvements to CLion’s performance.
- Clangd: make the engine more stable and eliminate crashes, move as many IDE functions as possible to Clangd, and add new language features on top of the Clangd-based language engine.
- Project model: work on native support for Makefiles, consider other build systems such as Bazel, and work towards a project model API in CLion.
- Embedded: double the efforts we put into the embedded development support and work on more essential features in this area.
- Clangd-based engine:
- Improve engine stability, eliminate crashes, investigate memory usage.
- Fix Clangd code completion issues.
- Automatically use the .clang-tidy config file in the project directory, if any.
- Move Data Flow Analysis to Clangd to improve the performance.
- C++ support:
- Initial CUDA support.
Enhance typing in the multiline macros, and add other performance and responsiveness improvements.
- Introduce default values for Change Signature refactoring.
- Project Models:
- Native Makefiles support. (private prototype)
Polish the CMake File API integration (including recompiling a single file).
- Embedded development:
- IAR and armcc toolchain support (CPP-14192).
- Various fixes and enhancements:
- Fix bugs and freezes related to remote toolchains.
Automatically add required compilation flags for sanitizers/coverage.