На Build 2018 мы анонсировали Visual Studio IntelliCode: набор AI-инструментов, которые способствуют более качественной разработке. В сотрудничестве с командой IntelliCode мы рады сообщить, что теперь IntelliCode доступен пользователям TypeScript/JavaScript через расширение IntelliCode для VS Code.



Что такое IntelliCode?


IntelliCode дополняет IntelliSense, рекомендуя часто используемые элементы завершения для текущего контекста в верхней части списка. Эти контекстуальные рекомендации основаны на общих методах, полученных в ходе обучения IntelliCode тысячами реальных проектов. Это экономит ваше время, помещая то, что вы, скорее всего, будете использовать, вверху списка: вам не придется искать в алфавитном порядке.

Как это работает для TypeScript/JavaScript?


Установите расширение Visual Studio IntelliCode через магазинили установите его на вкладке «Расширения» в Visual Studio Code. Затем просто откройте файл TypeScript или JavaScript и начните редактирование. Вы начнете видеть рекомендации IntelliCode помеченными и поднятыми в начало вашего списка завершений.



IntelliCode изменит свои рекомендации в зависимости от контекста и отсортирует варианты по релевантности в данной конкретной ситуации. Например, если элемент, такой как map, используется в условном выражении или цикле, вы увидите методы, которые вы, скорее всего, использовали бы для создания условия. Если вы проверите завершения для map уже внутри условного выражения, вы увидите другой список предложений.



IntelliCode также поможет вам в различных библиотеках JavaScript, независимо от того, пишете ли вы код на стороне клиента с помощью таких библиотек, как React, Angular или Vue, или выполняете разработку на стороне сервера с помощью Node.js и Express.



Как сообщать об ошибках и проблемах?


IntelliCode пока находится в preview. Если вдруг вы найдете ошибку в расширении, мы будем очень рады, если вы расскажете нам о ней на GitHub.

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


  1. Tankerxyz
    13.12.2018 11:38
    +2

    Вот за это я последнее время и начинаю любить мелкомягких, сначала порадовали производительностью typescript в vscode, по сравнению с тем же webstorm, а теперь ещё и умные подсказки.
    Молодцы, что ещё тут сказать.


    1. RealEgo
      13.12.2018 12:00
      +1

      Плюсую. Майкрософт всё больше располагает к себе. Есть конечно странные нововведения в C# 7-8, но никто не идеален.


      1. some_x
        13.12.2018 13:04

        Есть конечно странные нововведения в C# 7-8

        Например?


        1. RealEgo
          13.12.2018 13:29

          Реализация метода в интерфейсе, экстеншены для всего и, возможно, Nullable Reference Types.


          1. some_x
            13.12.2018 13:57

            Да, реализация в интерфейсе это конечно что-то странное.


          1. dimka11
            13.12.2018 14:49

            Default Interface уже включены в язык?


            1. RealEgo
              13.12.2018 15:12

              Будут в C#8.


          1. Mishkun
            13.12.2018 17:21
            +1

            Чем плоха реализация метода в интерфейсе? Хорошо помогает обратно совместимо расширить интерфейс. Да и нуллабельные типы — это же заплатка на Billion Dollar Mistake


            1. RealEgo
              13.12.2018 18:18

              Ничем не плоха технически, только «идеологически», интерфейс это всё-таки абстракция и реализация в нем метода не ООПешненько. Про нуллабельные типы я сам сомневаюсь, но я бы предпочел всегда иметь какое-нибудь значение по умолчанию вместо null.


              1. funca
                13.12.2018 23:25
                +4

                OOP появилось как чисто утилитарное решение для реиспользования кода вместо копипаста. Всякие идеологические основания это творчество более поздних теоретиков. И если судить по практике, ничего особо толкового, что стоило бы принимать за догму, у них пока не вышло.


              1. vintage
                14.12.2018 07:03

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


    1. jt3k
      14.12.2018 11:41

      А накануне они ещё и присоединились к инициативе по защите Linux от патентных претензий.


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