首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >vscode( vscode-ruby + rubocop )如何在保存时自动更正?

vscode( vscode-ruby + rubocop )如何在保存时自动更正?
EN

Stack Overflow用户
提问于 2017-12-30 03:35:23
回答 7查看 35.2K关注 0票数 27

环境

  • vscode版本1.19.1 (1.19.1)
  • 卢比警察(0.52.1)
  • 达尔文mbp 16.7.0达尔文内核版本16.7.0: Wed 10月4日00:17:00 PDT 2017;根:xnu-3789.71.6~1/ReleaseX86_64 x86_64
  • Ruby2.3.5p376 (2017-09-14修订版59905) x86_64-darwin16 16

遵循https://github.com/rubyide/vscode-ruby#linters并安装所有的gems,并像这样编辑settings.json。

代码语言:javascript
运行
复制
{

  "ruby.rubocop.executePath": "/Users/ac/.rbenv/shims/",
  "ruby.rubocop.onSave": true,
  "ruby.lint": {
    "ruby": {
      "unicode": true //Runs ruby -wc -Ku
    },
    "reek": true,
    "rubocop": {
      "lint": true,
      "rails": true
    },
    "fasterer": true,
    "debride": {
      "rails": true //Add some rails call conversions.
    },
    "ruby-lint": true
  },
  "ruby.locate": {
    "include": "**/*.rb",
    "exclude": "{**/@(test|spec|tmp|.*),**/@(test|spec|tmp|.*)/**,**/*_spec.rb}"
  }

}

在vscode上,代码高亮显示很好。

*请注意,您可以在problem选项卡中看到已安装的扩展和警告。

问题

我认为vscode-rubyrubocop会自动更正文件上的缩进和cop规则,但显然没有。

如果我希望它像prettier那样格式化我的代码,我应该如何设置它?

EN

回答 7

Stack Overflow用户

回答已采纳

发布于 2018-12-14 15:40:32

在vscode-rubocop 这句话 GitHub上,您可以使用以下设置:

代码语言:javascript
运行
复制
{
    "editor.formatOnSave": true,
    "editor.formatOnSaveTimeout": 5000,
    "ruby.rubocop.executePath": "path/where/rubocop/is/located",
    "ruby.format": "rubocop",
}

只需将它们应用到本地框上的用户设置中,它就可以工作了。VS代码为我的ruby.rubocop.executePath设置抛出了一个错误,说它不是可执行的,删除行似乎不会导致错误的显示,并且仍然相应地格式化我的代码。设置一个较低的超时(我尝试了2500次)似乎也打破了自动格式的储蓄,所以我建议把它保持在5000。

票数 26
EN

Stack Overflow用户

发布于 2021-10-27 16:45:38

我已经尝试过其他人共享的所有选项,它为我修复了链接(因此,当我的代码没有正确格式化时,我会收到警告),但是它没有修复保存时的缩进或其他格式。

似乎对我有用的是添加一个默认的格式化程序选项。如果您查看vscode中的右下角,您应该会看到一个通知图标,它可能会添加一些可以帮助您配置的警告。对我来说,它是在补充:

代码语言:javascript
运行
复制
"[ruby]": {
  "editor.defaultFormatter": "misogi.ruby-rubocop"
}
票数 7
EN

Stack Overflow用户

发布于 2021-02-03 12:02:05

现在,仅仅添加以下几行就足够了:

代码语言:javascript
运行
复制
{
  "ruby.rubocop.onSave": true,
  "editor.formatOnSave": true,
}
票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48030698

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档