Comments 35
С удовольствием покупаю вашу IDE для личного пользования. Спасибо за работу, очень радует набор фич в последнем релизе.
Пользуясь случаем, существует ли возможность починить вот этот баг, который висит уже год и сводит на нет все прелести remote host: https://youtrack.jetbrains.com/issue/CPP-21192
Спасибо за такой позитивный отзыв! Очень приятно)
Про проблему обсудим с командой. Там это задача по дороге сменила ответственного девелопера, мы подумаем как ее вписать в наши планы и в чем там вообще в корне проблема и по мотивам отпишемся в трекере.
Есть ли хотя бы теоретическая возможность иметь опенсорсный сторонний плагин, добавляющий поддержку отладчика VS?
Как у вас в этот раз дела с фризами всего редактора во время работы?
Фризами мы постоянно занимаемся. Так что общий ответ - в этой версии довольно много фиксов подобных проблем. Но наверное вас интересует что-то более конкретное?
Сейчас я не могу что-то конкретное показать, но если не ошибаюсь, для этого есть мета-задача, где описаны, кажется, все похожие фризы, которые я встречал.
На большом проекте это довольно часто происходит, настолько что пришлось отказаться от CLion потому что так работать очень трудно. Несколько раз (ещё кажется в 2020.X) я отправлял дампы после, но и в 2021.1 тоже периодически возникают похожие зависания.
Поэтому довольно спорные ощущения возникают. С одной стороны постоянно добавляются новые функции, которые кому-то наверняка нужны, но при этом годами приходится бороться с тем, что основа функциональности IDE — редактор кода с подсветкой синтаксиса и анализом кода — работает ужасно. Это всё-таки утилитарный продукт для всех, кроме JB, и хочется им пользоваться, а не разбираться почему он мешает работать, вместо того, чтобы помогать и годами постить и анализировать багрепорты. Причём это о стабильных версиях речь идёт, а не о EAP
Спасибо за ответ. Мы понимаем, что проблемы с перфомансом и фризами все еще есть. И пользователи от них страдают. Но они часто разные от версии к версии, и даже в одном и том же тикете могут внутри оказываться самые разные дампы) Поэтому лучше приходите с конкретными примерами, которые раздражают именно вас, мы посмотрим и ответим вам точнее, что это и когда мы планируем это поправить.
Переход на Clang, переписывание DFA, переделка работы с юнит тестами - все эти изменения, на самом деле, так или иначе делаются, чтобы улучшить производительность. И еще много больших изменений запланировано или уже в работе.
Я бросил попытки понять и простить, потому что годами ничего не меняется. Вряд ли я когда-либо снова запущу любую из IDE, кроме IDEA. Она почему-то работает хорошо.
Этот релиз был прям очень ожидаем мной. Начиная с первых EAP пользовался.
запуск в отдельной консоли вроде такая мелочь, но реально нужна для части проектов
выполнение доп. шагов перед запуском/отладкой сильно упрощает жизнь
работа с отдельно установленными машинами в WSL позволяет держать множество отдельно установленных под проекты виртуалок. На фоне того, что включение WSL2 ломает работу VirtualBox, это очень нужно. Есть вариант использовать VmWare , но чем меньше разных типов виртуалок, тем лучше
CMakePresets реально упрощает жизнь, особенно когда не хочешь в публичный проект тащить файлы от IDE.
к сожалению есть все еще привнесённые ошибки в старый функционал (баги завел). Но терпимо.
сейчас по мне самой важной фичей, и кажется не сложной, является копирование конфигураций CMakePresets в штатную CLion конфигурацию. Т.к. то, что в CMakePresets оно read-only (и правильно). А часто хочется поправить часть параметров для отладки здесь и сейчас: портить CMakePresets не хочется; а просто задать новую конфигурацию, когда там много параметров, это долго и муторно.
ах да. Открыл для себя, в рамках CMakePresets , что в CLion можно задать использование Ninja. Это же прям небо и земля по скорости сборки. VS Code и VC++ используют его по умолчанию, и выглядят очень шустрыми. Может и тут сделать его по умолчанию, и заодно для логов сборки сделать подсветку его логов ?
Спасибо за такой отзыв, это очень приятно!
Про копирование конфигурации, который пришла из пресета, мысль интересная. Мы обсудим в команде. Нам казалось, что логичнее тогда отнаследоваться в CMakeUserPresets.json и править там, чем в сеттингах CLion.
Ninja можно было задать и в родных конфигурациях CLion еще до пресетов. И мы как раз делаем его дефолтом) https://youtrack.jetbrains.com/issue/CPP-25935
Про подсветку тоже есть тикет - https://youtrack.jetbrains.com/issue/CPP-17786 - пока не смотрели в его сторону.
Но надо явно ставить машине интерфейс паравиртуализации в kvm и в некоторых случаях обязательно включать ускорение 3д графики.
В своих юзкейсах (десктоп Ubuntu ) потратил пару часов на выяснение какого чёрта (ускорение 3д графики, без него падала оболочка в убунте) и заметил снижение скорости работы виртуальной машины, но не критичное.
Данный тикет назначен на человека, который отвечает за подсистему. Причем это подсистема общая для всех IntelliJ IDEs. Так что назначенный человек, действительно, лучше всех понимает, что и как там можно делать, чтобы не сломать File watchers везде и для всех. Не то, чтобы это значит, что мы не можем забрать и поправить для всех, это норм практика. Но у нас тоже ресурсы ограничены и пока до такого руки не доходят.
Я переговорю с назначенным человеком и узнаю, какой там план.
Но это был первый случай, когда мне пришлось с EAP откатываться на стабильную версию. На одном из промежуточных патчей Clangd стал есть памяти как не в себя (до полного out of memory) и не поддавался никакому контролю. В релизе вроде починено.
И ещё при возникновении ошибок в Clion не всегда удаётся их отрепортить. Периодически при ошибках в Clion отваливаются настройки прокси (или авторизации на ней) и отправить отчёт из формы не удаётся. А после перезапуска прокси снова работает, но отчёта уже нет.
В остальном — ждём дальнейшего развития :)
Приносим извинения, хотя в целом EAP немного "имеет права быть нестабильным") Но мы очень внимательно следим за фидбеков, который нам доносят EAP-пользователи, чтобы успевать убирать такие проблемы в релизе.
О каким ошибках идет речь? Exceptions?
Да. При некоторых Exception и вот почему то при запуске после падения по out of memory.
Причём прокси умирает сразу во всех подсистемах. Из окна настроек тестовый конект не проходит, маркет плагинов не обновляется, репорты не отправляются.
Перезапуск всё лечит.
Ещё когда встаёт новая версия и происходит импорт настроек из старой — тоже бывает история с тем, что прокси не срабатывает и не даёт подключить лицензию с аккаунта. Приходится включать в триал и потом уже подключать аккаунт после полной загрузки среды.
Давайте попробуем через саппорт разобраться в проблеме. Нам наверное будут нужны как минимум логи IDE. Это вообще не нормальное поведение.
У меня есть Qt CMake-based проект. CMake проект состоит из CMake-подпроектов, где есть несколько исполняемых файлов и несколько библиотек. Проект надо собирать для x86 и x86_64. Я попробовал настроить проект в CLion — замучился с вашими конфигурациями сборки. Вроде бы всё довольно гибко сделано, но на каждый "чих" надо вручную создавать Toolchains и CMake профили. И я не могу взять и собрать все мои подпроекты за раз для x86 и/или x64, каждый подпроект с исполняемым файлом надо собирать отдельно, выбирая соответствующую конфигурацию сборки из списка тех, что он там насоздавал.
В QtCreator как-то всё сильно проще сейчас происходит. Ладно, Qt он сам находит и настраивает конфигурации тулчейнов для него, потому что он под Qt заточен, но там не надо каждый подпроект собирать отдельно, само всё как надо конфигурируется и собирается сразу. Есть две платформы: x86, x64 и в каждой автоматически настроились Release/Debug таргеты и всё. Выбираешь что нужно, делаешь сборку и все подпроекты со всеми библиотеками собираются. В CLion же надо каждый раз тыкать и выбирать что я хочу собрать, какой подпроект с executable в какой конфигуцрации под какую платформу. Сильно напряжно. Можно это как-то упростить?
Ну и запуск, по умолчанию, он, конечно же не работает, потому что никаких Qt библиотек не находит. Но это понятно почему.
Не планируется вообще сделать какой-то плагин для Qt, чтобы он максимально автоматизировано настраивал окружение для работы с Qt-проектами?
Почему не создать просто два тулейчна для x86 и x86_64, и по CMake profile, использующему каждый из тулчейнов? Для сборки всего есть
- Build Project (соберет вообще все)
- Build all in <config> (соберет все в выбранной конфигурации)
Они в меню Build живут.
Еще можно воспользоваться новомодными CMake Presets) Будут профили сборки везде универсальные. Но это уже так, как дальнейшее развитие для проекта.
Так я и создал два тулчейна и два профиля. Но в конфигурациях сборки, которые генерируются для таких настроек каждый executable надо собирать отдельно.
Вот спасибо! Build all in… — это то, что нужно! Build Project у меня недоступно, но Build all вполне достаточно сейчас.
- Build Project (соберет вообще все)
- Build all in (соберет все в выбранной конфигурации)
Они в меню Build живут.
Но в конфигурациях сборки, которые генерируются для таких настроек каждый executable надо собирать отдельно.
Да, можно собирать для каждого профиля по-отдельности, а можно вот указанными Build командами. Они для такого и сделаны. Наверное, не очень очевидно и удобно, что они вынесены в отдельное меню, но не загромождать же ими панель.. Пока как-то лучшего места не придумали для них.
Чтобы разобраться, почему Build Project недоступно, надо вероятно смотреть на содержимое .idea директории. Если готовы, пришлите в саппорт архив и попробуем разобраться.
А когда можно ожидать поддержку модулей из C++20?
Релиз CLion 2021.2: улучшения в отладчике, проверка времени жизни объектов, поддержка CMake Presets