基于自定义需求的 WebStorm 2016 自动格式化代码
Posted
技术标签:
【中文标题】基于自定义需求的 WebStorm 2016 自动格式化代码【英文标题】:WebStorm 2016 auto format code based on custom requirements 【发布时间】:2018-06-07 11:52:48 【问题描述】:我正在尝试自动格式化我的代码以通过 JSLint 违规。我知道我可以按 Ctrl + Alt + L,但这并不能按照我想要的方式格式化代码。
例如,JSLint 抱怨并非所有变量都定义在函数之上。我希望我的代码格式化程序将这些变量移动到函数的顶部(或者让 linter 不抱怨会更好)。另一个例子是 linter 抱怨未使用的变量。在这种情况下,我希望格式化程序删除未使用的变量。当然,间距问题也应该像默认格式化程序一样得到修复。
如果这在 WebStorm 中是不可能的,我可以编辑一个 JSLint 配置文件来关闭一些警告(比如在函数顶部定义所有变量)。
我正在使用grunt-jslint
。
【问题讨论】:
【参考方案1】:不幸的是,WebStorm 不支持从 JSLint (WEB-2227) 导入代码样式首选项。它都不支持自动修复 JSlint 错误。大多数 JSLint 规则都是硬编码的,因此无法禁用(请参阅http://www.jslint.com/help.html 了解可用选项;它们可以直接在您的 Gruntfile 中设置 - 请参阅 http://derpturkey.com/jslint-with-grunt/)
我会说 JSLint 有点过时了,不太可能会在 WebStorm 中添加对它的更多支持。尝试改用 ESLint - 它更加灵活,并且深度集成在 webstorm 中 - https://blog.jetbrains.com/webstorm/2017/06/webstorm-2017-2-eap-172-3198/、https://blog.jetbrains.com/webstorm/2016/09/webstorm-2016-3-eap-163-3983/。它可以设置为 Grunt 构建过程的一部分 - https://www.npmjs.com/package/grunt-eslint
【讨论】:
感谢您的回复!不幸的是,由于这与工作有关,我无法切换到 ESLint。我会尝试弄乱 Gruntfile 中的选项。以上是关于基于自定义需求的 WebStorm 2016 自动格式化代码的主要内容,如果未能解决你的问题,请参考以下文章
angular 2 种子,webstorm 2016.1 突然停止导入库