我希望我的打字稿测试在test
文件夹与src
相邻的情况下能够接收棉绒,代码完成和vscode智能感知(ts语言功能)。构建我的打字稿项目时,我不希望测试转换。
我的打字稿节点项目的结构如下:
.
├── server
│ │
│ │
│ ├── src
│ │ │
│ │ └── app.ts
│ ├── test
│ │ │
│ │ └── app.test.ts
│ ├── node_modules/
│ ├── package-lock.json
│ ├── package.json
│ ├── tslint.json
│ └── tsconfig.json
├── front_end/
└── README.md
使用我的tsconfig:
{
"compilerOptions": {
"baseUrl": ".",
"module": "commonjs",
"moduleResolution": "node",
"outDir": "dist",
"sourceMap": true,
"strict": true,
"target": "ESNext",
"paths": {
"*": ["node_modules/*"]
}
},
"include": ["src/**/*"]
}
[当我在vscode中导航至测试文件时,vscode语言功能将无法识别在node_modules中安装的类型和软件包。令人惊讶的是,如果我仅在服务器文件夹中打开vscode(如您从我的文件夹结构中看到的服务器不是根),则语言功能正常运行。
测试使用ts-jest
运行,因此此处不需要tsc
。将tsconfig.json
扩展为测试be是更好的做法吗?
是可以在设置中解决的问题,还是应该向https://github.com/microsoft/vscode/issues/new/choose提交错误。
我没有计算机对此进行测试,但是我认为您只需要在ts json文件中添加以下代码。
"exclude": [
"node_modules",
"**/*.test.ts"
]
如果不使用节点,则可以省略node_modules部分。但是我想在答案中使用它,以防正在使用节点的人复制排除项。默认情况下,不包括node_modules,但是添加更多的修饰符可能会覆盖掉它。
祝你好运。
希望这就是您想要的。