На Build 2018 мы анонсировали Visual Studio IntelliCode: набор AI-инструментов, которые способствуют более качественной разработке. В сотрудничестве с командой IntelliCode мы рады сообщить, что теперь IntelliCode доступен пользователям TypeScript/JavaScript через расширение IntelliCode для VS Code.
IntelliCode дополняет IntelliSense, рекомендуя часто используемые элементы завершения для текущего контекста в верхней части списка. Эти контекстуальные рекомендации основаны на общих методах, полученных в ходе обучения IntelliCode тысячами реальных проектов. Это экономит ваше время, помещая то, что вы, скорее всего, будете использовать, вверху списка: вам не придется искать в алфавитном порядке.
Установите расширение Visual Studio IntelliCode через магазинили установите его на вкладке «Расширения» в Visual Studio Code. Затем просто откройте файл TypeScript или JavaScript и начните редактирование. Вы начнете видеть рекомендации IntelliCode помеченными и поднятыми в начало вашего списка завершений.
IntelliCode изменит свои рекомендации в зависимости от контекста и отсортирует варианты по релевантности в данной конкретной ситуации. Например, если элемент, такой как map, используется в условном выражении или цикле, вы увидите методы, которые вы, скорее всего, использовали бы для создания условия. Если вы проверите завершения для map уже внутри условного выражения, вы увидите другой список предложений.
IntelliCode также поможет вам в различных библиотеках JavaScript, независимо от того, пишете ли вы код на стороне клиента с помощью таких библиотек, как React, Angular или Vue, или выполняете разработку на стороне сервера с помощью Node.js и Express.
IntelliCode пока находится в preview. Если вдруг вы найдете ошибку в расширении, мы будем очень рады, если вы расскажете нам о ней на GitHub.
Что такое 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.
Tankerxyz
Вот за это я последнее время и начинаю любить мелкомягких, сначала порадовали производительностью typescript в vscode, по сравнению с тем же webstorm, а теперь ещё и умные подсказки.
Молодцы, что ещё тут сказать.
RealEgo
Плюсую. Майкрософт всё больше располагает к себе. Есть конечно странные нововведения в C# 7-8, но никто не идеален.
some_x
Например?
RealEgo
Реализация метода в интерфейсе, экстеншены для всего и, возможно, Nullable Reference Types.
some_x
Да, реализация в интерфейсе это конечно что-то странное.
dimka11
Default Interface уже включены в язык?
RealEgo
Будут в C#8.
Mishkun
Чем плоха реализация метода в интерфейсе? Хорошо помогает обратно совместимо расширить интерфейс. Да и нуллабельные типы — это же заплатка на Billion Dollar Mistake
RealEgo
Ничем не плоха технически, только «идеологически», интерфейс это всё-таки абстракция и реализация в нем метода не ООПешненько. Про нуллабельные типы я сам сомневаюсь, но я бы предпочел всегда иметь какое-нибудь значение по умолчанию вместо null.
funca
OOP появилось как чисто утилитарное решение для реиспользования кода вместо копипаста. Всякие идеологические основания это творчество более поздних теоретиков. И если судить по практике, ничего особо толкового, что стоило бы принимать за догму, у них пока не вышло.
vintage
Насколько я понимаю такие реализации имеют доступ лишь к публичному интерфейсу, то есть по факту являются типажами.
jt3k
А накануне они ещё и присоединились к инициативе по защите Linux от патентных претензий.
Похоже кто-то в руководстве решил отмыть репутацию микрасофта накопленую за долгие годы стратегии ЕЕЕ. Хотя возможно это очередной виток ЕЕЕ