Сегодня стала доступна новая версия IDE от Microsoft: состоялся релиз Visual Studio 2019 и её «двоюродной сестры» Visual Studio 2019 for Mac.

Visual Studio находится в немного странном положении, и разработчикам впору спрашивать, почему такой релиз вообще существует. Visual Studio 2017 с момента своего выхода два года назад получила девять минорных обновлений и бесчисленные патчи. Каждый из этих релизов приносил новые фичи и багфиксы, и использование Visual Studio оказывалось сродни, например, Google Chrome, где каждая новая версия приносит стабильный поток инкрементальных улучшений.


Режим Live Share, слева код открыт в Visual Studio 2019, справа — в Visual Studio Code

И ведь эту интерактивную инкрементальную модель Microsoft продвигает (и использует) в сервисах вроде Azure DevOps, и её можно сравнить с непрерывной разработкой у ежемесячно обновляемых Office 365 и Visual Studio Code. Когда используется такой подход к разработке, кто-то может удивиться, зачем вообще было заморачиваться с «Visual Studio 2019»: давайте просто будет «Visual Studio», и она вечно будет обновляться.

Зачем придерживаться старого подхода к релизам? Есть потребители, покупающие бессрочные лицензии, а ещё новая мажорная версия позволяет легко внести определённые изменения — например, прекратить поддержку старых платформ или масштабно изменить библиотеку C++. Visual Studio 2019 (наконец) бросает поддержку Windows XP для проектов на С++, так что вам придётся использовать старый компилятор Visual Studio 2017, если хотите по-прежнему таргетироваться на давно устаревшую операционную систему. Также новая мажорная версия — это подходящий момент для больших изменений интерфейса, и первым делом при установке Visual Studio 2019 будет заметен новый экран приветствия, новый интерфейс для создания проектов, и новая строка заголовка, включающая сразу и меню приложения, и переработанный поиск фич в IDE.



Также новая версия приносит штуки, которых не было в 2017. Меня больше всего привлекает то, что дошла до стадии general availability система Live Share. Это система для совместного редактирования, которая работает и в Visual Studio, и в Visual Studio Code, позволяя парам разработчиков кодить и отлаживать вместе, при этом видя перед собой интерфейс, соответствующий их личным предпочтениям. Изначальная превью-версия Live Share, появившаяся в ноябре 2017-го, поддерживала только JavaScript (вместе с его успешной майкрософтовской разновидностью TypeScript) и C#.

В ответ на спрос со стороны пользователей в Live Share добавили C++ и Python. Пока что Python для Visual Studio всё ещё в новинку; поддержка этого скриптового языка была добавлена в Visual Studio 2017 с одним из обновлений. Visual Studio 2019 расширяет это поддержкой различных рантаймов Python (позволяя легче переключаться между интерпретаторами и версиями), более функциональным отладчиком и более умным IntelliSense-дополнением.

Разработчики на С++ получают улучшение оптимизации в компиляторе, улучшение поддержки для проектов, собранных CMake, и частичную поддержку lifetime profile — набора правил, позволяющих компилятору предупреждать о небезопасном использовании указателей и итераторов.

Теперь, когда GitHub — часть Microsoft, в Visual Studio набирает обороты интеграция с GitHub; в 2019 появляется поддержка гитхабовской модели пулл-реквестов для управления интеграцией патчей в кодовую базу прямо в IDE. Также появилась поддержка возможности “stash” из git, позволяющей сохранить набор изменений, чтобы переключиться на другую ветку без необходимости коммитить эти изменения и без риска их потерять.

И как с любой новой версией Visual Studio, тут есть обычная череда обновлений компиляторов и языковых версий: превью возможностей C# 8.0, новые рефакторинги и тому подобное.

