VSCode:是否可以抑制实验装饰器警告

bin*_*les 35 typescript1.5 visual-studio-code

在VSCode中,我收到错误:

"对装饰器的实验性支持是一个在将来版本中可能会发生变化的功能.请指定'--experimentalDecorators'来删除此警告."

我可以将--experimentalDecorators标志添加到我的tasks.json文件中以在构建时删除此错误,但是当我加载VSCode时,我似乎无法从我的intellisense或错误列表中删除它.有没有办法做到这一点?

Fel*_*ipe 43

我有同样的错误.我将以下tsconfig.json文件添加到我的项目根目录,重新启动了VSCode,它最终消失了:

{
    "compilerOptions": {
        "emitDecoratorMetadata": true,
        "experimentalDecorators": true,
        "module": "amd",
        "target": "ES6" 
    }
}
Run Code Online (Sandbox Code Playgroud)

更新:

我注意到,在tsconfig.json中添加"files"数组之前,有时VS Code不会禁止此警告,即使是空数据也可以.对我而言,现在每次都有效,如果消息没有消失,请尝试以下方法:

{
    "compilerOptions": {
        ... 
    },
    "files": [],
    "exclude": [
        "node_modules"
    ]
}
Run Code Online (Sandbox Code Playgroud)

或许这可以解释为什么每个人都有不同的结果

  • 我正在使用VS Code 1.3.1,并且将`experimentalDecorators:true`添加到`tsconfig.json`仍然没有摆脱这个错误.我正在使用typescript v1.8.10.其他差异是`module:commonjs`和`target:es5`.有任何想法吗? (9认同)
  • 该文件不应该被称为jsconfig.json而不是tsconfig.json吗?我只与JS合作而不是TS. (7认同)
  • 无法使用`tsconfig.json`和`jsconfig.json` ...(v0.10.11 linux-x64) (5认同)
  • 对我来说,它改变了"目标":"es5"`到"目标":"ES6"`解决了这个问题. (3认同)
  • 无论我给出什么样的设置,它都没有.不得不去@Wosi方式 (2认同)

Per*_*eck 29

默认情况下,VSC会查看自己的TS库和定义.如果您使用的是其他版本(很可能),则应指向VSC以查找该版本的定义.

在我的settings.json文件中,我有以下设置:

// Place your settings in this file to overwrite default and user settings.
{
    "typescript.tsdk": "node_modules\\typescript\\lib"

}
Run Code Online (Sandbox Code Playgroud)

我相信您可以为"用户设置"或"工作区设置"设置此项.因此,您可以在"用户设置"中进行一次性配置,或仅为一个项目/工作区进行一次性配置 如果您在指定的文件夹中本地安装了您的打字稿 - 我认为这是默认节点模块文件夹,则此方法有效.

要编辑您的设置,请转到File/Preferences/User SettingFile/Preference/Workspace Settings.

更新:Visual Studio Code刚刚发布了一个新版本,更好地支持了不同版本的打字稿.请在此处查看:https://code.visualstudio.com/updates#_languages

  • 这很棒!如果您使用webpack遇到此问题w/angular-cli,请尝试一下.angular-cli在本地使用TypeScript 2.0.在项目的根目录中创建.vscode目录,并使用此代码段添加settings.json文件. (3认同)

Man*_*aul 14

我要在vscode的settings.json文件中添加以下内容以删除警告.

"javascript.implicitProjectConfig.experimentalDecorators": true

VSCode - >首选项 - >设置

在此输入图像描述


Wos*_*osi 12

你可以通过删除创建错误的行来做到这一点%code%\resources\app\plugins\vs.language.typescript\lib\tsserver.lib.

查找以下代码并将其删除

            if (!compilerOptions.experimentalDecorators) {
              error(node, ts.Diagnostics.Experimental_support_for_decorators_is_a_feature_that_is_subject_to_change_in_a_future_release_Specify_experimentalDecorators_to_remove_this_warning);
            }
Run Code Online (Sandbox Code Playgroud)

  • 我也使用非Visual Studio应用程序(javascript中的角度应用程序)收到此错误.在这种情况下,要修复的文件是:`node_modules/typescript/lib/tsserver.js` (2认同)

Syd*_*ell 6

在两个不同的Angular 2最终发布项目中苦苦挣扎,这是我的解决方案.

tsconfig.jsonSRC折.

{
    "compilerOptions": {

        "experimentalDecorators": true

    }
} 
Run Code Online (Sandbox Code Playgroud)

将此设置添加到文件 - >首选项 - >用户设置

"typescript.tsdk": "node_modules\\typescript\\lib"
Run Code Online (Sandbox Code Playgroud)

  • 只有在互联网上的所有解决方案中对我有用的东西,但我必须将它添加到settings.json,可以从工作区设置打开 (2认同)

bvd*_*vdb 5

正如其他答案所指出的,您的Visual Studio代码需要找到该tsconfig.json文件.

我有同样的问题.而这主要是因为我没有意识到项目结构.

(提示:请阅读下图中从上到下的文字).

解

  1. 我把它弄糊涂tsconfig.jsontsconfig.app.json.
  2. 我在Visual Studio中打开了错误的文件夹.结果,tsconfig.json不在范围内.

只需打开正确的根文件夹(即项目文件夹,比src.更高一级)解决了我的问题.