20 июля вышла финальная версия Visual Studio 2015 RTM, несущая в себе, в том числе, много нового для веб-разработчиков, специализирующихся на JavaScript: улучшения в редакторе, поддержка популярных библиотек и систем управления пакетами и сборки кода, возможности ES6, а также обновление поддержки Apache Cordova и Node.js.

Улучшения редактора JavaScript




Прежде всего, мы прикрутили к редактору работу с новыми возможностями EcmaScript 6 (2015), включая:


Также для упрощения навигации по коду мы добавили “navigation bar”, привычный для многих пользователей VS с другими языковыми предпочтениями:



Теперь вы можете легко перемещаться как по методам и свойствам в привычной для ES5 прототипной модели, так и в новой модели с классами.

Для создания документации многие разработчики используют JSDoc. В VS 2015 функция подсказок по коду (IntelliSense) теперь учитывает JSDoc-комментарии.



К слову, для TypeScript, как надмножество JS, вы также можете в дополнение к типизации добавлять описательную информацию о параметрах, используя JSDoc.

Если вы предпочитаете использовать комментарии в XML-стиле, то они по-прежнему поддерживаются.

Еще несколько приятных мелочей:
  • Свертывание кода. Мы добавили в редакторе поддержку свертывания и разворачивания кода для многострочных комментариев, массивов и всех многострочных блоков кода.
  • Списки задач. Вы можете использовать комментарии в стиле // TODO, // HACK, // UNDONE и отслеживать их в специальной панели со списком задач.



    Это поможет вам бороться со своими долгами в коде и потенциальными проблемами. Также вы можете добавлять свои теги.
  • Редактор JSON. Поддержка JSON-формата в VS 2015 теперь стала полноценной: мы поддерживаем проверку соответствия по JSON-схемам, включая связку с SchemaStore.org, и добавили подсказки по коду. Также для работы с пакетными менеджерами bower и npm мы включили подсказки для bower.json и package.json.



Поддержка AngularJS и ReactJS


В VS 2015 мы продолжаем развивать поддержку популярных сторонних библиотек. Для AngularJS мы добавили поддержку контроллеров, сервисов, фабрик и анимаций. Заодно мы включили поддержку директив и атрибутов, в том числе внутри HTML-редактора – с иконкой Angular, чтобы вы понимали, что используете функциональность из соответствующей библиотеки:



Еще мы немного поработали с ребятами из Facebook, чтобы убедиться, что мы реализуем хорошую поддержку их фреймворка ReactJS. Мы добавили поддержку ReactJS в редакторе, включая подсветку синтаксиса и подсказки по методам React.



TypeScript




VS 2015 включает новую версию TypeScript – TS1.5, который добавляет расширенную поддержку возможностей ECMAScript 6 (ES2015). В новой версии языка вас ждут обновления в работе с модулями (синтаксис ES2015), деструктурирование, вычисляемые свойства, строковые шаблоны, экспериментальную поддержку декораторов из ES7, UMD и другое.

Чтобы вам было легче управлять проектами, мы также добавили специальный конфигурационный файл tsconfig.json, в котором вы можете отмечать ts-файлы в своем проекте и настройки компилятора для них. Он уже поддерживается в VS Code, Sublime и Atom.

См. также краткий обзор TS 1.5 на Хабре.

Поддержка систем сборки и запуска задач для JavaScript


Следуя за современными подходами к управлению кодом, его сборкой и другими методиками, мы добавили в Visual Studio новую возможность для управления сборкой кода через Grunt и Gulp – Task Runner Explorer (открывается через комбинацию Ctrl-Alt-Backspace).



Для запуска любой из задач, определенных в вашем gruntgile.js или gulpfile.js, можно просто щелкнуть правой кнопкой мыши по имени задачи в левой панели и выбрать запуск из контекстного меню.

Также вы можете привязывать такие задачи к процессу сборки проекта внутри Visual Studio, например, таким событиям, как “After Build”.

Редактор HTML


В дополнение к поддержке таких популярных библиотек как Angular и React, мы также обновили поддержку отзывчивого фреймворка bootstrap (мы поставляли его вместе с шаблонами для ASP.NET) – теперь вы можете ожидать подсказки по классам с иконками, обозначающими, где вы используете CSS-классы от bootstrap:



Мы также продолжаем улучшать работу с HTML5 и последующими стандартами, в частности, мы начали добавлять поддержку развивающемуся стандарту веб-компонент – вы можете использовать в разметке атрибут import для link, чтобы импортировать фрагменты разметки.



Поддержка Apache Cordova




