Я спробував Qt Creator у пошуку спрощення розробки на C++. Мені сподобалося в ньому багато речей:

  • Блискучий слухняний інтерфейс з прибамбасами
  • Підказка аргументів функції у редакторі коду
  • Легка навігація по коду: до оголошення, знайти вживання тощо
  • Вбудований налагоджувальник
  • Автоматизоване керування проектами CMake

Жодних сумінів, сама ідея налаштовування проекту, збирання і налагодження «з коробки» дуже приваблива. Проте, мені трапилися і труднощі:

  • Загальні проекти все ще потрібно налаштовувати самотужки (згадайте збірку gradle)
  • Підказки по коду можуть бути нестійкими, показувати помилки ледь не в кожному рядку випадковим чином
  • Все ще немає нечіткого пошуку
  • Каркас для тестування С++ Catch не дуже добре інтегровано (перейти до першої помилки?)
  • Що вже й казати, що я все ще більш звик до neovim

Потім прийшло розуміння, що всі принади вже й задовго до того були у Vim, але потрібно було щоразу налаштовувати самотужки. Це нудний процес, який відволікав від основної задачі. На щастя, його можна було б легко автоматизувати так само, як у Qt Creator обробляються загальні проекти. Отже, ось cproj, система роботи з загальними проектами C++ у моїх dotfiles:

  • ycm-update.sh компактно встановить YouCompleteMe з правильними шляхами до системних директорій у ~/.vim/includes.txt

  • cproj-init у кореневій директорії проекту створить шаблонну директорію .cproj з files і cflags у ній

  • cproj-scan у кореневій директорії проекту створить базу даних компіляції у .cproj.out і додасть проект до rtags (зручно зробити, щоб rdm активувався сокетом у systemd)

  • Нарешті, YCM завантажить ті самі налаштунки проекту!

Тож, імовірно, я продовжу одночасно з обома: neovim для продуктивності і Qt Creator з цікавості і для натхнення. Але очевидно, що Vim все ще найкраще.