Vscode-ng-language-service: Дорожная карта Angular Language Service

Созданный на 30 мая 2019  ·  20Комментарии  ·  Источник: angular/vscode-ng-language-service

Прошло больше года с тех пор , как
Теперь, когда выпущена версия 8, мы хотели бы предоставить некоторые обновления и план развития языковой службы.

  1. Стабильность / производительность ✔️ готово!
    Нашей первоочередной задачей является обеспечение того, чтобы работа языковой службы не ухудшилась. Мы продолжим заниматься проблемами стабильности, если таковые имеются.

  2. Переход на плагин tsserver ✔️ готов!
    В ближайшие месяцы мы возьмем на себя оставшуюся работу, необходимую для перехода на модель плагина tsserver. Основными преимуществами плагина tsserver являются производительность (отсутствие дублирующей компиляции TS) и отсутствие несоответствия версий (как Angular, так и TS). Большая часть работы заключается в том, чтобы убедиться, что внешние шаблоны HTML хорошо поддерживаются.
    Обновление 11/11/2019: мы продолжим поддерживать режим плагинов, но решили сохранить автономное расширение. Расширение было полностью переработано с учетом проблем с производительностью, и было добавлено множество функций. Новая версия была опубликована на торговой площадке вместе с выпуском Angular версии 9.

  3. Исправлены ошибки / улучшения ✔️ готово!
    Как только плагин будет готов, мы исправим некоторые давние ошибки в отношении проверки типов шаблонов и некоторые столь востребованные улучшения функций.

  4. Переключить языковую службу на компилятор Ivy ✔️ готово!
    Поскольку модель компиляции в Ivy значительно отличается от модели компиляции в View Engine, серверную часть языковой службы необходимо будет обновить, чтобы обеспечить совместимость в будущем.

Благодарим вас за отзывы и дайте нам знать, если вы хотите внести свой вклад!

Самый полезный комментарий

Последнее обновление: языковая служба Ivy будет доступна для бета-тестирования в версии 11. Релиз в настоящее время запланирован на 11 ноября 2020 г. Мы стремимся повысить производительность и предоставить более широкий набор функций в этой совершенно новой итерации языковой службы. Среди новых функций:

  1. Улучшенный набор текста в шаблонах Angular
  2. Производить такую ​​же диагностику, что и компилятор
  3. Честь пользователя angularCompilerOptions

Мы знаем, что это было давно, но спасибо за поддержку и терпение!

Все 20 Комментарий

Ну, просто чтобы связать это здесь, у меня есть две хорошо описанные проблемы / ошибки с высокой производительностью:

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

Новая версия расширения Angular опубликована на GitHub в качестве предварительного просмотра, см. Https://github.com/angular/vscode-ng-language-service/releases/tag/v0.900.0-next.0.

Если вы попробуете, сообщите нам о любых проблемах / ошибках. Спасибо!

@kyliau : Я бы хотел попробовать интегрированную новую

@kyliau Я выполнил инструкции по установке v0.900.0-next.0, однако нет никаких предложений автозаполнения для чего-либо (например, селекторов компонентов, свойств, событий и т. д.).

Я рад сообщить, что выпущена версия RC, и через несколько недель на рынке vscode будет опубликовано новое расширение.
А пока, если вы хотите попробовать, загрузите двоичный файл со страницы выпуска .
В настоящее время мы сосредоточены на рабочем элементе (3), в котором мы исправим некоторые давние ошибки.

Новое расширение уже запущено. Загрузите его с https://marketplace.visualstudio.com/items?itemName=Angular.ng-template.

У меня вопрос по пункту 4 «Переключить языковую службу на компилятор Ivy [в процессе]»

У нас есть собственная внутренняя библиотека, которая используется только в приложениях, которые мы разрабатываем сами. Поэтому мы перенесли его на Ivy, потому что вся наша кодовая база была перенесена сразу. Но теперь vscode больше не распознает директивы и компоненты из библиотеки.

Это означает, что на данный момент лучше всего будет скомпилировать библиотеку с помощью View Engine, пока языковая служба полностью не будет поддерживать Ivy. Это верно? Если да, то есть ли план, когда будет оказана поддержка языковой службе?

Приложения, использующие компилятор ivy, не имеют проблем. Компоненты из приложений разрешены правильно.

@furti Как вы отметили, да, на данный момент библиотеки и приложения должны быть скомпилированы с помощью View Engine, чтобы языковая служба могла получить соответствующий metadata.json который сегодня является основой языковой службы.
@xiaoxiangmoe Я работаю с командой компиляторов, чтобы полностью интегрировать Ivy в языковую службу. В настоящее время мы планируем выпустить бета-версию версии 10, которая должна произойти примерно в конце июня / начале июля, без каких-либо сюрпризов. Наше планирование было несколько нарушено из-за продолжающейся ситуации с WFH, но мы постараемся изо всех сил придерживаться исходной дорожной карты.

