vscode autoimport создает путь к файлу, который, как жалуется typescript, не существует

#typescript #visual-studio-code #import #alias

Вопрос:

Я использую псевдонимы машинописного текста, чтобы сократить путь к импорту модулей из моего проекта. Часто, если я использую автозаполнение, vscode поможет найти импорт и автоматически импортировать его. Или, если я перемещу файл, vscode попытается помочь переписать пути импорта на основе моего tsconfig. Но происходит что-то странное. Часто я получаю автоимпорт, который выглядит так:

 import { Actions } from "@src/devices/device_list/store/page/actions";
 

Но затем машинопись жалуется, что Module not found: Can't resolve '@src/devices/device_list/store/page/actions' in '/Users/me/Desktop/web-dev/company/project/src/devices/device_list/elements/device_dialogs'

Когда я изменю импорт вручную на этот:

 import { Actions } from "@device_list/store/page/actions";
 

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

 {
  "compilerOptions": {
    "baseUrl": "./src",
    "paths": {
      "@src/*": ["*"],
      "@devices/*": ["devices/*"],
      "@device_list/*": ["devices/device_list/*"],
      "...": "... more paths"
    }
  }
}
 

Причина, по которой я установил baseUrl ./src значение «равно», заключается в том, что мне нужен способ псевдонима импорта из src папки. Разве это неправильно? Мой vscode записывает пути автоимпорта на основе моего tsconfig, который затем в машинописном тексте говорится, что он не может разрешить?