Как вы, наверняка, знаете, Visual Studio поддерживаем разработку приложений не только для Windows, но также и для Android и iOS. Для создания кросс-платформенных приложений вы можете использовать как C++ или Xamarin (C#), так и Apache Cordova, если пишите на JavaScript.

При установке VS, выбирая инструменты для кросс-платформенной разработки вы сразу можете получить вне необходимые зависимости, включая ADK, JDK, NDK и эмулятор для Android.



Что касается Apache Cordova, то основные новинки были доступны уже в RC-версии, включая:
  • Обновление Ripple при сохранении
  • Отладка iOS-версии приложения из VS при развертывании в симуляторе или подключенном через Mac устройстве
  • Отладка приложений для Windows Phone 8.1
  • Улучшенное управление плагинами, включая добавление из Git или файловой системы
  • Улучшения в дизайнере конфигурационного файла для выбора платформенно-зависимых настроек.

Мы также добавили CLI-интероперабельность. Cordova-проекты в VS теперь синхронизируются с изменениями, сделанными в файловой системе. Таким образом, вы можете спокойно использовать параллельно другие инструменты или работать из-под другой операционной системы.



Эмулятор для Android также обновился, теперь он включает образы Jellybean (API 17) и Lollipop 5.1 (API 22). Кстати, эмулятор теперь можно поставить без установки VS, а работать с ним – из командной строки.

Node.JS Tools для Visual Studio




В предварительной версии Node.JS Tools 1.1 RC для Visual Studio мы улучшили производительность, добавили менее ресурсоемкий “quick”-режим для подсказок по коду (фактически, в этом режиме ограничивается глубина дерева, чтобы не копать на лету весь «мир пакетов»).

Мы также добавили браузерный режим для работы с DOM – специально для тех, кому приходится работать как с серверным, так и клиентским кодом. Прямо из дерева проекта вы можете обозначить папку как контентную (браузерный код):



При открытии файлов вам будет открываться соответствующий редактор кода.

Заодно мы исправили множество проблем с отладкой кода, улучшили в целом опыт подключения отладчика и работы с отображением (маппингом) исходного кода. Для мокка-тестов мы обновили исходный тайм-аут до 2 секунд, так что теперь тесты должны выполняться быстрее. Для более тонкой настройки тестов вы можете использовать mocha.json –файл, в котором можете указать параметры запуска соответствующих тестов.



Чтобы помочь вам лучше разобраться в коде, мы также добавили команду открытия документации для изучения документации npm-пакетов.



Наконец, чтобы вам было еще проще развертывать ваши решения, мы добавили поддержку docker-шаблона.

UserVoice


Мы по-прежнему рады вашим новым идеям и пожеланиям. Вы их можете оставлять вот здесь: VS UserVoice по JavaScript.

Напомню, что редакция Visual Studio 2015 Community доступна бесплатно!

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


  1. alemiks
    22.07.2015 15:35

    всё круто, жаль только «Поддержка ReactJS» не работает с синтаксисом import из ES2015. А если файл с react-компонентом имеет расширение .js, то вообще не работает (


  1. SVVer
    22.07.2015 15:45

    Еще было бы здорово, если бы VS когда-нибудь получила intellisense при написании angular-выражений в html-шаблонах. Ну и рефакторинг соответственно.


    1. Apfel
      22.07.2015 16:21
      +3

      Было бы здорово, если бы VS получила нормальную поддержку IntelliSense для C++.
      Проткните меня, если это вдруг случится.


      1. return_true
        22.07.2015 18:41
        +1

        Можно попробовать ReSharper C++.


        1. slonopotamus
          22.07.2015 23:31
          +3

          Вы вот сами его пробовали? На всех хоть сколько-нибудь крупных проектах оно во-первых, тормозит, а во-вторых, выжирает все адресное пространство 32-битного процесса devenv.exe, в результате чего крашится вся студия.


          1. return_true
            23.07.2015 14:04

            Не, я .net разработчик. На C# проектах разного размера r# работает нормально.
            Могу лишь посоветовать репорить проблемы в JetBrains.


          1. vba
            23.07.2015 16:58

            Да и просто ReSharper на больших проектах сжирает всю память devenv.exe и приходится прибивать студию пару раз на дню.


  1. DenimTornado
    22.07.2015 17:06

    прошу прощения за оффтоп, а что за шрифт на первых скринах?


    1. return_true
      22.07.2015 17:32

      На стандартный Consolas похож.


      1. DenimTornado
        22.07.2015 18:04

        да, похож, только он у меня чего-то у на Win, и на Mac мыльно


        1. return_true
          22.07.2015 18:40

          возможно он мылится на retina дисплеях, не знаю.


  1. SerafimArts
    23.07.2015 01:29
    +3

    Я конечно не хочу никого обидеть, есть развитие, молодцы, но всё перечисленное выше (до последней строчки) есть в одной небезызвестной IDE уже сто лет как. В чём конкретно конкурентное преимущество, мне, как фронтэндеру у новой VS перед продуктами JB? Кто пользовался и тем и другим, могут пояснить, имеет ли смысл хотя бы пробовать(да, я понимаю что это из пушки по воробьям, там шарпец, дотнет и прочее)?


    1. Keeperovod
      23.07.2015 08:59
      +3

      Возможно, что с точки зрения фич особо преимущества и нет, но то, что есть в VS работает раз в 10 приятнее. Активно пользуюсь студией с 2005-й версии. Продуктами JB последние полтора года. Так вот, писать код в студии нереально комфортней. Ничего не тормозит, шрифты масштабируются под 4к без проблем, интеллисенс субъективно умнее. Для меня ощущение от студии, как от пользования хорошим профессиональным инструментом, пусть и с разумным минимумом функций. От JB инструментов, как от пылесоса с влажной уборкой и парогенератором. Сухую уборку делать можно, но неудобно таскать из-за габаритов и кучи ненужных функций, которые вообще не будешь использовать.

      Это все про js. Не знаю, как с поддержкой Java в IDEA, но после работы с C# в студии, на остальные IDE смотреть вообще не хочется. Просто разница лет в 10.

      Естественно все это имхо и не претендует на объективность.


  1. stationfuk
    23.07.2015 09:20
    -1

    Возможно ли начать использовать VS2015 в проекте, в то время, как у некоторых других участников стоит VS2012? С VS2013 проблем не возникает, не появятся ли?


    1. The_Floyd
      23.07.2015 11:19

      Если пишете на С++, то появятся.


      1. stationfuk
        23.07.2015 11:25

        C# (MVC 5)


        1. some_x
          28.07.2015 07:27

          1) Проекты должны создаваться в самой старой студии
          2) vs 2015 поддерживает C#6, соответственно вам нельзя будет на нём писать

          При выполнении этих условий должно работать. А вообще лучше всех мотивировать переходить на последнюю версию.


  1. kvaki
    23.07.2015 11:29
    -4

    А Microsoft все изобретает велосипеды