Приятно видеть, что angular выпустила v10 🎉
Есть ли обновление для «Переключить языковую службу на компилятор Ivy»?

@xiaoxiangmoe Сроки для языковой службы Ivy
Работа уже началась, и мы приняли на работу несколько участников, чтобы ускорить работу над этим проектом.
Вы можете отслеживать ход всего проекта здесь .
Мы планируем выпустить Ivy LS вместе с существующим LS, чтобы пользователи, желающие опробовать «ранний предварительный просмотр», могли сделать это в настройках своего редактора. Пожалуйста, не переключайтесь!

Я думаю, что производительность еще не закончена. Это расширение было самым большим источником резких скачков ЦП для меня и многих других людей, которых я знаю в течение долгого времени, и в последнее время сводит с ума поклонников macOS.

Да, я согласен с @DenysVuika. У меня были проблемы с этим плагином несколько месяцев. Вчера забросил и отключил. После запуска веб-сервера vscode и ng процессор в какой-то момент взлетит до небес и останется там, пока я не перезапущу vscode. Intellisense перестанет работать несколько раз в день. Я вынужден перезапускать vscode каждый день по несколько раз. Поскольку я отключил его, все вернулось в норму. Я тоже использую macOS. Вот небольшая контекстная информация:

Угловой интерфейс командной строки: 10.0.1
Узел: 12.13.0
ОС: darwin x64

Угловой: 10.0.2
... анимации, общие, компилятор, компилятор-cli, ядро, формы
... платформа-браузер, платформа-браузер-динамическая, маршрутизатор
Рабочее пространство Плюща: Да

Версия пакета

@ angular-devkit / архитектор 0.1000.1
@ angular-devkit / сборка-угловой 0.1000.1
@ angular-devkit / оптимизатор сборки 0.1000.1
@ angular-devkit / сборка-webpack 0.1000.1
@ angular-devkit / ядро ​​10.0.1
@ angular-devkit / схемы 10.0.1
@ угловой / cdk 10.0.1
@ угловой / cli 10.0.1
@ угловой / материал 10.0.1
@ ngtools / webpack 10.0.1
@ schematics / angular 10.0.1
@ schematics / update 0.1000.1
rxjs 6.6.0
машинописный текст 3.9.6
webpack 4.43.0

В моем текущем проекте Angular 10 с использованием Version: 1.48.0-insider у меня больше нет Angular Intellisense в моих HTML-шаблонах и какой-либо проверки ошибок (например, если я привязан к несуществующей переменной).

Последнее обновление: языковая служба Ivy будет доступна для бета-тестирования в версии 11. Релиз в настоящее время запланирован на 11 ноября 2020 г. Мы стремимся повысить производительность и предоставить более широкий набор функций в этой совершенно новой итерации языковой службы. Среди новых функций:

  1. Улучшенный набор текста в шаблонах Angular
  2. Производить такую ​​же диагностику, что и компилятор
  3. Честь пользователя angularCompilerOptions

Мы знаем, что это было давно, но спасибо за поддержку и терпение!

@kyliau Будет ли это выпущено с angular v11.0.0-rc.2 или v11.0.0-rc.3?

@kyliau Будет ли это выпущено с angular v11.0.0-rc.2 или v11.0.0-rc.3?

Языковая служба https://github.com/angular/vscode-ng-language-service/releases/tag/v0.1100.0-rc.0 и установить .vsix файл вручную.

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

@kyliau Когда можно ожидать расследования ошибок, обнаруженных в службе Ivy Language?
Открыт https://github.com/angular/vscode-ng-language-service/issues/936

@kyliau Будет ли это выпущено с angular v11.0.0-rc.2 или v11.0.0-rc.3?

Языковая служба https://github.com/angular/vscode-ng-language-service/releases/tag/v0.1100.0-rc.0 и установить .vsix файл вручную.

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

Как правильно активировать службу Ivy Language Service? Я уже установил для этого экспериментального параметра значение true, но он не может запустить ngcc. Я пробовал запустить его вручную прямо раньше, но это не работает. Есть ли какой-нибудь очевидный шаг, который я не делаю?

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

@Arkthur Это мой angularCompilerOptions :

{
    "angularCompilerOptions": {
        "fullTemplateTypeCheck": true,
        "strictInjectionParameters": true,
        "strictInputAccessModifiers": true,
        "strictTemplates": true
    }
}

Кроме того, если вы используете vscode-ng-language-service v0.1100.1 или v0.1100.3, переустановите v0.1100.0. Похоже, что vscode-ng-language-service v0.1100.1 содержит серьезные ошибки, и языковая служба ivy работать не будет.

Работа велась долго, но сегодня сервис на родном языке Ivy, наконец, доступен для тестирования в версии 11.1.0!
Встроенный в Ivy LS исправляет многие фундаментальные проблемы, которые невозможно исправить в View Engine:

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

Он также вводит некоторые новые функции, такие как поиск ссылок на переменные в шаблонах.

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

Была ли эта страница полезной?
0 / 5 - 0 рейтинги