如何自动更正VS代码中的Ruby着色错误(2023版)

7vhp5slm  于 2023-01-04  发布在  Ruby
关注(0)|答案(1)|浏览(127)

我正在MacOS12.6上使用VS Code和编写Ruby代码。我安装了几个用于linting的扩展。我可以看到错误,但我不能让它们中的任何一个提供自动更正,即使是像单引号和双引号这样的小错误。它总是说"没有可用的快速修复"。

如果我使用命令面板来运行"格式化文档",它会纠正这些错误。所以VS代码不知何故知道如何修复这些问题。它只是不会用一种方便的方式来做。
您可以在屏幕截图中看到哪些扩展我已经安装/活动:

  • Ruby彭吕
  • Stafford Bunk的VSCode Ruby
  • Castwide制作的Ruby太阳图
  • misogi公司的Ruby-红细胞

我并不关心使用哪种扩展,只要能提供这些基本功能,我就很满意。
这是我的全部设置。json

{
  "workbench.tree.indent": 16,
  "editor.formatOnSaveMode": "modifications",
  "editor.formatOnSaveTimeout": 5000,
  // "ruby.rubocop.onSave": true,
  "ruby.useBundler": true, //run non-lint commands with bundle exec
  "ruby.useLanguageServer": true, // use the internal language server (see below)
  "ruby.lint": {

    "rubocop": {
      "useBundler": true // enable rubocop via bundler
    },
    "reek": {
      "useBundler": true // enable reek via bundler
    }
  },
  "ruby.format": "rubocop", // use rubocop for formatting
  "eslint.format.enable": true,
  "eslint.options": {
    "extensions": [ ".html", ".js", ".vue", ".jsx" ]
  },
  "eslint.validate": [
    "html",
    "javascript",
    "vue"
  ],  
  "[vue]":  {
    "editor.defaultFormatter": "esbenp.prettier-vscode"
  },
  // "[ruby]": {
  //   "editor.defaultFormatter": "misogi.ruby-rubocop",
  //   "editor.formatOnSave": true
  // },
  "[json]": {},
  "ruby.codeCompletion": "rcodetools",
  "ruby.intellisense": "rubyLocate",
  "[javascript]": {
    "editor.defaultFormatter": "esbenp.prettier-vscode"
  },
  "editor.tabSize": 2,
  "[ruby]": {
    "editor.defaultFormatter": "misogi.ruby-rubocop"
  
  },
  "editor.formatOnSave": true,
  "ruby.rubocop.useBundler": true,
}

备注

这个问题听起来类似于:vscode( vscode-ruby + rubocop ) how to auto correct on save?
但这个问题是老问题了,答案引用的配置设置不再被识别。

q3qa4bjr

q3qa4bjr1#

有一个revived Rubocop for Visual Studio Code extensionLoran Kloezeon the Visual Studio Marketplace可用。
这个扩展是原始Rubocop扩展的一个分支,并增加了一些特性,例如Rubocop服务器支持以提高性能,特别是Implement quick fixes for Rubocop的一个特性。
即使使用原来的扩展by m1sogi,您也应该能够使用全局自动更正功能。新的快速修复功能可能更有用。

相关问题