Joh*_*don 44 javascript eslint visual-studio-code
ESLint在VS Code中不适用于我.我在VS Code中安装了插件,并且我的package.json中的ESLint本身也是开发人员依赖项,我也安装了它.
我在VS代码用户设置中修改了以下选项:
{
"eslint.options": { "configFile": "C:/mypath" }
}
Run Code Online (Sandbox Code Playgroud)
我已经使用该命令eslint --init
将基本添加.eslintrc.json
到我的包的主目录中.
其他人能够使用与完全相同的ESLint配置文件完全相同的包来从VS Code获得ESLint反馈.
在直接破坏默认情况下在.eslintrc.json
文件中默认包含的推荐规则集中的多个规则时,我没有收到任何反馈.
我错过了什么?
编辑:我已经通过命令行使用ESLint进行了测试,一切都按预期工作,发现错误应该在哪里,但是,这些相同的错误从未出现在VS Code中.问题似乎是在VS Code方面,而不是ESLint.
Kar*_*ler 36
配置工作目录为我解决了这个问题,因为我有多个项目,.eslintrc
在同一个窗口中打开了自己的文件。
把这个放在你的 .vscode/settings.json
"eslint.workingDirectories": [
"./backend",
"./frontend"
],
Run Code Online (Sandbox Code Playgroud)
感谢 github 上的这个人:https : //github.com/microsoft/vscode-eslint/issues/696#issuecomment-542592372
PS:列出所有包含.eslintrc
除 /node_modules 之外的子目录的有用命令:
find . .eslintrc | grep .eslintrc | grep -v node_modules
Par*_*olt 34
如果ESLint在终端上运行但不在VSCode内运行,则扩展可能无法从本地和全局节点模块文件夹中检测ESLint库.
要验证,请在VSCode中按CTRL + SHIFT + U,在项目中打开JS文件后转到"输出"面板.如果显示"无法为文档加载ESLint库{{documentName}}.js",则在尝试检测路径时遇到问题.
如果是,则通过在设置中配置"eslint.nodePath"手动设置它.给它完整的路径; 目前不支持使用环境变量.此选项已在ESLint扩展页面中记录.
Ezr*_*ton 29
有点“奇怪”的用户体验(很难注意到) - 无论如何 - 从 V 2.1.10 开始 -
您必须更改“当前阻止”状态栏 在新/首次安装上。
2.1.10
日志 ( 08/10/2020 )当 ESLint 扩展首次尝试加载 ESLint 库并且需要批准时,不会显示模态对话框。相反,ESLint 状态栏项目更改为 ESLint 状态图标,表明执行当前处于阻塞状态。
打开此弹出窗口:
批准 ==> Allows Everywhere
- 或 - 通过命令:
ctrl+ Shift+ p --ESLint: Manage Library Execution
在“发行说明”下阅读更多信息:
https://marketplace.visualstudio.com/items?itemName=dbaeumer.vscode-eslint
打开终端Ctrl+`
在 输出 ESLint
下拉列表下,您可以找到有用的调试数据(错误、警告、信息)。
例如,missing.eslintrc-.json
抛出这个错误:
Error: ENOENT: no such file or directory, realpath
最后,自 v 2.0.4 -eslint.validate
在“正常情况”(react、vue、typescript、js、html、md)中不再需要(旧的遗留设置)**
**许多过时的 stackoverflow 答案(甚至是她)都表明eslint.probe
应该编辑该文件。
eslint.probe
= 应为其激活 ESLint 扩展并尝试验证文件的语言标识符数组。如果对被探测语言的验证失败,则扩展会提示无声。默认为 [javascript
,javascriptreact
,typescript
,typescriptreact
,html
,vue
,markdown
]。
Sim*_*one 26
就我而言,由于我将TypeScript与React一起使用,所以解决方法只是告诉ESLint也验证这些文件。这需要进入您的用户设置:
"eslint.validate": [ "javascript", "javascriptreact", "html", "typescriptreact" ],
Run Code Online (Sandbox Code Playgroud)
EJ *_*son 13
ESLint可能没有给您反馈的原因有很多。ESLint将首先在您的项目中寻找您的配置文件,如果找不到.eslintrc.json,它将在其中寻找全局配置。就个人而言,我仅在每个项目中安装ESLint并根据每个项目创建配置。
无法获得反馈的第二个原因是,要获得反馈,您必须在.eslintrc.json中定义起毛规则。如果那里没有规则,或者您没有安装插件,则必须定义它们。
bat*_*top 10
我通过重新启动 ESLint 服务器解决了该问题。您可以通过打开Ctrl
+P
菜单来执行此操作。然后就可以进入了> ESLint: Restart ESLint Server
。
由于您能够通过命令行成功 lint,问题很可能出在 ESLint插件的配置中。
假设扩展已正确安装,请检查项目(工作区)和用户(全局)定义的 settings.json 中所有与 ESLint 相关的配置属性。
在您的特定情况下,有一些事情可能会被错误配置;对我来说,在另一个项目中使用 TypeScript 后禁用了 JavaScript,我的全局settings.json 最终看起来如下:
"eslint.validate": [
{ "language": "typescript", "autoFix": true }
]
Run Code Online (Sandbox Code Playgroud)
从这里开始,这是一个简单的修复:
"eslint.validate": [
{ "language": "javascript", "autoFix": true },
{ "language": "typescript", "autoFix": true }
]
Run Code Online (Sandbox Code Playgroud)
这太常见了,以至于有人写了一篇关于ESLint 在 VS Code 中不起作用的直截了当的博客文章。我只是添加,在覆盖本地工作区配置之前检查您的全局用户 settings.json。
小智 6
如果您使用 ESLint 的全局安装,则配置中使用的任何插件也必须全局安装。对于本地安装来说也是如此。如果您已在本地安装并在本地正确配置,但 eslint 无法正常工作,请尝试重新启动您的 IDE。我在使用 VScode 时就遇到过这种情况。
小智 6
在我的例子中,将 eslint validate 设置为: "eslint.validate": [ "javascript", "javascriptreact", "html", "typescriptreact" ] 就完成了这项工作。
归档时间: |
|
查看次数: |
52171 次 |
最近记录: |