Как стать автором
Обновить

Комментарии 35

С удовольствием покупаю вашу IDE для личного пользования. Спасибо за работу, очень радует набор фич в последнем релизе.

Пользуясь случаем, существует ли возможность починить вот этот баг, который висит уже год и сводит на нет все прелести remote host: https://youtrack.jetbrains.com/issue/CPP-21192

Спасибо за такой позитивный отзыв! Очень приятно)

Про проблему обсудим с командой. Там это задача по дороге сменила ответственного девелопера, мы подумаем как ее вписать в наши планы и в чем там вообще в корне проблема и по мотивам отпишемся в трекере.

Очень ждём, спасибо. У нас без precompiled headers очень медленная сборка.

Мы смотрим, пока не очень понятно, чем ситуация отличается от той, где PCH нормально работают. Отпишемся, как будет больше ясности, в задаче.

Есть ли хотя бы теоретическая возможность иметь опенсорсный сторонний плагин, добавляющий поддержку отладчика VS?

Лицензия отладчика VS не позволяет запускать его не из MS-продуктов. Так что даже если кто-то такой и сделает, использовать его будет нарушением лицензии 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 - пока не смотрели в его сторону.

VirtualBox (по крайней мере из последних) работает совместно с wsl2.
Но надо явно ставить машине интерфейс паравиртуализации в kvm и в некоторых случаях обязательно включать ускорение 3д графики.
В своих юзкейсах (десктоп Ubuntu ) потратил пару часов на выяснение какого чёрта (ускорение 3д графики, без него падала оболочка в убунте) и заметил снижение скорости работы виртуальной машины, но не критичное.
Может команда clion возьмет на себя смелость пофиксить баг 7 летней давности youtrack.jetbrains.com/issue/IDEA-126491? Или если он назначен конкретному лицу, то теперь это лицо может исправлять его до бесконечности?

Данный тикет назначен на человека, который отвечает за подсистему. Причем это подсистема общая для всех IntelliJ IDEs. Так что назначенный человек, действительно, лучше всех понимает, что и как там можно делать, чтобы не сломать File watchers везде и для всех. Не то, чтобы это значит, что мы не можем забрать и поправить для всех, это норм практика. Но у нас тоже ресурсы ограничены и пока до такого руки не доходят.
Я переговорю с назначенным человеком и узнаю, какой там план.

Спасибо за релиз.
Но это был первый случай, когда мне пришлось с EAP откатываться на стабильную версию. На одном из промежуточных патчей Clangd стал есть памяти как не в себя (до полного out of memory) и не поддавался никакому контролю. В релизе вроде починено.
И ещё при возникновении ошибок в Clion не всегда удаётся их отрепортить. Периодически при ошибках в Clion отваливаются настройки прокси (или авторизации на ней) и отправить отчёт из формы не удаётся. А после перезапуска прокси снова работает, но отчёта уже нет.
В остальном — ждём дальнейшего развития :)

Приносим извинения, хотя в целом EAP немного "имеет права быть нестабильным") Но мы очень внимательно следим за фидбеков, который нам доносят EAP-пользователи, чтобы успевать убирать такие проблемы в релизе.

О каким ошибках идет речь? Exceptions?

Просто ЕАП обычно стабильны, и такие моменты вызывают удивление :)
Да. При некоторых Exception и вот почему то при запуске после падения по out of memory.
Причём прокси умирает сразу во всех подсистемах. Из окна настроек тестовый конект не проходит, маркет плагинов не обновляется, репорты не отправляются.
Перезапуск всё лечит.
Ещё когда встаёт новая версия и происходит импорт настроек из старой — тоже бывает история с тем, что прокси не срабатывает и не даёт подключить лицензию с аккаунта. Приходится включать в триал и потом уже подключать аккаунт после полной загрузки среды.

Давайте попробуем через саппорт разобраться в проблеме. Нам наверное будут нужны как минимум логи IDE. Это вообще не нормальное поведение.

Подскажите что потребуется. И если эта ситуация снова возникнет — оформлю багрепортом.

Для начала лог 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-проектами?


В QtCreator вот так само всё настроилось

Почему не создать просто два тулейчна для 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 директории. Если готовы, пришлите в саппорт архив и попробуем разобраться.

CLion вообще никогда не пользовался, но слежу постоянно за развитием. Как раз перетаскиваю несколько проектов на CMake, а тут и поддержка CMakePresets в CLion появилась. Решил затестить, как оно будет работать с нашими проектами. На данный момент, для них актуально следующее: сборка пресета в VS - всё работает гладко, CMake-GUI - всё ОК, CMake через консоль в Ubuntu - без проблем. Запускаю CLion, всё красиво: и в корпоративном прокси авторизацию запросили, и самоподписанному сертификату предложили доверять. Открываю проект с CMakePresets. Появляется окошко с созданием профилей, никакие пресеты не подтягиваются (речь идёт о buildPresets, конечно). Что я только ни делал: пробовал вызывать запрятанную команду Load CMake Presets, пробовал Reset Cache and Reload Project - ничего не происходит вообще, Event Log пустой, в Build, Execution, Deployment - CMake профили не появляются.

Что-то идет не так) А можете прислать лог IDE в clion-support@jetbrains.com?

Выслал

Спасибо за комментарий! Какой версии CMake presets Вы используете? Нет ли дополнительных ошибок в problems окне?

Используется CMakePresets версии 2. Кроме "Typo In Word" в Current File при открытом CMakePresets.json ничего нет. В Project Errors пусто.

Лог получили, посмотрим и ответим в почте! Спасибо

А когда можно ожидать поддержку модулей из C++20?

Как только она появится в Clang, автоматом после апдейта будет и в CLion уже что-то. А может, мы и раньше что-то сделаем. Но, если честно, пока в CMake модули не завезли, не очень понятно, куда нам торопиться)

Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.