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

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

Ещё немного, ещё чуть-чуть, и можно будет выкинуть решарпер!
НЛО прилетело и опубликовало эту надпись здесь

Ставить Java чтоб прогать под .net… Rider будет полезен на других осях.

Вам шашечки или ехать?

Ехать, поэтому и не понимаю, зачем Java/Rider винде, кроме как для конкуренции.

Затем что по сравнению с VS, Rider работает быстрее в разы.

По сравнению с 2015 студией, включённым в ней рослином и решарпером?
(как-то от создателя хочется что-то большее, чем жирный текст)

Я уже не с создателем :) Но если серьезно, то это причина номер 1 для ухода со Студии. Студия генерит бешеные тормоза, части ее инфраструктуры катастрофично плохо спроектированы (нарпимер добавление референса в проект решено с квадратичной!!! сложностью). Это никому не нужно.


К тому же, в Студии при инсталляции слишком много багажа — после воплей разгневаных разработчиков его конечно урезали (а то раньше было навязывание windows phone sdk, например), но проблема все еще остается. Еще следует упомянуть всякие дизайнеры которыми никто никогда и не пользовался — например визуальные дизайнеры для веба или WPF. Это все смело можно выкидывать.


Ну и наконец Roslyn. Его в Студии не отключить, а следовательно 600Mb оперативки вы просто подарили непонятно за что. Несмотря на то, что Рослин во многих смыслах реализован более корректно чем решарпер (например, все иммутабельно), реализовано это поздно и не полностью (то есть для ограниченного набора языков). Соответственно, в Решарпере рослиновские фичи редактирования кода есть, и скорее всего они реализованы более корректно. Нарпимер, возьмите Rename когда переменная протаскивается через лямбды. В Решарпере ренейм учтет все зависимости, в рослине получить ломаный код — тривиально.


В конечном счете, выбирать вам. И да, не вам одному неприятен JVM стэк, но если это дает огромный прирост по скорости (и следовательно, вашей же производительности), то почему бы и нет?

К тому же, в Студии при инсталляции слишком много багажа — после воплей разгневаных разработчиков его конечно урезали (а то раньше было навязывание windows phone sdk, например), но проблема все еще остается

Это как раз и решили в 15шке. см прошлый превью.


визуальные дизайнеры для веба или WPF.
не знаю за веб, но знаю достаточное количество людей, которые пользуются дизайнером (и даже пишут инициализаторы для классов и контролов в режиме дизайна)

И интересно посмотреть пример протаскивания через лямбды при котором у рослина ломается. Я как-то вообще стараюсь через них не протаскивать во избежание утечек. А сейчас две вложенных лямбды рослин сожрал.

Я все ещё хочу пример:


Нарпимер, возьмите Rename когда переменная протаскивается через лямбды. В Решарпере ренейм учтет все зависимости, в рослине получить ломаный код — тривиально.
только вот в решарпере порой заменить локальную переменную в методе занимает чуть ли не минуту

Зачем это мне отвечать-то?

да, не вам. С уровнем проблемы )
Даже по сравнению с 2013 студией с решарпером, без всякого рослина, Rider уже прекрасен. С вашего позволения, пример с рабочего проекта.
На солюшне, в котором примерно 200 проектов, во время загрузки студии можно уходить пить чай. В процессе работы она тоже частенько подвисает и периодически падает. При билде сложно даже ходить по коду. При необходимости сделать pull или checkout — почти гарантированная необходимость перезагружать солюшн или студию. И даже в фоне, когда я сижу в другом приложении, студия что-то делает и периодически выжирает 80-90% процессора.
Пробовал студию 2015; субьективно, стало еще хуже.

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

Наверное, если выключить половину фич решарпера, то и в студии можно было бы работать, но в Rider все то же самое летает.

Нельзя сказать, что открывается быстро, но чай максимум заварить успеешь.


Заголовок спойлера

image


При том заявленная в статье проблема с Xamarin а вот решарпера нет.

Но все равно долго ведь. И все равно есть проблемы в процессе самой работы (падает, виснет, тормозит...)
В rider же можно полноценно работать через минуту после запуска, и на работу не влияет ни сборка всего проекта в фоне, ни запуск тестов, ни checkout. И я совершенно не понимаю, какая разница, что оно работает наполовину на джаве. Работает же.
И, честно говоря, не думаю, что все легковесные загрузки и отложенные подгрузки расширений улучшат работу в студии до такого уровня.

