VSCode Intellisense TypeScript:排除路径中引用的路径

kna*_*sch 8 intellisense path typescript visual-studio-code

我开发一个 Angular 应用程序,其中一些代码被分组到它们自己的 (npm) 项目中,以便其他应用程序可以引用它们。

当我在文件夹中编写代码时app,VSCode 的 Intellisense 建议使用以下自动导入路径,这两个路径都有效:

import 'FooComponent' from module "../../../projects/company/shared/src/foo/foo.component";
import 'FooComponent' from module "@company/shared";
Run Code Online (Sandbox Code Playgroud)

我的目标是使"@company/shared"导入成为默认选择。如果能完全隐藏相对路径就更好了。到目前为止我已经尝试过了:

  1. typescript.preferences.importModuleSpecifier: non-relative
  2. typescript.preferences.importModuleSpecifierEnding: minimal
  3. 指定路径后排除 tsconfig.json 中的目录。

到目前为止,这些都没有解决我的问题。

我有一个与此类似的 Angular 项目结构:

ApplicationName
  - dist
  - e2e
  - node_modules
  - projects
    - company
      - domain
      - shared
  - src
    - app
  tsconfig.json
Run Code Online (Sandbox Code Playgroud)

在 中tsconfig.json,我shared在以下位置引用了该项目paths

{ 
  "compilerOptions": {
    // standard stuff
    "baseUrl": "src",
    "paths": {
      @company/domain: [
        ../projects/company/domain/src/public-api
      ],
      @company/shared: [
        ../projects/company/shared/src/public-api
      ]
    },
    "exclude": [
      "./dist/**,",
      "**/projects/company"
    ]
}
Run Code Online (Sandbox Code Playgroud)

有没有办法隐藏长"../../../projects/company/shared/src/foo/foo.component"导入建议?当存在多个自动完成建议时,它会占用默认值并增加噪音foo

hug*_*anc 1

就我而言,我必须删除所有打字稿导入扩展(自动导入、打字稿英雄、打字稿导入程序),然后将我的:typescript.preferences.importModuleSpecifier从相对更改为项目相对。