我的项目设置是这样的
project/
|
+---src/
| |
| +---app/
| |
| sample.ts
|
+---typings/
+---tsconfig.json
这是我的tsconfig.json
{
"compilerOptions": {
"rootDir": "src",
"target": "es5",
"module": "commonjs",
"moduleResolution": "node",
"emitDecoratorMetadata": true,
"experimentalDecorators": true,
"removeComments": true,
"sourceMap": true,
"noImplicitAny": false,
"outDir": "dist"
},
"exclude": [
"node_modules",
"src/assets",
"src/lib"
]
}
我想知道的是,为什么VSC会指示以下错误
显然没有任何错误("experimentalDecorators": true
设置在tsconfig.json
中),应用程序运行良好?而且它不仅仅是装饰器,Promise
等也被突出显示(我确保tsconfig.json
与typings
在同一个文件夹中,我安装了es6-shim
的类型)。
不知道这是否重要,但我现在在typescript@2.0.0-dev.20160707
上。
7条答案
按热度按时间qlvxas9a1#
简短回答
当您使用的TypeScript版本比VS Code提供的现成版本更新时,VS Code将忽略您的
tsconfig.json
。您使用的是TypeScript
2.0.0-dev.20160707
,所以这可能就是正在发生的事情。如何在VS代码中使用较新版本的TypeScript
首先,将TypeScript安装到您的
node_modules
中。选择稳定或每晚。其次,将得到的
lib
相对路径添加到您的settings.json
中,即在VS Code中通过File〉Settings〉User Settings打开settings.json
,并添加以下属性。注意,如果您全局安装了TypeScript(
-g
),而不是安装到项目的node_modules
中,请适当调整typescript.tsdk
位置。第三个,确保您有一个有效的
tsconfig.json
。下面是一个示例。文件
VS代码随附了一个最新稳定版本的TypeScript。**如果要使用较新版本的TypeScript,**可以定义typescript.tsdk设置(文件〉首选项〉用户/工作区设置)指向包含TypeScript tsserver.js和相应lib.*.d.ts文件的目录。目录路径可以是绝对路径,也可以是相对于工作区目录的相对路径。通过使用相对路径,你可以很容易地与你的团队共享这个工作区设置,并使用最新的TypeScript版本(npm install typescript@next)。2参考这个博客文章来获得更多关于如何安装夜间版本的TypeScript的细节。
另请参阅:https://blogs.msdn.microsoft.com/typescript/2016/01/28/announcing-typescript-1-8-beta/
qzwqbdag2#
在我的例子中,问题是我正在编辑的
.ts
文件没有包含在tsconfig.json
中。我添加了一个新的
scripts/build.ts
文件,在tsconfig.json
中我有:不得不补充:
ozxc1zmp3#
找到
npm
安装到的文件夹typescript
,在我的例子中是:除其他文件外,还应包括:
内。现在打开设置:
这将打开一个文件
settings.json
,添加:(mind双反斜杠
\\
),保存并-重要的是-重新启动Visual Studio代码。kg7wmglp4#
在我的例子中,问题是我的tsconfig.json放错了地方。它在
.vscode
文件夹中,但它应该在上一级。当我点击右下角的Typescript版本时,我注意到了这一点,VSCode菜单告诉我没有找到tsconfig文件,并提示我创建一个。
o3imoua45#
我面临着同样的错误,对我来说,问题是与
"include": [...]
选项,这是设置不正确.(是不是涵盖所有的文件在src
文件夹)ocebsuys6#
确保你的项目中没有
jsconfig.json
文件或者其他覆盖配置文件。这就解决了我的问题!oyjwcjzk7#
有一个技巧你可能注意到了,也可能没有注意到,当你改变tsconfig时,VS Code无法识别它,你必须重新启动TypeScript Server。
我在将7个React应用合并到Turborepomonorepos时遇到了类似的情况,我对
tsconfig/.eslintrc
无法实时反映我对它们所做的更改感到困扰,因此我构建了这个小扩展来监控这些配置文件和自动重启TypeScript / ESLint服务器。希望它能有所帮助。VS代码扩展名:
https://marketplace.visualstudio.com/items?itemName=neotan.vscode-auto-restart-typescript-eslint-servers