Чего бы MS занимались оптимизацией загрузки R#? Тем более что R# нужен всегда и почти сразу, а Xamarin только тем, кто с ним работает. Так что это правильно, что они его загрузку оптимизируют. Мне, например, он совсем не нужен, а ресурсы отжирает.
У меня достаточно противоположное вашему мнение насчет Rider. С моим проектом Rider гораздо нестабильнее, чем студия, постоянно что-то падает, подсказки уже традиционно не работают, подсветка кода сползает и т.п. Скорость загрузки солюшена немного отстает от голой VS без R#, а после визуальной загрузки подсветка кода ещё не работает минут пять (!).

В то же время в студии с решарпером кроме периодических подвисаний на полминуты решарпера, да тормозящих его же рефакторингов и других фич, никаких проблем с производительностью студии нет. Падает студия или анализатор раз в месяц-два.

Короче говоря, надежда пока есть, результата пока толком нет.
Видимо, это сильно зависит от того, что разрабатывать. У меня это asp.net mvc 5.
Да, тоже постоянно в углу всплывают всякие ошибки, но чего-то фатального обычно не происходит. Бывает, что автодополнение подглючивает или подстветка, и действительно очень многое пока сыро. Но из двух зол я выбрал rider именно потому, что в нем все-таки продуктивнее работается. Лично мне проще, когда какая-то фича не работает (привыкаешь и не замечаешь), чем когда все работает правильно, но регулярно виснет на 3-10 секунд, даже когда ты просто пишешь код. Неимоверно раздражает.

Почему-то все фанаты R# которые мне попадались, поголовно его хвалят, а на деле оказывается, что используют из него только статический анализатор и переименование переменных. Некоторые даже фичи студии приписывают R#. И эти же люди так же поголовно ругают студию за тормознутость. Видно маркетологи R# не зря свой хлеб едят.

И я совершенно не понимаю, какая разница, что оно работает наполовину на джаве.

Если Java у вас в системе и так есть — никакой. Иначе — зачем ставить на машину дополнительную уязвимость — непонятно.

Вы забыли про мин 7 гб для инсталляции студии в самом легковесном ее варианте? А тормоза при редактировании ХАМЛ? Я лучше джаву поставлю и райдер чем студию.


Я так же не вижу проблем ставить одну более меньшую уязвимость на черную дыру всех уязвимостей.

Вы забыли про мин 7 гб

Мы, кажется в статья про VS 15 которая весит 272 мб без всего https://www.visualstudio.com/news/releasenotes/vs15-relnotes#willow


Я так же не вижу проблем ставить одну более меньшую уязвимость на черную дыру всех уязвимостей.

Более меньшую? Винду ломают через трояны, которые пользователи запускают с правами админов, флеш и java.

Rider — это круто, особенно для мака, но пока Rider еще очень сырой, особенно для .net core.
С анализаторами пока туговато. А в плане навигации — все чаще и чаще я встречаюсь с повторами. Кстати, вопрос знатокам: можно ли отрубать R# функции по частям? Например, не просто скрыть подсказки на некоторые анализаторы, а полностью отключить некоторые виды анализа?
Анализаторов в Visual Studio Gallery теперь полно.

А вы пробовали, они годные? Есть ли где-нть дайджест того что есть, и насколько хорошо оно работает?

Пробовал год назад. Тогда уже была вполне себе замена решарперу, кроме R# Build и, может быть, Test Runner-а. Актуального списка у меня сейчас нет.

Я боюсь что "вполне себе замена решарперу" это позиция, которую вы в серьезной дискуссии не сможете защитить, ни с точки зрения количества фич, ни с точки зрения их качества :)

Я боюсь, что вы намекаете на то, что фичи решарпера качественные.
есть смысл VS 2015 Community менять на VS «15» Preview 5?
В VS «15» Preview 5 нет .net core tooling

Нету еще VS «15» Community (только Enerprise), так что если у вас нет лицензии то ничего не получится

Спасибо, будем ждать VS «15» Community
так то для превьющек ключ не нужен
А лицензия от VS 2015 распространяется и на VS «15»?

Скорее всего

т.е. «15» не поддерживает .net core?

