我正在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?
但这个问题是老问题了,答案引用的配置设置不再被识别。
1条答案
按热度按时间q3qa4bjr1#
有一个revived Rubocop for Visual Studio Code extension乘Loran Kloeze的on the Visual Studio Marketplace可用。
这个扩展是原始Rubocop扩展的一个分支,并增加了一些特性,例如Rubocop服务器支持以提高性能,特别是Implement quick fixes for Rubocop的一个特性。
即使使用原来的扩展by m1sogi,您也应该能够使用全局自动更正功能。新的快速修复功能可能更有用。