Visual Studio for Mac (созданная на основе Xamarin IDE, когда Microsoft купил Xamarin) сегодня также была обновлена. Первая её версия, по сути, была ребрендингом приложения Xamarin Studio (с добавлением компилятора C# и .NET-библиотек от Microsoft) и имела мало отношения к «настоящей» Visual Studio.

Однако похоже, что Microsoft всерьёз старается сблизить эти продукты в тех аспектах, где это имеет смысл. В Visual Studio for Mac 2019 появилось превью нового текстового редактора, основанного на том же движке, что и в Visual Studio для Windows, с нативным для macOS интерфейсом и возможностями. Это значит, что теперь у обеих Visual Studio похожие возможности в вещах вроде IntelliSense, дополнения кода и quick-fix’ов. Новый редактор не включен по умолчанию, но его можно включить для C# и XAML, а после доведения их до стабильного состояния планируется добавить больше языков. Экран приветствия теперь тоже выглядит очень похоже на собрата из Windows:



Microsoft сближает две Visual Studio и в других областях: отладчик Unity на Mac и Windows теперь одинаковый, а в будущем апдейте намерены частично принести Windows Xamarin Forms XAML на Mac.

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

В случае с обеими версиями Visual Studio в Microsoft подчёркивают значимость пользовательского фидбека в процессе разработки. Как минорные, так и мажорные апдейты основывались на фидбеке — например, в случаях с Python и Live Share новые возможности появились как прямой ответ на запросы пользователей. Постоянный поток минорных релизов позволяет Microsoft предоставить новую функциональность пользователям гораздо быстрее, чем было бы с одними мажорными апдейтами, и эта функциональность может видоизменяться и расширяться в ответ на фидбек. По сравнению со старыми временами, когда ты заводил баги на сайте Microsoft Connect лишь для того, чтобы они канули в пучину, нынешнее положение дел — освежающее улучшение.

От переводчиков: тема Visual Studio нам близка, потому что в мае мы увидим многих её российских пользователей на нашей конференции DotNext. Раз вам интересен этот релиз, вполне возможно, вам интересно и что-то из программы DotNext.

Комментарии (180)


  1. kovserg
    02.04.2019 22:55

    На windows7 пускается?


    1. phillennium Автор
      02.04.2019 22:57
      +1

      Должна:


      1. NeoCode
        02.04.2019 23:50

        RC запускалась. И это хорошо!


    1. Magic_B
      03.04.2019 12:22

      Канеш! Я уже кодю на ней под Win7 Embedded x86 в vbox :)


      1. kovserg
        03.04.2019 15:04
        -1

        Я так понимаю теперь длинный список vcredit-ов которые надо поставить чтобы заработал какой-нибудть автокад пополнится еще одним. Надеюсь имя фала при скачивании будет более информативное чем у предшественников:

        vcredist_x86.exe    - VS2005
        vcredist_x64.exe    - VS2005
        vcredist_x86(1).exe - VS2008
        vcredist_x64(1).exe - VS2008
        vcredist_x86(2).exe - VS2010
        vcredist_x64(2).exe - VS2010
        vcredist_arm.exe    - VS2010
        vcredist_x86(3).exe - VS2012
        vcredist_x64(3).exe - VS2012
        vcredist_arm(1).exe - VS2012
        vc_redist.x86.exe   - VS2013
        vc_redist.x64.exe   - VS2013
        vc_redist.arm.exe   - VS2013
        VC_redist.x86.exe   - VS2017
        VC_redist.x64.exe   - VS2017
        VC_redist.arm.exe   - VS2017
        

        www.itechtics.com/microsoft-visual-c-redistributable-versions-direct-download-links
        картинка
        image


        1. navion
          03.04.2019 15:27

          Для 2015-2019 достаточно последнего.


          1. kovserg
            03.04.2019 16:28

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


            1. navion
              03.04.2019 21:04
              -1

              Удобно, не надо менять инсталяционный скрипт при сборке в новой студии.


              1. vlivyur
                04.04.2019 13:10

                Ага. А потом получается что опакетили с новой версией, а на самом деле как работали со старой, так и работает, но только её теперь невозможно поставить, т.к. «более новая уже стоит».


  1. mapron
    03.04.2019 03:44

    Самый главный вопрос, который сейчас волнует нашу команду — в блоге была упомянута обратная совместимость между v140 и v142 тулсетами, т.е. можно в коде, скомпиленном с v142, использовать библиотеки с v140 (vs2015).
    А есть ли совместимость с v140_xp библиотеками? Формально, проект собирается и бинарники запускаются, но гарантируется ли какая-то работоспособность? Очень хочется получить ответ, пересобрать все зависимости за раз не хочется.

    p.s. не уверен, правда, по месту ли это не в профильном блоке MS спрашивать. Но вдруг кто из коллег уже озадачивался этим вопросом.


    1. MikeLP
      03.04.2019 04:00

      Сори не в ту ветку


  1. MikeLP
    03.04.2019 04:02

    Поддержку HiDPI мониторов добавили или нет?


    1. 0xcffaedfe
      03.04.2019 08:27
      +1

      Поддержки hidpi в windows до сих пор нет, на должном уровне, а вы про VS интересуетесь.


      1. VioletGiraffe
        03.04.2019 10:59

        Очень странное и ошибочное заявление, среди трёх основных десктопных ОС она только в Windows нормально и реализована. Может, ещё в каких-то отдельных линуксовых GUI, а вот в Gnome и macOS точно нет. У меня два монитора с существенно разным DPI и разными коэффициентами масштабирования, так что все баги я сразу вижу.


        1. chupasaurus
          03.04.2019 13:06

          Может, ещё в каких-то отдельных линуксовых GUI
          Жёстко вы с Qt.
          Скриншот из KDE 5, появилось в 4 версии.
          image
          Собственно последняя настройка регулирует не только шрифты, но и вообще весь рендер. Приложения на Gtk естественно в пролёте и емнип рисуются под 96 dpi.


          1. VioletGiraffe
            03.04.2019 13:16

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


            1. chupasaurus
              03.04.2019 13:24

              Разный DPI для мониторов не возможен в принципе в X server, собственно одна из фич у Wayland.


              1. hjarvard
                03.04.2019 14:36

                Разный DPI для мониторов не возможен в принципе в X server

                Неверно, как минимум в Qt поддержка разного dpi реализована.


                1. chupasaurus
                  03.04.2019 15:57

                  This will still result in poor rendering when a window spans multiple montiors, but if you can live with a 2-inch bezel in the middle of your window, you can probably survive misrendering due to poor choice of device pixel ratios.
                  Тут дело немножко не в тулкитах. В иксах вы можете назначить RANDR-у разные DPI у мониторов, но поскольку они собираются в один общий framebuffer, то с каким DPI приложение запустили — с таким оно и будет рендериться.


                  1. hjarvard
                    03.04.2019 18:52
                    +1

                    Не совсем так. Если перемещать окно между мониторами, то dpi пересчитывается корректно на лету и окно перерисовывается. Но если растянуть окно на два монитора — тогда да, на одном из них будет либо всё слишком крупно, либо слишком мелко, об этом и написано в вашей цитате. 2-inch bezel in the middle of your window — это имеется в виду рамка самого монитора. ;)
                    Именно такое поведение я и наблюдал c qt приложениями. Кстати, в винде так же всё работает и, если мне не изменяет память, в gnome в wayland сессии.


        1. beeruser
          03.04.2019 16:36

          среди трёх основных десктопных ОС она только в Windows нормально и реализована

          По принципу «чем хуже — тем лучше»? На _одном_ 4к мониторе в Windows беспорядок.
          Все программы вразнобой работают, какие-то реагируют на настройку DPI, какие-то нет, да даже в пределах одной программы бывает бардак.
          А вот на Маке всё отлично.


          1. DistortNeo
            03.04.2019 16:55
            +1

            Что же за софт-то вы используете?

            Я испытываю проблемы только при смене DPI (подключение по RDP) — не все приложения поддерживают это дело на лету, и система начинает их интерполировать — приходится перезапускать приложения.


            1. beeruser
              03.04.2019 17:39

              Программерский. В основном проприетарный софт на дотнете плюс всякое старое говно типа тотал-коммандер. Всё вместе это выглядит ужасно.


              1. DistortNeo
                03.04.2019 17:46
                +1

                В основном проприетарный софт на дотнете

                В .NET Framework 4.7 значительно улучшили поддержку HighDPI для старых приложений, написанных на Windows Forms. Возможно, вам стоит ещё поиграться со настройками HighDPI в параметрах совместимости в свойствах приложения.
                Ну и последние версии Windows 10 вроде как лучше умееют в HighDPI.


                плюс всякое старое говно типа тотал-коммандер

                Попробуйте Far Manager.


                1. oracle_and_delphi
                  04.04.2019 07:42

                  Far Manager — на любителя. Кому-то в кайф, а кому-то очень неудобно.


              1. MTonly
                03.04.2019 20:01

                А что у TC не так с HiDPI?


              1. ditstk
                04.04.2019 10:08

                у говно_кодера и и свои и чужие программы говно. Тотал Комаандер отлично идёт на десятке


          1. Am0ralist
            03.04.2019 16:59

            И вновь в том, что программисты не умеют писать программы виновата ОС…
            Схожая проблемы начались, когда МС запретило сохранять программам данные в программфайлз. Сразу столько претензий к плохой ОС началось!


            1. yatagarasu
              03.04.2019 17:24

              Виноват кривой апи, который отдаёт все заботы на усмотрение разработчика.


              1. Am0ralist
                03.04.2019 18:17
                +3

                Если не ошибаюсь (сам не программист, я только ошибки за ними при внедрении нахожу постоянно, но из обсуждений в прошлом осталось в памяти такое):
                Если программа не умеете в дпи — система делает сама как умеет (старые проги = мыло), если программист заявил, что умеет — то система ему верит и считает, что программа сама сможет. Так что если же он действительно в это умеет — программа работает нормально, если же у программиста лапки — то ОС в этом то как виновата? Плюс вроде как теперь конкретным прогам можно указывать, чтоб ОС их не трогала и не пыталась ничего сделать, ибо у программиста — лапки.
                Понимаете, когда в 2016 году одна программа на оплачиваемой техподдержке, которая за несколько лет только мажорных версий сменила, так и продолжала криво работать при установке её в программфайлз без полных прав на директорию… Так вот, АПИ может и кривой, однако почему тогда у других получается?


              1. dimaaan
                04.04.2019 00:04

                Виноваты те, кто любит ругать даже не попытавшись разобраться в проблеме.
                Папка Program Files впервые появилась в Windows 95, когда ОС была еще однопользовательской.
                Интересно было бы послушать, как бы вы решили эту проблему.


          1. VioletGiraffe
            03.04.2019 18:53
            +1

            Минуточку, вы не путайте поддержку со стороны ОС и корявые руки программистов (и/или три года не обновлявшиеся программы). Мой софт ведёт себя правильно, и реализовать это было очень не сложно. А что половина софтописателей до сих пор не осилили то, что должны были сделать года три назад — да, есть такое.


            1. 0xd34df00d
              03.04.2019 22:41

              А где заканчивается ОС и начинается софт для ОС?

              А то X server тоже можно в софт записать.


              1. Am0ralist
                04.04.2019 11:14

                А где заканчивается ОС и начинается софт для ОС?
                А тут вроде бы обсуждается софт для Пользователя, с точки зрения которого что ОС, что софт для ОС — один фиг. А вот то, что программа для него плохо работает — это беда.
                Вот только одно дело, когда в ОС невозможно что-то сделать либо только через низкоуровневые хаки, и другое, когда программист не хочет разбираться с нововведениями ОС и реализовывает их криво.
                Так то да, X-server в идеале можно взять и выкинуть, заменив своим решением. Но будете ли вы это делать, если вы пишете новый молодежный калькулятор?


    1. ad1Dima
      03.04.2019 11:40

      Она и в 2017 есть. В этой вот такую опцию добавили:

      Use Visual Studio as a Per-Monitor Awareness application through a new, experimental setting. When on, this setting helps parts of Visual Studio, such as the shell and the editor, render more sharply regardless of your display configuration and/or scaling.


    1. MTonly
      03.04.2019 20:03

      VS как программа поддерживает HiDPI. Генерировать dpiAware-объявление в манифесте тоже умеет. Остальное — дело разработчика, пишущего в VS программы.


  1. NeoCode
    03.04.2019 07:17

    Исторически каждая следующая студия была тормознутее предыдущей — как в скорости компиляции (С/С++) так и в плане GUI. Интересно как с этой 2019? И это при том что никаких супер-востребованных фич за все время так и не добавилось. Удобный редактор, дерево проектов, отличный отладчик (куда лучше чем реализация в Qt Creator к примеру). Но все это было еще в VS6 (1998)! Зато скорость работы падает в несколько раз с каждой новой версией. И самое печальное, что нет универсальных механизмов обратной совместимости компиляторов и IDE (т.е. меня вполне бы устроила оболочка скажем от 2005/2008/2010 студий, но компилятор и набор библиотек чтобы был новейший).


    1. mapron
      03.04.2019 08:19
      +1

      Интересно как с этой 2019?

      Релиз не тестил еще, но TP были тормознее. Обещали какие-то оптимизации по скорости.

      механизмов обратной совместимости компиляторов и IDE

      Обратная совместимость как раз есть — вы можете в новой IDE переключать на тулсеты старых компиляторов.
      А то что вы хотите, это называется прямая, и ее не так просто реализовать.
      Представьте, запустили вы новый компилятор, а подсветка кода не работает =) Это очень сильно ударит по имиджу «поддержки» такой фичи. А модель кода портировать в старые версии — это может быть половину кода IDE затрагивать)
      (ну и да, тут еще финансовая сторона — скорее всего, продажи бы упали раз так в ндцать, т.к. многие компании покупают лицензии только ради компилятора).


      1. NeoCode
        03.04.2019 11:15
        +1

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


        1. Kobalt_x
          03.04.2019 11:46
          +1

          Для C++ это не поможет, для правильной полной подсветки C++11&later кода нужна полноценная code model.


          1. NeoCode
            03.04.2019 11:57

            Ну для меня отсутствие идеально точной подсветки не так уж критично по сравнению с тормозами во время работы:)


            1. mayorovp
              03.04.2019 12:09

              Ладно отсутствие подсветки, проблема еще и в её наличии (студия будет подчеркивать красным все чего не поняла)


            1. 0xd34df00d
              03.04.2019 17:36
              +3

              В C++ отсутствие code model и полноценных вычислений на этапе компиляции — это не вопрос идеальности подсветки, это вопрос хоть какой-то адекватности подсветки. Если в вашем коде есть хоть немного темплейтов или констекспра, конечно.


          1. olsamurai
            03.04.2019 18:39

            А кто-нибудь подскажет, как на счет «structured binding» и «if statement with initializer». У меня в 2017 версия 15.8.0 черкает все красным.


            1. mapron
              03.04.2019 19:02

              Не завезли еще пока.


            1. VEG
              03.04.2019 20:01

              Должно работать в последней VS2017. Проверьте в настройках проекта что используется актуальный тулсет, а не тот что был в VS2015.


              1. olsamurai
                04.04.2019 14:41

                Используется актуальный toolset


            1. dev96
              03.04.2019 22:33

              Вы точно включили toolset vc141 и C++17?
              structured bindings точно работали в 15.9.5, а if statement with initializer я начал юзать уже в RC19.
              Вообще вот: docs.microsoft.com/en-us/cpp/overview/visual-cpp-language-conformance?view=vs-2019
              И то и другое с 15.3 работают.
              Уточню на всякий случай, что по умолчанию проект настроен на C++14.


              1. olsamurai
                04.04.2019 14:39

                У меня стоит 15.8.0. Может надо обновиться до 15.9.5 и тогда заработает. Все настроено на с++17. Компилятор все поддерживает. А вот IntelliSense подчеркивает…


    1. WhisperingOak
      03.04.2019 09:41

      Теперь будет ставиться не полдня, а целый день, и занимать не 20, а 40 Гб.


      1. VD42
        04.04.2019 14:07

        Весь необходимый набор для разработки классических десктопных приложений на C++ у меня вышел менее двух гигабайтов для скачивания (установка выполняется во время скачивания компонентов, так что не сильно больше времени занимает, чем само скачивание) и где-то пять гигабайтов в установленном виде. Главное — отметить только нужные флажки в установщике.


    1. iroln
      03.04.2019 11:50

      Я бы не назвал редактор студии удобным. Зубодробительные шорткаты по умолчанию (кто вообще придумал все эти комбинации вроде "Ctrl+E, V"), до 2017 не было даже функции "дублировать строку" без затирания буфера обмена через copy/paste, мультикурсор вроде до сих пор не завезли, а также много раздражающих мелочей вроде отсутствия подсветки текущей строки до 2015 (делалось только расширением Visual Assist и т.п.). В общем, по сравнению с современными редакторами редактор классической студии всегда был довольно убогим. VSCode в этом плане шагнул далеко вперед.


      Также студия никогда не была особо удобной для разработки на C++, IntelliSense из коробки вообще ни о чём (по сравнению с тем же Visual Assist), отсутствие адекватной поддержки CMake ну и т. д. и т. п.


      Кстати, 2010 студия была переписана на WPF, с этого момента начались тормоза и лаги. В следующем релизе они отказались от WPF, но тормоза почему-то остались. Особенно дикие связаны как раз с IntelliSense, которая может тупить по несколько минут при поиске какого-либо символа или при переходе от прототипа к определению функции/класса.


      1. ad1Dima
        03.04.2019 12:31
        -2

        мультикурсор вроде до сих пор не завезли
        alt+shift+Click; ctrl+alt+Click;


        1. IvanNochnoy
          03.04.2019 12:37
          +1

          Мультикаретка, во-первых, во-вторых, она недоделанная — попробуйте скопировать и вставть текст в мультирежиме.


          1. ad1Dima
            03.04.2019 13:14
            -1

            опробуйте скопировать и вставть текст в мультирежиме.
            Ни разу не возникало желания это делать…


        1. iroln
          03.04.2019 13:06
          +1

          И где тут мультикурсор? Это просто выделение блоком, и что с этим дальше делать?


          Мультикурсор - это вот, например


          1. ad1Dima
            03.04.2019 13:24

            второе сочетание вы конечно не пробовали…


            1. mayorovp
              03.04.2019 13:49

              Пробовал, оно выделяет слово, точно так же как это делает двойной клик.



            1. iroln
              03.04.2019 15:20

              Сначала оно не заработало из-за Goto Ctrl+Mouse в VAssist, потом оно тоже не заработало, потому что в VS2015 этой функциональности нет, она появилась в 2017 судя по ссылке на справку ниже. :)


              При поиске/замене несколько точек редактирования тоже доступны? Чтобы не кликать.


              1. IvanNochnoy
                03.04.2019 15:27

                Ctrl+Shift+Alt+, Add all matching text as selections


                1. iroln
                  03.04.2019 15:35

                  Ctrl + Shift + Alt + ,
                  Адовые шорткаты для инопланетян со щупальцами, я же говорю. В Sublime просто Alt+Enter. :)


              1. ad1Dima
                03.04.2019 15:30

                оно тоже не заработало, потому что в VS2015 этой функциональности нет
                «до сих пор»


                1. iroln
                  03.04.2019 15:36

                  В первом комменте я написал "вроде бы". :)
                  На рабочем проекте VS2015 из-за компилятора. Ведь это так "удобно", когда компилятор гвоздями прибит к IDE.


                  1. VEG
                    03.04.2019 15:48

                    Использование тулсета из VS2015 поддерживается в VS2019.


                  1. DarkWanderer
                    03.04.2019 18:27
                    +1

                    Вы бы хоть матчасть подучили, прежде чем грязью инструменты поливать. Современные VS поддерживают все более старые Visual C++ компиляторы начиная с 2012. Я на работе так долго сидел — Visual Studio 2015 с компилятором vc110_xp, потом vs2017 с компилятором от 2013


                    1. iroln
                      03.04.2019 21:13
                      +1

                      Грязью поливать? Серьёзно? Прямо так написали, словно вы мои слова как личное оскорбление восприняли. Успокойтесь, посчитайте до 10, откройте студию, видите, она чистая, никто её грязью не облил. Можете дальше спокойно работать. :)


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


                      А про компилятор, прибитый к IDE я разве неправду написал? Вы можете скачать и поставить MSVC-компилятор без студии?


                      1. dev96
                        03.04.2019 22:47

                        Я бы не сказал, что проблемы расширений — это прям беда Visual Studio.
                        Проблема обычно со всякими CMake и т.п. Решения давно уже не меняются внутри. Toolset-ы предыдущих версий можно спокойно ставить через installer.
                        А MSVC, кстати, можно скачать без IDE (MSVC Build Tools).
                        Да и VS официально поддерживает GCC и CLang.


                        1. iroln
                          03.04.2019 23:18

                          In November 2015 Microsoft again started providing the compiler tools in a free-standing package called the Visual C++ Build Tools.

                          Это событие я что-то проспал, да.


                      1. Mov_AX_0xDEAD
                        03.04.2019 23:02

                        скачать и поставить MSVC-компилятор без студии?

                        есть варианты, начиная с DDK(WDK по новому) или экзотика типа Visual C++ Compiler Package for Python


                        1. iroln
                          03.04.2019 23:21

                          Visual C++ Compiler Package for Python

                          Нет, ну это уже совсем экзотика. Они это сделали только для того, чтобы собирать экстеншены для Py27 без установки студии. По сути это уже почти никому не нужно. А вот ответ выше верный, значит я был не прав на счёт компилятора (частично, потому как было время, когда MS эту возможность убрали и убрали компилятор в том числе из Driver Kit)


    1. jaguard
      03.04.2019 20:42
      +3

      >Исторически каждая следующая студия была тормознутее предыдущей

      Кстати, это не совсем так. Руководствуясь этой логикой я не уходил с 2013, но оказалось, что 2013 была особенно тормозной, а 2015 наоборот заметно ускорилась, и 2017 вроде не потеряла после этого в производительности. Это в GUI, в компиляции у 2013 вообще был какой-то странный баг, который иногда подвешивал мой проект на стадии линковки минут эдак на 5.


  1. Singapura
    03.04.2019 07:58
    -3

    Microsoft, прямо как кислотный ожог. Всё растворяет и поглощает, переделывая во что-то своё,… а потом откладывает за ненадобностью, как с ХР. А ведь ХР, нормальная среда обитания для многих. Я вообще считаю ХР самой красивой OS.


    1. mapron
      03.04.2019 08:24

      Простите за едкость, у вас-то есть коммерчески успешный продукт, в котором вы продолжаете поддерживать версии вышедшие 20 лет назад? Если да, скиньте ссылочку, будет интересно.
      Вам никто не запрещает пользоваться ХР до сих пор. Просто почему бы например Win2000 не поддерживать в новой IDE? или Win95? где-то же должен быть предел.
      Поддержка ХР была рекордно длительное время, но это не может продолжаться вечно.
      Это не просто прихоть маркетинга (иначе бы выкидывали поддержку всего кроме вин10), с т.зр. разработки реально приходится сталкиваться с ограничениями в API. попробуйте-ка всякие TLS и shared_mutex реализовать, когда нативной поддержки нормальной нет)


      1. Singapura
        03.04.2019 09:26
        -6

        Я думаю, если-бы MS продали-бы Win ХР, компании уровня Intel. Тогда они-бы(MS), поняли-бы кто именно всех кормит, из семейства их успешных продуктов. Они потеряли-бы самую большую часть своих клиентов. При всём уважении к остальным продуктам компании.


        1. expeon
          03.04.2019 09:47
          +1

          А тем временем, в параллельной вселенной, например, на Стиме 2/3 (67.15%) пользователей используют Виндоуз 10.


          1. Singapura
            03.04.2019 09:55
            -5

            Здесь на Хабре, юмор про MS не приветствуется)) Просто удивительное количество минусов за спокойный текст))) «Правда, глаза колит» (пословица народная) минусовщикам)))


            1. Sioln
              03.04.2019 10:19
              +1

              Колит — это воспалительное заболевание такое.
              Скобка, скобка, скобка.


              1. NLO
                00.00.0000 00:00

                НЛО прилетело и опубликовало эту надпись здесь


      1. Steed
        03.04.2019 10:05

        Я не автор исходного комментария, но у нас такие продукты есть, например http://octonus.com/oct/products/mbox/2.0/. Софт для ограночных предприятий, в которых все было настроено и установки работают много лет. Кстати, расширенная поддержка XP закончилась в 2014 году, всего 5 лет назад. Обновлять систему и останавливать на время производство никому не хочется. Можно поставить клиентов перед фактом, но это не очень здорово скажется на имидже. Тем более, что машины не подключены к интернету и защищаться от уязвимостей им по большому счету ни к чему. А для новых продуктов, конечно, мы требуем Windows7+.


        1. defiaNtBY
          03.04.2019 10:56

          но из пдф по вашей ссылке жеж:

          Windows 7 Prof. (64 Bit) / Windows 10 Prof. (64 Bit)


          Так что нет у вас XP.
          А если для конкретных заказчиков за отдельную цену — ну как-то это не считается. так и 3.1 можно поддерживать за 100500 миллионов


          1. Steed
            03.04.2019 11:13

            pdf — для новых клиентов. Спасибо, что не поленились посмотреть:)
            Если старые всю жизнь сидели на XP, то "либо обновляйся, либо плати" — это повсеместная стратегия ныне, но мы ведь сами не любим, когда с нами так поступают.


            Впрочем, в нашем случае проблема решается штатно — вполне хватает VS2015, а уж переходить в бизнес-разработке на свежий компилятор до первой пары сервис-паков — вообще выстрел себе в ногу. Так что пока до VS 2019 очередь дойдет, XP и у оставшихся клиентов умрет своей смертью.


            P.s. Вообще, как представлю себе многолетнюю поддержку отдельной ветки приложения на старом компиляторе и версии WinAPI для отдельных клиентов, так и 100500 миллионов выглядят не так уж привлекательно;)


            1. defiaNtBY
              03.04.2019 11:45

              Да мне просто было интересно реально ли кто такое предлагает, имхо — это глупо. Да если код есть, то просто взять «компилятор» другой, поправить одну строчку кода и пересобрать — это дно. А когда надо заморочиться с железом/спец софтом/людьми кто знает как эту старую версию собирать на текущем CI (или поднять старый CI) — это уже другое.

              то «либо обновляйся, либо плати» — это повсеместная стратегия ныне, но мы ведь сами не любим, когда с нами так поступают.

              Но такова жизнь, альтруистов не много на свете.
              Например до сих пор попадаются вакансии на Cobol'e, но это ничего не говорит о каком либо альтруизме по поддержке старых клиентов — а только о том что клиент готов платить отдельные деньги для поддержания его старой, но возможно рабочей, инфраструктуры.


      1. SergejT
        03.04.2019 15:09

        Есть много программ которые под dos работают. В Германии, например, терминалы у врачей, кассовые аппараты на бензозаправках…


    1. Singapura
      03.04.2019 09:11
      -4

      Народ! Это был добрый юмор!)))) Всмотритесь в свои мысли сами!)))


  1. Vassili5946
    03.04.2019 08:14
    -1

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


    1. Kobalt_x
      03.04.2019 11:49

      Начиная с cuda10 vs2017 офф интегрированаю. Глюков с ребилдами не замечал, киньте ссылку плз.


      1. Vassili5946
        03.04.2019 12:56

        проблема в том что 2017 не обнаруживает автоматом изменения в cuda-коде, приходится сперва руками очищать и затем билдить. мелочь казалось бы, а в больших солюшенах из нескольких проектов на разных языках — это невероятно бесит. Потому сижу на 2015 где все ок. Кстати, почему Вы говорите, что поддержка куды только с 2017? в 2015 из коробки все ок. нсайт даже для 2010вроде есть официально причем, не? (если что, то использую cuda10.0 + VS2015)
        вот кто-то спрашивает на стекеоверфлоу такое же:
        stackoverflow.com/questions/48183845/visual-studio-2017-not-detecting-change-in-cu-cuda-files


        1. Kobalt_x
          03.04.2019 13:30

          Никогда не замечал, т.к. видимо модуль всегда собирался не через msbuildовый саппорт а через свои props-файлы nvcc
          По вашей же ссылке
          Так это же не студийная, проблема а кривая msbuildовая таска у самой куды. Т.е. просто при обновлении msbuild таска работать нормально перестала.
          Т.е. претензии к кривой реализации таски msbuildа nvidiей а не к студии.
          Потому что оффициально поддержка vs2017 появилось с cuda10.0 и вся либа msvc стала собирабельна nvcc. До этого приходилось юзать костыли в cu файлах.
          + По вашей же ссылке пишут что зачинили в 10.1


          1. Vassili5946
            03.04.2019 13:56

            кривая msbuildовая таска у самой куды

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

            этого не знал ибо «answered yesterday» по ссылке )) 10.1 еще не рисковал опробовать. посмотрим, если нвидиа озаботилась и подстроилась под 2017 и 2019 то и хорошо.


  1. xfaetas
    03.04.2019 08:43

    Хорошо, что поддержку Python допиливают — можно будет соскочить с PyCharm.


    1. msin
      03.04.2019 10:02

      а я наоборот задумался о покупке лицензии на Rider…
      Студия при работе выдает неясные глюки в виде небольших подвисаний интерфейса или вдруг начинает обновлять компоненты тулбокса в UI-потоке — приходится постигать дзен.
      По моим ощущениям интерфейс Rider более отзывчивый
      Еще Студия явно начала выпиливать Resharper, было сообщение об использовании устаревшего API в этом расширении, но функционально Студии еще далеко до него.
      Возможно, корпоративная версия Студии очень удобная, но $6000 как-то неприлично круто за годовую лицензию


      1. xfaetas
        03.04.2019 13:38

        Это на фоне последних новостей — на случай, если в PyCharm тоже что-нибудь «отечественное» захотят встроить.


      1. Kobalt_x
        03.04.2019 13:47

        А вам прямо нужны фичи из enterprise, для интеграции с architect, построение UML из кода, TTD(единственная наверное полезная фича из Enterprise)?
        Просто везде где писали на студии enterprise стояла у 1-2х человек а все использовали professional и не парились


        1. IvanNochnoy
          03.04.2019 13:49

          Live Unit Testing полезен


          1. vdasus
            03.04.2019 23:00

            ncrunch и дешевле и полезнее (по крайней мере из того что я пробовал)


      1. bondarenkod
        03.04.2019 16:01

        Таблицу сравнения посмотрите, не совсем ясно, почему вы студию за 6к выбрали, а не за 250 на месяц без доп плюшек вроде доступа в МСДН, кредита на ажур, курсов и тд и тп.


        1. msin
          03.04.2019 16:24

          всего $250 в месяц это заметное дороже годовой лицензии Rider (ReSharper Ultimate + Rider стоят $179 за первый год, дальше — дешевле). Тем более я не очень понимаю, какие настолько полезные функции я покупаю за $3000 в год… Мне сложно поверить, что функциональность платной версии студии на порядок выше, чем у Rider.
          Крайне удобные Live Unit Tests есть только в Enterprise редакции или нужно отдельно докупать NCrunch ($159). В Rider всё это есть из коробки (видел в 19.1 EAP 4).
          Я не планирую отказаться от студии совсем, но большую часть работы с кодом думаю перенести в Rider. Релизы придется делать в студии, потому что обфускатор интегрирован в студию.


      1. DistortNeo
        03.04.2019 16:01

        Если вам нужна полноценная отладка кода, то Rider будет проигрывать студии.


        1. mjr27
          03.04.2019 17:28

          Смотря для чего. Если разработка идет на .net core, у студии преимуществ практически нет. А у студии без R# — совсем нет.


          1. DistortNeo
            03.04.2019 17:41

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

            Ну и подсветка синтаксиса в Rider хромает: невозможна подсветка операторов отдельным цветом, ещё в VS мне нравится подсветка структур и классов разным цветом.


            1. KvanTTT
              04.04.2019 00:23

              остановка в момент выброса исключения

              Не знаю когда вы пробовали, но такое есть уже довольно давно. Не было Edit & Contrinue, но и его скоро завезут. Не хватает межпроцессной отладки, хотя и довольно специфичный кейс.


              1. DistortNeo
                04.04.2019 00:45

                Давно, пару лет назад, наверное. Потом перестал пользоваться, потому что EAP свернули.


          1. ad1Dima
            04.04.2019 11:41

            А у студии без R# — совсем нет.
            У R# много крутых вещёй, но так много ли используется?
            Как-то видел человека, который самыми используемыми им фичами R# назвал фичи самой студии.


            1. mjr27
              04.04.2019 12:57

              Буквально пара первых пришедших в голову вещей, ради которых плачу, колюсь, но мирюсь с R#


              • Умный build. Когда цикл изменил-собрал-запустил в solution из десятка проектов занимает 10 секунд вместо 50, это прямо таки меняет жизнь.
              • dotPeek, позволяющий одним тыком посмореть внутреннюю кухню, вместо попыток найти необходимое на github'e
              • (спорно, но все же) в нашем небольшом коллективе возможность одной кнопкой причесать код с более-менее вменяемым результатом (раскрыть var'ы и т.п) сильно экономит жизнь как разработчиками, так и ревьюерам

              А у rider'a, на мой взгляд, есть родовая травма. Не привычно как-то с 16gb уходить нв 3-4 открытых проектах в глубокий OOM. Кроме этого — нравится, в принципе, все.


              1. ad1Dima
                04.04.2019 13:05

                Я не спорю, что есть люди, которые действительно им пользуются. Но некоторые мучаются зря, так как фичи, ради которых они ставят R# уже есть в студии.

                Не знаю, а dotPeek нельзя отдельно от R# использовать? конкурентов вроде можно.

                возможность одной кнопкой причесать код
                сам ещё не пробовал, но в 2019 заявлена поддержка форматирования. но выглядит как-то сложно docs.microsoft.com/en-us/visualstudio/releases/2019/release-notes#dotnet-format


                1. IvanNochnoy
                  04.04.2019 14:21

                  Можно отдельно. Автоформат всего солюшена может делать бесплатный CodeMaid, например.


              1. mayorovp
                04.04.2019 15:46

                Умный build. Когда цикл изменил-собрал-запустил в solution из десятка проектов занимает 10 секунд вместо 50, это прямо таки меняет жизнь.

                А за счёт чего магия возможна?


                1. IvanNochnoy
                  04.04.2019 16:11

                  Студия тупо сравнивает файлы на предмет последней модификации — если время последнего изменения обновилось, то она перекомпилирует проект и все проекты, от него зависимые. ReSharper проверяет изменения публичного API сборки, если публичное API не изменилось, то зависимые проекты не перестраиваются.


              1. timiskhakov
                04.04.2019 22:57

                А у rider'a, на мой взгляд, есть родовая травма. Не привычно как-то с 16gb уходить нв 3-4 открытых проектах в глубокий OOM.

                Если не секрет, насколько большие проекты? Регулярно работаю на 16Gb с солюшенами на 10-15 проектов, но это, правда, небольшие микросервисы, и никаких видимых проблем не испытываю.


            1. workless
              04.04.2019 15:45

              Search Everywhere киллер фича.
              Аналогичный поиск в студии медленнее и не такой fuzy

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


              1. IvanNochnoy
                04.04.2019 16:19

                Ctrl+F12 ищет наследников без ReSharper


              1. ad1Dima
                05.04.2019 07:45

                Аналогичный поиск в студии медленнее и не такой fuzy
                не знаю насчёт скорости. А что значит «не такой fuzy»


                1. workless
                  05.04.2019 07:54

                  Например в R# ищет класс DatabaseParametersProcessor по введенным символам

                  DatParPro
                  DatProPar
                  ВфеЗфкЗкщ (при вводе в русской раскладке)

                  Ну его проще попробовать, а потом будет тяжело отказаться.


                  1. ad1Dima
                    05.04.2019 07:58

                    Ок, по первой студия найдёт, по двум другим- нет.


                    1. qw1
                      05.04.2019 11:58

                      А по «datparpro» найдёт?


                      1. ad1Dima
                        05.04.2019 12:54

                        По «datparpro» или «datParPro» найдет по «Datparpro», похоже что нет. Если первая буква большая — включается боллее строгий поиск походу.


    1. Vassili5946
      03.04.2019 14:57

      мои 5 копеек: для python лучше IDE чем Komodo не встречал. но он слегка платный.


      1. faoriu
        03.04.2019 16:52

        О, у них даже есть Community Edition


  1. faoriu
    03.04.2019 08:43

    Надеюсь версия для Мака стала более стабильной.


    1. Gorniv
      03.04.2019 10:35
      +1

      я начал использовать vscode для нового проекта — в целом нормально.


      1. faoriu
        03.04.2019 11:00

        То VSCode, а это — Visual Studio.


        1. Gorniv
          03.04.2019 11:05

          я понимаю :D
          Visual Studio for Mac — не пошел, тяжелый, ui — какой-то не тот, стабильность тоже не порадовала и запуск тестов так себе был.
          Давно еще пытался использовать Rider — ui от Idea тяжеловат, возможно если настроить, то будет хорошо, но я лучше на VSCode буду, туда бы еще resharper(мечты)


          1. timiskhakov
            03.04.2019 11:24
            +1

            Давно еще пытался использовать Rider — ui от Idea тяжеловат, возможно если настроить, то будет хорошо

            Субъективно с релиза 2018.2 стало сильно лучше и заметных лагов UI почти нет.


  1. vba
    03.04.2019 10:12

    У меня один вопрос, ВС 2019 наконец то стал х64 или все так же остается 32 битным, с ограничением в <2Гб оперативной памяти?


    1. Vest
      03.04.2019 10:49

      Reddit говорит, что IDE 32-битная.


      1. vba
        03.04.2019 11:19

        Мда, нечего сказать...


        1. vdasus
          03.04.2019 23:05

          Там все не так просто. Они выносят жрущие процессы в 64 бита (запускают отдельно). Например, вроде, дебаггинг. (Но это неточно. Если интересно — копайте в эту сторону. Я точно где-то то-ли видел то ли читал)


          1. dev96
            03.04.2019 23:07

            На хабре была статья о том, что начиная с VS19 отладчик запускается в отдельном 64-битном процессе. И гифка с примером на Gears Of War.


    1. VioletGiraffe
      03.04.2019 11:04
      +1

      А зачем IDE жрать больше 2 ГБ?


      1. phillennium Автор
        03.04.2019 11:14
        +1

        Если используется ещё и ReSharper, то вместе они в процесс влезают со скрипом, JetBrains сами признают, что в части случаев это вызывает проблемы:

        «Visual Studio and ReSharper, which share the same 32-bit process push your system to its limits. Often, this is reported to happen on large-size solutions and when ReSharper is installed to Visual Studio v. 2015 or later.»


        1. Kobalt_x
          03.04.2019 11:51

          так extensionы уже давно можно в отдельные host-процессы выносить в чем проблема то, так много уже кто делает тот же assist вроде так умеет


        1. zhaparoff
          03.04.2019 12:01
          +2

          По поводу R# отдельная история.

          Там, как по мне, больше не с памятью трабла, а то что их все эти рефакторинги вычисляются в UI процессе, синхронно, что превращает работу в студии с R# в сплошной поток фризов (как вспомню — в дрожь бросает, это просто АД).

          MS давно сказала разработчикам экстеншенов — «вот вам Roslyn API, используйте его и будет вам счастье». CTP, если верить вики, был доступен с 2010 года, еще под VS 2010. Даже если учитывать сомнения взлетит/не взлетит, то релиз был уже в VS 2013. У Jet Brains было минимум 5 лет чтобы мигрировать. Но они, судя по всему, пилили свой IDE с шахматами и поэтессами, а на R# просто подзабили.

          В прошлом году что-то их таки расшевелило, возможно отток юзеров, возможно еще что. Я нашел такую вот статью у них: blog.jetbrains.com/dotnet/2018/05/29/taking-resharper-process-resharper-performance-series. Но, судя по последним комментам, это вот все до сих пор находится в стадии «мы над этим работаем».


          1. phillennium Автор
            03.04.2019 16:11

            Ну, про Roslyn они изначально (ещё до анонса Rider) заявили, что не будут его использовать по причинам «там доступно не всё, что нам надо» и «нам для этого пришлось бы R# чуть ли не с нуля переписать». Можно спорить, правильное ли это решение, но всё-таки тут не «годами ждут непонятно чего для миграции», а «сразу приняли решение не мигрировать и ничего не ждут».

            На DotNext в 2015-м был связанный с этим доклад, мне запомнился такой слайд:


        1. IvanNochnoy
          03.04.2019 12:31

          Год назад мною было принято стратегическое решение свалить с ReSharper сами знаете почему. Вот список того, что на 95% заменяет ReSharper (С#)

          Басплатные расширения:

          • Roslynator
          • CodeMaid
          • Enhanced Syntax Highlighting
          • Better Comments
          • Solution Error Visualizer
          • Snippet Designer
          • Add New File


          Visual Studio:

          • Встроенные возможности «из коробки»
          • Live Unit Testing (Enterprise Edition)

          Для веб-дева использую VS Code. Результатом доволен. Хоть поверте, хоть проверте.


          1. aavoron
            03.04.2019 17:27

            почему?
            я лет 5 не юзал студию (и ReSharper тоже), интересно


            1. IvanNochnoy
              03.04.2019 18:00
              +1

              1. Дикие тормоза. Доходит до того, что я сижу и жду, когда напечатается текст, который я ввожу. Некоторые фишки на практике не работают, скажем, 2 года назад пытался использовать автообновление imports в TypeScript; это работало, но… занимало по 2! минуты на каждое изменение. Понятно, что быстрее руками. Та же фигня с тестраннером под JavaScript — его на практике фиг настроишь, проще из командной строки запустить
              2. К собственным глюкам Студии добавляются еще и глюки ReSharper, коих немало. Особенно достает, то, что иногда весь код подсвечивается красным и пока не перегрузишь Студию, не отстанет
              3. Функционал плагина дублируется — зачем мне 2 тестраннера, 2 подсветки синтаксиса, 2 автоформата, 2 автокомплита?
              4. Новые фишки Студии недоступны (Go To All, например), так как перекрываюся аналогичными из ReSharper.
              5. Убогий формат сниппетов, которые невозможно редактировать в текстовом редакторе. Да, они мощнее чем встроенные, но правка только через интерфейс делает их использование неуклюжим.
              6. Постоянно нужно ждать обновлений, допустим вышел TypeScript 2.0, а у них все еще только 1.8 поддерживается


              Конечно, есть удобные штуки, типа семантического поиска, непрерывного тестировния и умного билда… Но, черт возьми, это не перекрывает всех остальных недостатков. Я тоже боялся, что без Решарпера будет хреново, ан, нет, Студия + расширения вполне так себе справляются


              1. aavoron
                03.04.2019 18:12

                спасибо, что так подробно все расписали, буду иметь в виду


          1. Qbit
            04.04.2019 02:41

            Вот список того, что на 95% заменяет ReSharper

            Не забудьте: Microsoft.CodeQuality.Analyzers, Microsoft.NetCore.Analyzers.


      1. vba
        03.04.2019 11:17
        +1

        А затем что это IDE и на дворе не 1999. Ваш браузер наверное раза в два больше кушает памяти, не так ли?


        1. VioletGiraffe
          03.04.2019 11:43

          У меня установлен Visual Assist, никогда не видел расход памяти больше 700 МБ процессом VS. Спасибо, не нужно, чтобы единственная хорошая IDE под Windows стала жрать столько же, сколько поделки JetBrains на Java.
          На что браузеры расходуют столько памяти — отдельный вопрос и так себе пример для сравнения. ААА-игры зачастую потребляют меньше.


      1. hasu0
        03.04.2019 12:00

        Скачайте хромиум, сгенерите для него студийные проекты, откройте и попробуйте чуть-чуть подебажить. Увидите как студия весело откушает всю доступную 32-хбитному процессу память под дебаг-символы и свалится (или повиснет).


        1. Kobalt_x
          03.04.2019 12:45

          начиная с 2019 дебаггер — отдельный процесс.


      1. F0iL
        03.04.2019 12:04

        Попробуйте, например, поработать с исходным кодом Chromium, репа с исходниками которого сама по себе занимает 11 гигабайт, а с разными зависимостями типа V8 и Skia, которые тоже выкачиваются в дерево исходников, еще больше, а IDE еще нужно всё это проанализировать, построить индекс для автодополнения, быстрого поиска и навигации по определениям и реализациям типов и классов, и многое другое.
        А о том, какое веселье начнется при отладке, выше уже написали.


        1. Kobalt_x
          03.04.2019 12:46

          У вас какая-то другая ide это нормально переваривает P.S. CLion например нет(даже с java heap лимитом под 16gb)


          1. F0iL
            03.04.2019 12:58

            Я использую 64-битный Visual Studio Code с C/C++ расширением, на десктопе 32 гигабайта ОЗУ и SSD-диск.
            Да, возможности все-таки не как у полноценной IDE, но для работы хватает, и бегает вполне бодро.


      1. 0xd34df00d
        03.04.2019 22:40

        На моём хобби-проекте (которому, правда, 13 лет и 800 kLOC и много темплейтов) CLion жрёт 20-25 гигабайт, если в нём код писать хотя бы с недельку, примерно поровну деля их между самим процессом IDE и clangd (которые на Java и на C++ соответственно, чтобы ремарок про джаву не было).


        1. VioletGiraffe
          03.04.2019 22:47

          C недельку писать, не закрывая IDE, или что вы имеете в виду?


          1. 0xd34df00d
            04.04.2019 04:50

            Да, естественно. Не закрывая и не перезапуская.


    1. IvanNochnoy
      03.04.2019 11:15
      +1

      Уточнение: лимит виртуальной памяти Visual Studio — 4Гб на x64-системах


    1. zhaparoff
      03.04.2019 11:37

      Может я чего-то недопонимаю… Win 10 Ent x64, VS 2017 Pro. Только что открыл самый жирный файлик в C# проекте на 300k SLOC (если что, это не я, это сторонняя тулза такое делает) + еще пару тулов/окошек, запустил билд… в общем развлекался как мог. Таск менеджер показывает Working Set = 3+ Гб для devenv.exe. ЧЯНТД? Возможно, ограничение в 2 Гб есть только при запуске VS на 32-битных версиях окон?

      Upd
      Выше написали, и я поддерживаю это мнение, что лимит для x64 OS должен быть в районе 4 Гб для x86 приложений (во всяком случае для тех, которые не творят магии со знаковым битом адреса).

      К сожалению, нет возможности проверить данную гипотезу — ибо от R# я отказался с переходом на VS2017 из-за его неадекватной тормознутости и невозможности включать/отключать этот ручной тормоз без полной деинсталляции приложения.


      1. DarkWanderer
        03.04.2019 22:13

        4Гб это как раз для приложений, которые "творят магию" (/largeaddressaware), по умолчанию 2Гб


        1. mayorovp
          04.04.2019 15:50

          /largeaddressaware это не магия, это подписка о неколдовстве :-)


    1. euroUK
      04.04.2019 15:05
      +3

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

      Первый запуск проекта в райдере — 12 минут. Студия за минуту справляется
      Память. Райдер 2.3гб, VS 750мб
      Повторное открытие проекта. Райдер 2 минуты. Студия 40 секунд.

      Вы знаете, пусть уж 32 бита будет.


  1. VEG
    03.04.2019 12:29

    Что-то мне новый экран приветствия не по нраву. Старый был лучше — там и последние новости показывались, и все возможности нового экрана приветствия, плюс он был нормально интегрирован в среду (открывался в виде вкладки). И похоже что настройки для возврата старого экрана приветствия нет — можно только совсем его отключить =(

    Если тоже хотите вернуть старый Start Page, проголосуйте за это вот тут.


    1. zhaparoff
      03.04.2019 13:18

      Я так понимаю, основная мотивация ввести стартовый экран была в том, чтобы не грузить все тяжеленное UI со старта. Хотя решение спорное, согласен. Учитывая что, скорее всего, большинство при открытии всегда грузит один и тот же солюшен в 80% случаев. Я, например, неделями просто не закрываю студию с основным солюшеном, если что-то надо еще — открываю в другом экземпляре. В настройках стоит «Empty Environment».


      1. VEG
        03.04.2019 13:25

        Не вижу разницы в скорости появления этого окна в VS2019 и полноценной стартовой страницы в интерфейсе IDE VS2017. И там и там это занимает меньше двух секунд. Если бы это стартовое окно появлялось мгновенно, то можно было бы понять ещё зачем оно нужно. А так…


  1. Magic_B
    03.04.2019 12:51

    Подскажите, кто знает! Когда переходишь на новую строку, таб применяется только полке того как завершишь строку ";". В 2017 жмешь ентер — уже с табом на новой строке....


  1. saintbyte
    03.04.2019 14:15

    Микрософту осталось только сделать чтоб всё ставилось быстро, а то я ставил год назад VS и он ставился у меня полдня. Я уже не говорю про приколы с активацией типа открываешь ноут в метро а тебе: «активацию давай».


    1. konoplinovich
      03.04.2019 15:23

      Это, видимо, от состава установки зависит. Я вот ставлю только .NET desktop development и 2019 поставилась за полчаса.


    1. Allozorro
      03.04.2019 16:21

      Странно, дефолтный набор десктопной разработки ставится минут 15. Более-менее «жирный» набор — минут 40-50. У 2015 версии этот процесс занимал до 1ч и 2,5 ч. соотвественно.


    1. buldo
      03.04.2019 17:42

      Минимальное время установки студии — 2.5 минуты. Правда это просто шел, который максимум сможет файлы открывать.


  1. devlev
    03.04.2019 15:43
    +1

    До сих пор не получается нормально отформатировать простой код на c#. Приходится использовать табы и вручную расставлять нужные отступы. Может в новой версии это исправили.


    VS 2017. Версия 15.9.9

    Код со скрина
    using System.Collections.Generic;
    
    namespace TempProject
    {
    	public class Temp
    	{
    		public static void Example()
    		{
    			Dictionary<string, object> temp = new Dictionary<string, object>
    			{
    				{ "a","a" },
    				{ "b","b" },
    				{ "c",new {
    					a = "qwe"
    				} }
    			};
    		}
    	}
    }
    


    1. IvanNochnoy
      03.04.2019 16:18

      Не в этот раз


    1. VEG
      03.04.2019 18:29
      +1

      Если вы не зарепортили эту проблему с этим примером разработчикам VS, то и не исправят.


      1. devlev
        03.04.2019 23:20

        Да репортили уже. Проблема в том что они исправляют ну очень долго. Когда вышла VS2015, они там так поломали форматирование в Razor, что стандартным редактором стало просто невозможно пользоваться. Обычная вставка кода была: CTRL + V, CTRL + Z — потому что после CTRL + V всегда срабатывало автоформатирование которое невозможно не как отключить. Приходилось продолжать пользоваться VS2013 в которой все было нормально с форматированием. И такое отношение явно разочаровывает.


        1. VEG
          03.04.2019 23:44

          Значит нужно не полениться поставить плюсик под этот репорт, а то там всего 2 плюсика. Они же явно смотрят на количество плюсов при разборе того на что ругаются пользователи.


        1. ad1Dima
          04.04.2019 11:59

          Да репортили уже.
          Понятно, почему не фиксят. В этом репорте совершенно не ясно, что сломалось и как должно быть правильно. Поэтому и лайков нет. Хотя б иллюстрации вставили (если это вы репортили).


    1. Starl1ght
      03.04.2019 23:03

      Выделить кусок, нажать Control, нажать K, отпустить K, нажать F, отпустить F, отпустить Control


      1. devlev
        03.04.2019 23:32

        А у вас получилось нормально отформатировать? Я вставил код в студию, удалил пробелы с помощью CTRL + TAB несколько раз, нажал как вы написали

        и вот что вышло


        1. Zam_dev
          04.04.2019 18:10
          +1

          Инициализация списков обычно не форматируется в VS, тоже не понял причину… возможно в ней не всегда присутствует порядок для выравнивания.


          1. DistortNeo
            04.04.2019 20:03
            +1

            Скорее всего, для сохранения пользовательского выравнивания.
            Аналогично с аргументами функции на несколько строк.


      1. vlivyur
        04.04.2019 13:27

        The key combination (Ctrl+K, F) is not a command
        Но даже Ctrl+E,F (Format Selection) не помогает, всё остаётся как на скриншоте.


  1. Terras
    03.04.2019 20:15

    Хм, судя по числу комментов, в плане .net разработчиков дефицита нет


  1. alier
    03.04.2019 20:30

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


  1. OrangeCrusty
    05.04.2019 14:59

    Что-то я не нашёл, куда они пулл реквесты встроили. Кто-нибудь обнаружил уже?


  1. IvanNochnoy
    05.04.2019 15:21

    1. OrangeCrusty
      05.04.2019 16:02

      Написано ж было, что интегрировали в IDE


      1. IvanNochnoy
        05.04.2019 17:26

        Check out the optional extension available on the Visual Studio Market Place, Pull Requests for Visual Studio, that integrates Pull Request reviews into Visual Studio.

        Не Студия интегрирует, а расширение


        1. OrangeCrusty
          05.04.2019 17:44

          Ясно, спасибо