• Stars
    star
    137
  • Rank 266,121 (Top 6 %)
  • Language
    TypeScript
  • License
    MIT License
  • Created almost 9 years ago
  • Updated 7 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Rubocop extension for Visual Studio Code

Rubocop for Visual Studio Code

travis status

Visual Studio Code ใง rubocop ใ‚’ๅฎŸ่กŒใ™ใ‚‹ใ‚จใ‚ฏใ‚นใƒ†ใƒณใ‚ทใƒงใƒณใงใ™ใ€‚

This extension provides interfaces to rubocop for vscode.

rubocop is a code analyzer for ruby.

ruby rubocop in Code Market Place

exec on save

Problems

This extension may have problems when using a rvm or chruby environment. We recommend vscode-ruby. It can also lint ruby code.

When autoCorrect is enabled, the history of changing file is broken.

Features

  • lint by executing the command "Ruby: lint by rubocop" (cmd+shift+p and type command)
  • auto invoke when saving file
  • auto correct command "Ruby: autocorrect by rubocop"

Exclude file

The extension forces rubocop's force-exclusion option.

If you do not want rubocop to be executed on some file, you can add AllCops/Exclude in rubocop.yml. The file can be saved without executing rubocop.

Installation

Installation of ruby and rubocop is required.

gem install rubocop
  • Type F1 (or Command + Shift + P)
  • execute "Extensions: install extension"
  • type rubocop and execute ext install ruby-rubocop

If VSCode market place is not configured in your FLOSS distribution of code (you have Open VSX instead):

  1. Go on VSCode Marketplace and clic on the Download Extension button.
  2. Install the extension manually from the CLI: code --install-extension misogi.ruby-rubocop-0.8.5.vsix

ChangeLog

ChangeLog

Configuration

Specify configuration (via navigating to File > Preferences > Workspace Settings and editing file settings.json):

{
  // If not specified searches for 'rubocop' executable available on PATH (default and recommended)
  "ruby.rubocop.executePath": "",

  // You can use specific path
  // "ruby.rubocop.executePath": "/Users/you/.rbenv/shims/"
  // "ruby.rubocop.executePath": "/Users/you/.rvm/gems/ruby-2.3.2/bin/"
  // "ruby.rubocop.executePath": "D:/bin/Ruby22-x64/bin/"

  // If not specified, it assumes a null value by default.
  "ruby.rubocop.configFilePath": "/path/to/config/.rubocop.yml",

  // default true
  "ruby.rubocop.onSave": true
}

Keybindings

You can change the keybinding (via editing keybindings.json)

{ "key": "ctrl+alt+l",          "command": "ruby.rubocopAutocorrect",
                                "when": "editorLangId == 'ruby'" }

todo

  • more configurable command line options (like -R)
  • integration with rbenv
  • testing & CI support

Contribute with this extension

Please install packages with yarn.

yarn install

You could install TSLint extension for .ts files.

Please format code using prettier.

yarn prettier src/* test/* --write

License

ใ“ใฎใ‚ฝใƒ•ใƒˆใ‚ฆใ‚งใ‚ขใฏ MIT ใƒฉใ‚คใ‚ปใƒณใ‚นใฎๅ…ƒใงๅ…ฌ้–‹ใ•ใ‚Œใฆใ„ใพใ™ใ€‚LICENSE.txt ใ‚’ใ”่ฆงไธ‹ใ•ใ„ใ€‚

This software is released under the MIT License, see LICENSE.txt.