0

我目前正在设置我的 Neovim 的 Native LSP 工作环境,并且我有一个关于 JS/TS linter 的问题。

tsserver 和 eslint作为linter 有什么区别?

我知道 tsserver 是一个语言服务器,它全面支持自动完成和转到定义等功能,以及 eslint lints 编码样式(例如 airbnb 样式)。

但是如果我关闭 eslint 的 code-format-linting 功能(例如一起使用 prettier 时),与 eslint 的 linting 有什么区别吗?

编辑:

我将诊断与 linter 混淆了。我想问的是:

“用于诊断功能的 tsserve 和 eslint 有什么区别?”

4

2 回答 2

1

最初,您需要使用与诊断相关的VSCode API编写特定的 VSCode 扩展来进行linting 。那是 TSLint 或 ESLint 扩展出现的时候。

但是语言服务器自然是诊断本身的中心来源,因为它们将代码编译为 AST,因此诊断 API也可以在那里使用。

在您的情况下,这两种工具都可以判断您的代码中可能出现的问题,您可以同时启用或禁用其中一个。这只是您感觉更好并报告更多您感兴趣的问题的工具的问题。它们应该有很多重叠,而问题目录中的一些细微差别。

于 2021-11-24T14:43:48.233 回答
0

通常来说,一般来说:

tserver是一个在后台运行 TypeScript 并且可以响应编译命令的服务。TypeScript 本身不是一个 linter,而是一个编译器,它也能够追踪类型错误和极少的通用代码问题。 eslint是一个 JavaScript linter,可以在你的代码中发现问题。

通常,您使用 TypeScript 专门跟踪代码中所有其他可能的问题或风格约定的类型错误和 eslint。

于 2021-11-24T14:43:52.330 回答