VSCode IntelliSense не предлагает угловые модули, пока они не будут импортированы вручную в проект - PullRequest
0 голосов
/ 10 марта 2019

Прежде всего, вы должны понимать, что я переключаюсь с IntelliJ на VSCode (возможно, мне было слишком комфортно, когда IntelliJ искал модули).

В основном я буду использовать VSCode для разработки приложения Angular, сгенерированногоУгловой CLI.

Начиная с нового приложения, созданного с помощью CLI, откройте проект в новой установке VSCode (удалили настройки и все расширения). Я понял, что мне нужно вручную импортировать любые модули Angular, прежде чем VSCode IntelliSense узнает о них.

Пример. Допустим, мне нужно создать 2 службы Angular.Оба требуют HttpClient для получения данных.На первом я изменяю свойства конструктора, чтобы внедрить его.При нажатии ярлыка быстрого исправления (CTRL +.) Я получаю только одно предложение - импортировать HttpClient из selenium-webdriver.

enter image description here

Еще в первом сервисе я добавил импорт Angular HttpClient вручную:

import { HttpClient } from '@angular/common/http';

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

enter image description here

Это то, чтоожидаемое поведение или я что-то не так понял?Уже пробовал это на 3 разных системах и тот же результат.Я ожидал, что IntelliSense немного удалится из-за контекста HttpClient.

Это то же самое для любых модулей, то есть вам нужно один раз вручную импортировать, прежде чем VSCode узнает об этом.

1 Ответ

0 голосов
/ 10 марта 2019

Да, вы правы, я сталкивался с этим много раз во время создания демонстраций для мастерских.Проблема была в том, что Autoimport подключаемого модуля Visual Studio импортировал HttpClient класс из

'../../node_modules/@types/selenium-webdriver/http'

вместо

'../../node_modules/@angular/common/http'
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...