Ставил ее вчера. На середине установки попросила перезагрузиться, после перезагрузки открылось окно установщика с ошибкой, что установка %guid% не найдена.


Еще раз пытался, она зависла в конце установки библиотек. Сама студия поставилась, но ругалась на истекшую лицензию. Stack overflow советовал выполнить восстановление в «установке и удалении программ». Можно было только удалить, удаление упало.


Хотя 4.5Гб c# desktop + web + c++ против 13 у vs 2015 заманчиво.

Где-то уже был ответ почему они дали такое удобное название "15"?

НЛО прилетело и опубликовало эту надпись здесь
Внутренний номер 15.0. Это совсем не то же самое что «15» с кавычками.
Потому что это физически 15-ая версия. Visual Studio 2015, если взглянуть в Program Files будет располагаться в папке Microsoft Visual Studio 14.0

До VS 2005 маркетинговое название студии шло в разнобой. В том числе была VS 6 которая была 6й.
С 2005 стали называть годом релиза (одного из двух на которые приходится финансовый год МС)


Сложность возникла когда в 2010 маркетинговое имя и номер года совпали. Для простоты в перзентациях и материалах VS2010 сокращалась до VS10, многие решили, что это просто сокращение года. но потом были VS2012(VS11), VS2013(VS12), тринадцатую версию они пропустили сразу VS2015(VS14), ну и теперь будет что-то вроде VS2016/17, а пока маркетологи до нее не добрались, просто VS15.

Мы ускорили работу с Git путём замены использования libgit2 на git.exe.
Не понял сие. В моём понятии прямая работа через интерфейсную библиотеку должна быть гораздо эффективнее, чем порождение отдельных процессов на каждый чих.
На больших проектах libgit2 сильно тормозит, сам видел. Поэтому приходилось часто отключать Source Control в студии.
То есть сам Git работает нормально, а libgit2 тормозит? Это странно. Но тогда да, становится понятно, почему отказались.

К тому же гит это всегда отдельный процесс, а libgit по умолчанию работает синхронно и потребляет память в том же процессе.

Так это как раз и удобнее, что в рамках своего процесса вся работа идёт. Не надо парсить текстовый вывод, всё получаешь в готовом виде в переменных. Если проблема в подвисании, можно вынести в поток. Потребление памяти сильно отличаться не должно: в конце концов, новый процесс должен будет распарсить все те же данные, то есть съест столько же дополнительной памяти (и даже больше за счёт отдельного контекста и набора библиотек). Разве что защита от утечек, но решать её выносом в отдельный процесс — это даже не костыль, а я не знаю что. :-)
Все верно, только проблема в том, что когда эта библиотека подвиснет, или поломает основной код Студии, все камни полетят в MS, мол, их продукция «как всегда, ну вы знаете(с)» кривая. Видимо, намного удобнее иметь отдельным процессом. В том же FF есть ведь plugin container для стороннего кода.

Еще студия 32-битный процесс, проблема с памятью острее.

Наверное убивают git.exe, это быстро — память структур удаляется скопом и не требует явной итерации для удаления. При работе с либой надо явно зачищать память, а это долго.
Он зато работает в отдельном процессе и ничего не завешивает.
libgit2 реализовывал далеко не все фичи гита, так что правильный ход.

Может теперь то студия начнёт учитывать клиентские хуки.
Вопрос по Visual Studio
При установке 2014 много пакетов качает из интернета.
На машине без него многое не поставить.
Можно ли как-то скачать все необходимое чтобы поставить на машине без интернета?

Да, Visual Studio поддерживает автономную установку. https://msdn.microsoft.com/ru-ru/library/e2h7fzkw.aspx
Необходимо запустить установочный файл с параметром /layout и установщик загрузит в указанную папку все файлы, кроме пакета SDK для Android, как указано по ссылке выше. Качал так неделю назад Visual Studio 2015 Professional, получилось в итоге 27 гигабайт на диске.

Да, на странице загрузки можно выбрать загрузку .iso образа
Какие там требования? На семерку поставится еще?
В Preview 5 мы добавили новую экспериментальную возможность Run to Click. Вам больше не нужно устанавливать временные точки останова для того, чтобы пропустить не интересный вам блок

