ESLint support Visual studio 2017
在Visual Studio 2017中似乎不支持eslint static intellisense,这使得在.js文件中进行编码变得非常困难,因为我必须运行cmd eslint命令来获取任何linting错误。在vscode中,我只能使用eslint扩展。Visual Studio 2017怎么样?
他们有什么办法让我启用它吗?
如何让eslint在Visual Studio 2017中工作:
我正在与Visual Studio 2017 v.15.8合作,它改进了对eslint的支持。我在末尾已经包含了以前的版本说明,但是如果您想要这个功能,请帮自己升级。
从菜单:工具>选项>文本编辑器>javascript/typescript>linting
检查EDOCX1[0]
Visual Studio中的全局.eslintrc文件与其他Visual Studio配置一起位于根用户目录(Windows 10)中。您的计算机上仍然可以通过npm install eslint -g安装eslint。vs不会使用它。它附带了React插件,但您可以安装其他插件,它们也会工作。您可以在项目中正常扩展配置(eslint-ref)
它使用eslint v4,但根据ms-docs,
if your project has a local installation of ESLint, it will use that version instead
对于V.157从菜单:工具>选项>文本编辑器>javascript/typescript将启用eslint设置为true(如果尚未设置)
然后从主菜单:工具>Web代码分析>编辑eslint设置
您必须保存.eslintrc和your.js文件才能使规则生效。可能有一种方法可以在您键入时启用IntelliSense,但我没有找到它。我发现,如果在Visual Studio开始linting之后更新规则,则必须重新启动项目,新规则才能生效。仍然笨重,但这是快速实现编码标准的好方法,尤其是当您将其与文本编辑器格式相匹配,并在类似这样的保存插件上使用自动格式时。
只需记住以eslint 2.0.0格式编辑.eslintrc文件即可,此处提供
- 我还是不能让这个工作。我使用Resharper和Eslint的Airbnb配置。事实上,vs仍然不支持很多linting规则,这意味着我将坚持使用vscode在JS中开发。
- 我把答案更新了。
- 知道如何将eslint版本从2.0.0升级到更高版本吗?
- @K48不是肯定的,但您可以尝试更新node_modules文件夹中vs的eslint模块。默认情况下,该文件夹位于Program Files->Microsoft Visual Studio 14.0->Web->External->node_modules中。同样的位置,您可以放置一个额外的eslint插件。您所需要的只是一个全球安装的NPM。如果你尝试的话,告诉我怎么办!
- 有没有一种方法可以使用.eslintrc文件,该文件位于我的项目根目录vs professional 2017中?我想源代码管理这个文件,所以把它放在我的用户配置文件文件夹中是不好的。
- @Garryp您可以用与多个配置相同的方法来完成它:eslint.org/docs/user-guide/…
- 如果我编辑eslint配置文件,并想禁用"no-extra-parens"的警告,那么这个值最初是EDOCX1(警告)-但是当我更改它时,intellisense会提示"错误"、"关闭"和"警告"(字符串)。因此,要禁用,是否必须输入0?重建解决方案是否也会重新检查规则?或者我以后真的需要保存.js文件吗?
- @Matt Yup,IntelliSense在那里与你作对,除非你使用的是eSlint的全球安装。
- @Smurtagh-谢谢,所以我用数值代替。
- 仅作文档用途:0=off,1 =warn,2 =error。
- @matt eslint.org/docs/2.0.0/规则
- 这样做之后,如何测试lint是否正在运行?我需要安装NPM吗?
- @gqqnbig您应该在Visual Studio的错误列表(ctrl+\,E中)中看到警告和错误。如果要对文件运行eslint命令以进行简单的自动更正,则需要NPM。这就是你所说的"跑步"吗?
- 15.8版本的.eslintignore文件有一个小问题。不应将其与BOM(Visual Studio的默认值)一起保存为utf8。把A作为第一行也可以使它工作得更好!当心,在处理对.eslintignore的任何更改之前,应该保存一个*.js文件。
我不知道这是否是15.8.2更新的一部分(18年8月23日刚添加),但选项的布局略有变化:
与"Web代码分析"下的菜单选项一样:
我突然开始从中得到最多的picayune错误(比如"expected"===",而不是看到"==""),我怀疑这是因为它已经"改进"以更好地工作。
- 是否存在避免这种情况的解决方案?(如"expected"==",而不是saw"=="",而不禁用eslint)
- 我还没见过。似乎所有的"错误"都可以/应该是警告,因为最好使用三个=符号,但两个不是很"错误"。
- 是的,我同意你的看法。有时需要使用==进行/允许隐式强制转换。参考文献
- 如果要禁用错误:(如"预期"!=='而不是看到'!="",在JS文件中,打开.eslintrc(一般在根文件夹用户中)并修改属性eqeqeq-即:"eqeqeq":0(您可能需要关闭并打开Visual Studio才能进行有效的更改)
截至2018年8月14日,Eslint在Visual Studio 2017(15.8.0)中获得了更好的支持。
https://docs.microsoft.com/en-us/VisualStudio/ReleaseNotes/VS2017-RelNotes-V15.8 Eslint改进
- 15.8版本的.eslintignore文件有一个小问题。不应将其与BOM(Visual Studio的默认值)一起保存为utf8。把A作为第一行也可以使它工作得更好!当心,在处理对.eslintignore的任何更改之前,应该保存一个*.js文件。
- 你能在我的回答中加上上面的评论吗?
- 我使用的是版本vs 15.8.1,而eslint突然抛出了JS库代码中的各种错误——升级到最新版本(15.8.5)修复了它。
Visual Studio的eslint版本不是最新的版本,这就是为什么您不能让eslint像在vscode中那样工作。
有一个扩展名为VisualLinter,它允许您使用更新版本的esLint。