Как автоматически форматировать файлы Ruby или .erb в VS Code?
Я нажимаю ⌥ + ⇧ + F в Visual Studio Code для macOS, ярлык " Формат документа", чтобы отформатировать файл с именем foo.rb
или foo.html.erb
.
Вместо того, чтобы форматировать документ, он печатает это письмо: Ï
Как мне получить его для форматирования документа?
Ответы
Ответ 1
Вы можете установить ассоциации форматов в VSCode, поэтому файлы .erb будут обрабатываться как .html.
Перейдите на File-> Настройки → Settings-> Нажмите... в правом верхнем углу corner-> Откройте файл settings.json.
Затем добавьте этот кусок кода в ваш файл settings.json
"files.associations": {
"*.html.erb": "html"
}
Вот как я решил эту проблему. Он удалит некоторые из выделенных участков кода, но автоматически отформатирует шаблоны HTML, такие как документ HTML.
Ответ 2
В настоящее время (март 2019 г.) я думаю, что более симпатичный вариант с prettier-ruby - лучшие варианты: он может работать с Ruby, ERB (как HTML), JS и многими другими.
prettier script.rb # will show you the formatted script
prettier --write script.rb # will overwrite the file with the formatted script
Вы можете использовать плагин Prettier VS Code, чтобы сделать это автоматически: https://marketplace.visualstudio.com/items?itemName=esbenp.prettier-vscode
https://github.com/prettier/plugin-ruby
Ответ 3
VSCode не имеет встроенной поддержки форматирования файлов Ruby, но вы можете легко установить расширение, которое добавляет это. Здесь, как начать с расширение Ruby:
Теперь команда документа формата должна работать и для файлов Ruby.
Надеюсь, что поможет
Ответ 4
Вы можете использовать Rufo для форматирования вашего кода Ruby. Это форматированное мнение (например, Prettier для JS, если вы знакомы с ним).
Вы можете использовать расширение vscode-rufo, чтобы интегрировать его с VSCode.
Ответ 5
gem install htmlbeautifier
с помощью функции поиска, предоставленной в редакторе с помощью Ctrl + Shift + P (или Command + Shift + P на Mac), а затем ищите формат документа.
Ответ 6
Чтобы отформатировать ваши файлы ruby, вам не нужен дополнительный плагин, вы можете просто сопоставить некоторые ключи, чтобы сделать "editor.action.reindentLines"
Если вы используете плагин vscode-vim, вы можете добавить это в свои настройки:
"vim.normalModeKeyBindingsNonRecursive": [
{
"before": ["=", "="],
"commands": ["editor.action.reindentlines"]
}
],
Затем в обычном режиме vim ==
переформатирует ваш файл.