我面临一个奇怪的问题。从昨天开始,我的设置就在一个更大的rails、react和typescript项目中完美地工作。
今天早上,当我打开编辑器时,vs代码突然被破坏了。我现在犯了错误
[ts] Cannot use JSX unless the '--jsx' flag is provided
在我所有的.tsx文件中。更令人惊讶的是,编译仍然可以正常工作。
这似乎与我突然收到的警告一致:Version mismatch! global tsc (2.0.7) != VS Code's language service (2.0.6). Inconsistent compile errors might occur
我的目录结构是rails项目的目录结构,加上react_on_railsgem。这意味着我有一个带有webpack安装的client文件夹,在client文件夹中我们可以找到tsconfig文件。tsconfig包含以下内容:

"compilerOptions": {
    "outDir": "./dist/",
    "sourceMap": true,
    "module": "commonjs",
    "target": "es6",
    "jsx": "react",
    "allowJs": true,
    "allowSyntheticDefaultImports": true,
    "isolatedModules": true,
    "experimentalDecorators": true,
    "maxNodeModuleJsDepth": 5
},

我该怎么调试这样的东西呢?

最佳答案

对任何可能感兴趣的人来说,解决方案都是微不足道的。
我使用的是webpack,所以实际上并不需要tsconfig.json中的文件列表:毕竟,webpack会遍历它找到的文件,匹配扩展名,并应用它的加载程序。事实上,编译工作是正确的。
似乎(并非不合理地)vs代码使用tsconfig.json中列出的文件根据tsconfig.json文件本身中指定的参数来确定哪些文件将接收intellisense。
因此,解决方案只是添加对*.ts中所有*.tsxtsconfig.json文件的引用,以将intellisense恢复到完美状态。

关于typescript - VSCode TypeScript Intellisense在1.7-> 1.6降级后突然中断,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/40424692/

10-10 19:31