Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/visual-studio-code/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Visual studio code 理解vscode波形线的来源_Visual Studio Code - Fatal编程技术网

Visual studio code 理解vscode波形线的来源

Visual studio code 理解vscode波形线的来源,visual-studio-code,Visual Studio Code,我打开了一个带有ES7属性初始值设定项的js文件,看到了一行扭曲的线条: class AppContainer extends Component { static propTypes = { history: PropTypes.object.isRequired, routes: PropTypes.object.isRequired, store: PropTypes.object.isRequired } 错误显示: [js] 'property decla

我打开了一个带有ES7属性初始值设定项的js文件,看到了一行扭曲的线条:

class AppContainer extends Component {
  static propTypes = {
    history: PropTypes.object.isRequired,
    routes: PropTypes.object.isRequired,
    store: PropTypes.object.isRequired
}
错误显示:

[js] 'property declarations' can only be used in a .ts file.
当然,我很好奇如何解决这个问题。但我更好奇的是,如何调试导致此错误的原因是什么?对于某些编辑器来说,这是一个更令人沮丧的部分,因为他们理解是什么决定了您的代码是错误的

它是VS还是插件?林特?编译程序

我确实看到了,但这似乎只适用于es6。 还有关于eslint插件,而不是核心vs代码

至于修复它,我确实找到了一些关于
jsconfig.json
的建议,并尝试将编译器选项设置为目标es7(不需要)。看起来您添加了特定的eslint设置,但再说一次,谁赢了?门楣?内部编译器

因此,有两个问题:

  • 您如何知道哪个扩展触发了错误(vscode、linter、jsx等)
  • 我怎么修这个

  • 谢谢

    这是一个很好的问题

    对于某些编辑器来说,这是一个更令人沮丧的部分,因为他们理解是什么决定了您的代码是错误的

    我希望我能帮忙。(免责声明我在VS代码团队工作)

  • 您如何知道哪个扩展触发了错误(vscode、linter、jsx等)
  • linting标识符位于
    [
    ]
    中,在您的示例中,
    js
    用于标识VS代码中内置的JavaScript语言服务

    语言服务(代码在构建时命名)提供JavaScript和TypeScript语言服务功能,包括linting。这就是为什么错误错误地声明“'property declarations'只能在.ts文件中使用。”

    对于eslint错误,您将在错误消息的前缀中看到
    [eslint]

  • 我怎么修这个
  • 首先,您需要使用VS代码1.6附带的最新稳定的TypeScript版本。要升级到TypeScript 2.0,请参见以下内容(总结如下)

    将其添加到设置文件中(假设这是指向
    tsserver.js
    的正确路径)

    为此,将其添加到
    jsconfig.json
    文件中

    {
      "compilerOptions": {
            "experimentalDecorators": true
       }
    }
    

    这应该能解决你的问题

    可能是第二部分的复制品。我更好奇的是如何发现错误来自何处(哪个模块/扩展)。例如,如果核心引擎说这是一个错误,但林特说不,谁赢了?
    {
       "typescript.tsdk": "node_modules/typescript/lib"
    }
    
    {
      "compilerOptions": {
            "experimentalDecorators": true
       }
    }