Typescript 包含和文件路径 VS Code 识别

Typescript include and file path VS Code recognition

我一直在努力将我的 tsconfig 文件包含到 VS Code 中。 虽然我的代码编译得很好,但我经常收到 VS Code 报告的错误,因为 VS Code 没有将 tsconfig 文件关联到当前的 ts 文件。

我通过执行以下命令检查我的 main.ts 文件是否与 VS Code 中的任何 tsconfig 相关联:

TypeScript: Go to Project Configuration

我收到一条错误消息(请参阅下面的 link),告诉我没有找到 tsconfig。 您还可以在 linked 图像中看到文件夹结构。

为了简要概述,结构如下所示:

root
`-- development
    `--client
       |
       |--code
       |    |--.. various
       |    `-- main.ts
       |
       `--config
            |--.. various
            `--tsconfig.json

我的 tsconfig.json 看起来像这样:

{
  "compilerOptions": {
    "module": "es2015",
    "target": "es2017",
    "moduleResolution": "node",
    "sourceMap": true,
    "noImplicitAny": false,
    "allowSyntheticDefaultImports": true,
    "jsx": "react"
  },
  "include": [
    "./../code/**/*"
  ],
  "files": [
    "./../code/main.ts"
  ]
}

VS Code Screenshot

tsconfig.json 移动到项目的根目录,并相应地更改路径:

{
  "compilerOptions": {
    "module": "es2015",
    "target": "es2017",
    "moduleResolution": "node",
    "sourceMap": true,
    "noImplicitAny": false,
    "allowSyntheticDefaultImports": true,
    "jsx": "react"
  },
  "include": [
    "development/client/code/**/*"
  ],
  "files": [
    "development/client/code/main.ts"
  ]
}

看来VSCode从ts文件中查找一个tsconfig(https://github.com/Microsoft/vscode/issues/3772#issuecomment-329126952)

如果您将客户端 tsconfig 向上移动一个目录,它应该可以工作。

root
`-- development
    `--client
       |--tsconfig.json
       |
       |--code
       |    |--.. various
       |    `-- main.ts
       |
       `--config
            `--.. various

如评论所述,您可能希望将 tsconfig.base.json 添加到 root 文件夹并将其包含在每个 tsconfig.json 中,以便您可以进行一些 common/default 设置.