Керування проектом C++
Я спробував 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 все ще найкраще.