javascript - 如何仅使用终端输出vscode打开JS文件时显示的问题列表:?
问题描述
vscode 用来显示错误和警告的默认 jsconfig.json 或 tslint.json 是什么?
我想在我的 JavaScript 项目中解决所有问题。我没有jsconfig.json
或tsconfig.json
文件。我只是在使用一些文件//@ts-check
。
每次我打开文件js
文件时,我都会在问题面板中看到警告列表。我想解决项目中所有文件的问题。不只是打开的文件。VS Studio 不支持它,所以我希望通过 CLI 来做。
我想使用 CLI 获取列表。所以它可以成为 CI 过程的一部分。我已经尝试将CLI 与我的自定义一起使用,tslint
但我从来没有遇到与 vscode 显示的完全相同的问题和警告。我相信 vscode 有一个默认的 tsconfig 和 tslint 用于显示信息。typescript
tsconfig.json
tslint.json
我在 typescript 语言服务器的 GitHub 和 vscode 的存储库上没有找到这个。
换句话说:我正在寻找一个可以从终端启动的命令,如果我在 vscode 中打开同一个文件,我会列出 vscode 将显示的所有问题。
解决方案
要查看//@ts-check
将生成的错误,您可以使用带有and标志的 TypeScript 编译器 ( tsc
) :--noEmit
--allowJs
npm install -g typescript
tsc --noEmit --allowJs fileToCheck.js
noEmit
表示不会生成任何代码,但仍会输出错误。
要为项目中的每个文件运行此文件,最好的方法是jsconfig.json
在工作区的根目录创建一个非常简单的文件,用于定义项目和基本设置。文档有更多关于创建这些的详细信息,但这是一个开始jsconfig.json
:
{
"compilerOptions": {
"module": "commonjs",
"target": "es2016",
"jsx": "preserve"
},
"exclude": [
"node_modules",
"**/node_modules/*"
]
}
然后运行:
tsc --noEmit -p jsconfig.json
或者,如果您不想创建jsconfig.json
,您可以尝试tsc
使用工作区中的每个 js 文件运行find
:
tsc --noEmit --allowJs `find . ! -path '*/node_modules/*' -name "*.js"`
以上处理来自 TypeScript 本身的错误。但是 VS Code 可能会在单个文件中显示来自多个来源的错误,例如 typescript 和 tslint 以及代码拼写检查器。没有通用的方法可以从命令行获取它。
TSLint 和 eslint 等工具提供了它们自己的 CLI 供您使用。这是大多数开源项目用于验证的方式,因为这意味着开发人员可以使用他们喜欢的任何编辑器。例如,您的持续集成脚本将运行tsc --noEmit -p jsconfig.json && eslint ... && ...
但是,如果您真的非常想得到与 VS Code 在编辑器中显示的完全相同的错误,我相信您可以使用类似于vscode-test的方法来运行控制 VS Code 实例的脚本。您想要用来获取错误的 VS Code API 是getDiagnostics(resource: Uri)
推荐阅读
- mysql - 为什么我每次都需要在 WHERE 子句中定义表名?
- error-handling - 自定义 Axios 处理错误
- matplotlib - 是否可以访问 NASM 中的过程链接表?
- python - TensorFlow 2.0 与 TensorFlow 1.0 不兼容的奇怪错误
- kubernetes - sqlproxy:将秘密注入 sqlproxy.cnf
- categories - 如何从 Discord.js 中的类别名称获取类别 ID
- vba - 搜索表单不适用于前端数据库
- django - 使用 nginx 和 Gunicorn 运行时,Django 标准输出输出到哪里?
- javascript - react redux 应用程序中未定义 state 或 props 中的课程
- oauth-2.0 - 如何检测OIDC授权请求是否需要在浏览器中打开