javascript
代码中报告皮棉错误。 .eslintrc文件。有什么方法可以通过敲击来修复一些常见的错误,例如缺少分号,缺少空格等?
编辑:
我发现eslint有一个选项
--fix Automatically fix problems
可用于此类情况。
我需要运行此命令让eslint解决这些问题
eslint --fix -c myconfig file.js
我想知道如何与vim集成?
#1 楼
如评论中所述,请注意此修改对您的工作环境造成的后果(确切地知道您用来“修复”事物的eslint规则)。用语法进行eslint执行很简单。只需将其添加到您的.vimrc
中:做。因此,vim必须以某种方式再次加载文件(手动方式是简单地在正常/命令模式下键入:e
)。为此,我们可以将autoread选项与checktime结合使用:文件。但是,由于语法在同一事件
BufWritePost
上使用其自己的autocmd,因此我们必须在语法添加其自身之后添加我们的autocmd。我发现在VimEnter
上添加autocmd时就是这种情况:在文件上保存.vimrc
)。#2 楼
杰普兹(Jepz)答案中给出的解决方案对我而言并不完全有效。使用eslint
选项正确调用了--fix
。但是,可能是因为内部结构发生了变化,但是好像在checktime
结束之前调用了eslint --fix
,所以文件重装无法正常工作,从而在下一次保存时触发了file has changed, are you sure you want to write to it?
。但是,通过深入研究问题,我发现了一个隐藏的钩子,似乎在Syntastic检查完成后触发,称为
SyntasticCheckHook
(源代码)。检查已经执行。这是我的最终代码: ,它本身支持自动修复。
评论
1.您不需要该插件即可进行语法检查。 2.自动修复错误是一个非常糟糕的主意。不是所有的错误我都在谈论错误,例如=周围的空格,if块周围的空格,缩进等。这些是与代码样式相关的错误,不是实际错误。
简短的答案是肯定的,当然可以。您需要定义一个自定义函数来解析快速修复程序中的行,以查找要修复的特定错误,然后根据这些错误执行命令。您可以轻松地使用快速修复程序将您带到每个错误的位置。然后,您将功能映射到按键。 map
使用漂亮的打印机强制执行一致的格式。
我需要运行此命令来解决这些问题-自您提出要求后,我便将枪送给您,但它仍指着您的脚:fixmyjs(在Google上首次投放),并在SO上看到相关的答案。您确实应该考虑更改这些设置,以便针对原始版本和修补版本运行vimdiff,而不是替换原始版本。