А Run to cursor в VS нет?
Есть. Речь только о новых иконках на строках — этого раньше не было.
Перемещение некотрых подсистем, активно использующих память, из главного процесса Visual Studio в отдельные процессы.

А как же накладные расходы на сам процесс(ы) и IPC?
2016 год, а x64-версии на горизонте даже нет.
Видимо, из двух зол выбираем меньшее. Когда память заканчивается еще хуже, чем задержки на IPC.
Плюс к этому, скорее всего в 1 момент времени активный IPC будет идти далеко не у всех плагинов одновременно, а только у нескольких, с которыми сейчас идет непосредственная работа.

По поводу 64-битной студии, похоже это уже несбыточная мечта. Там COM, там, говорят, в никоторых местах возвращаются 32-битные указатели в public API. Стойкое нежелание разработчиков VS это только подтверждает. Похоже, проще написать новую IDE аля Visual Studio Code, чем переписывать текущую. Так что в ближайшие 2-5 лет, по-моему ожидаются массовые миграции на Visual Studio Code и Rider
Когда уже релиз будет?
Интересно когда будет релиз, хотя б примерно?
Run to click очень нужная штука, скорее бы релиз.
А по поводу ускорения — у меня больше всего замедляет разработку uwp постоянные падения дизайнера со всякими мутными ошибками типа что-то там СОМ+. Вот реально почти при каждом переключении на вкладку с дизайнером падает. А еще очень бесит постоянное подчеркивание типа ошибок в стилях контролов.
Про каждую очередную версию студии пишут «мы стали более быстрее загружаться», но хоть бы раз правдой оказалось!
Я поддерживаю несколько версий огромного проекта, они разрабатываются в разных студиях, начиная с 2008. Студии действительно стали быстрее загружаться.
В очень разных версиях огромной вселенной, похоже, мы с вами живём.
Лично я заметил огромное проседание в производительности IDE (vs 2015) во всех этих апдейтах: чем новее апдейт, тем студия больше тормозит, а начиная с Update 2 уже сотни раз видел сообщения, мол «для завершения операции не хватает памяти». Уже думал обратно стоковую ставить. Но вот начало этой статьи больно заманчиво звучит.
Достаточно странная ситуация.
Go To: (Ctrl +, или Ctrl + T) позволит вам быстро найти файлы, типы, методы или другие типы сущностей в вашем коде.

Что JetBrains, что MS, посмотрите как сделан Locator в Qt Creator: не нужно помнить 100500 хоткеев, вызывается ровно одним: Ctrl-K (не суть, главное, что один), а дальше используется деление по префиксам — что хочешь искать:


  • . — методы и классы в текущем документе
  • : — аналогично для проекта
  • l — переход к строке (есть свой хоткей Ctrl-L, который делает подстановку в Локатор)
  • git — пошли команды git плагина

и так далее. Дефолтный фильтр тоже настраивается: это тот фильтр, который будет работать если не будет введён префикс: просто отмечаются выводы каких фильтров туда попадают.


Да, в плане лёгкости расширения не самая удачная реализация, но как только привык, в других IDE уже как-то неудобно быстрой навигацией пользоваться.

А зачем это вообще? Никогда не пользовался фильтрами в поиске; обычно всё, что мне нужно, показывается в первых нескольких результатах. Ваш вариант звучит очень неудобно.
Человек же написал: Это нужно, чтобы не надо было запоминать кучу хоткеев! Теперь нужно запоминать только кучу префиксов…
кучу префиксов

они перед глазами в виде подсказки при открытии:


Скриншот

image


просто один и тот же ввод можно фильтровать по разному, без переоткрытия окон/диалогов. Плюс, как писал выше, при вводу без префикса можно настроить какие фильтры будут принимать участие (просто отметив галочкой).

В VS Code как то так сделано, честно сказать, так и не понял удобно это или нет. Но кто знает, может это перейдет и в большую студия когда-нибудь.
С тем же успехом можно кнопочками тыкать в интерфейсе. Хоткеи для того и нужны, чтобы их было много, но все они были доступны сразу, а не на 3-4 уровне вложенности меню.
Друзья, дЫк кнопка «ШЕДЕВР» уже появилась или еще пока подождать? :)

Нужна такая кнопка "шедевр" которая еще и кастомное железо для вашей задачи проектирует.

Зарегистрируйтесь на Хабре, чтобы оставить комментарий