VSCode TypeScript lint

Posted

技术标签:

【中文标题】VSCode TypeScript lint【英文标题】: 【发布时间】:2015-12-07 07:16:39 【问题描述】:

使用 Visual Studio Code 开发 TypeScript 的人?我也在尝试使用它。但我没有验证(ts-lint)警告或错误。我刚刚在构建时收到这样的消息:

ts-lint start
src/constants/type.ts[22, 2]: file should end with a newline
src/constants/type.ts[6, 5]: misplaced opening brace
ts-lint end

例子:

1 == 2

JS 文件中的此类表达式会告诉我使用1 === 2 会更好。 但是 TS 文件中的这个表达式会起作用,甚至不会显示任何警告。

在打字时如何在 TypeScript 中启用此类验证?

【问题讨论】:

我使用打字稿处理 vs 代码,并且在我输入时出现错误,有时我必须保存文件才能得到错误。我也在构建时遇到错误。你能给我们一部分你应该得到错误消息的代码吗?VS代码没有这样做? 我也遇到语法和智能错误。但我没有收到 lint(代码样式)警告。我写了这个例子,当 Js 告诉我写 a === b 而不是 a == b 时。但是 VSCode 中的 Ts 对这种表达方式没有警告。 TSLint 有一个规则强制使用 == 而不是 ===,称为 triple-equals。也许它没有启用? 我也没有将我的 TypeScript 错误视为 VSCode 内部的错误。我很好奇是否安装了 ESLint 或拥有 jsconfig.json 文件与此问题有关。 【参考方案1】:

请更新到刚刚发布的0.8.0版本的vs代码。现在支持 javascript Linting as you Type。 https://code.visualstudio.com/updates

【讨论】:

这是否包括带有 tslint 的 TypeScript linting? 不,不是。 JavaScript linting 在没有 ESLint(JSHint) 的情况下效果很好,只需在 VSCode 工作区中设置一些设置。但我找不到如何启用 TypeScript linting。 是的,这仅适用于 javascript。为什么需要 ts-lint ?打字稿是如此的好“语言”,你不能轻易犯这些错误:P【参考方案2】:

我做了一些实验,遇到了类似的问题,发现我有一个 jsconfig.json 文件,该文件是在将代码转换为 TypeScript 之前创建的。在删除/重命名该文件并重新启动 VSCode 后,我的 TypeScript 编译器错误现在显示为在 VSCode 中进行构建时的错误输出,而不是关于未解决导入的看似无关的错误。

我不确定这是否与您遇到的问题相同,但希望它对您或其他人有所帮助。

【讨论】:

【参考方案3】:

刚刚遇到了完全相同的问题,似乎通过在工作区设置中的 eslint.validate 数组中添加“typescript”解决了


 "eslint.validate": [
    "javascript",
    "javascriptreact",
    "typescript"
    ]

如果您是 VSCode 的新手。 F1 => 键入“设置” => 从下拉列表中选择“用户设置”(该登录用户的任何项目)或“工作区设置”(仅限一个项目)=> 将上述对象粘贴到右侧窗格(或扩展现有对象应该有一个)

【讨论】:

也就是说,事后看来,正确的做法是安装ts-lint plugin

以上是关于VSCode TypeScript lint的主要内容,如果未能解决你的问题,请参考以下文章

如何在 VSCode 中禁用 TypeScript 警告?

vscode下搭建Typescript编译环境

如何防止 Vetur 和 TypeScript 在 VSCode 中同时显示打字稿警告?

一键Swagger类型转为typescript类型(vscode插件)

vscode写typescript之必装插件

tsconfig.json:在 Atom 和 VSCode 的团队中使用 TypeScript?