Integration with Other Tools
Editor integration
Emacs
rubocop.el is a simple Emacs interface for RuboCop. It allows you to run RuboCop inside Emacs and quickly jump between problems in your code.
flycheck > 0.9 also supports RuboCop and uses it by default when available.
Sublime Text
If you’re a ST user you might find the Sublime RuboCop plugin useful.
Brackets
The brackets-rubocop extension displays RuboCop results in Brackets. It can be installed via the extension manager in Brackets.
TextMate2
The textmate2-rubocop bundle displays formatted RuboCop results in a new window. Installation instructions can be found here.
Atom
The linter-rubocop plugin for Atom’s linter runs RuboCop and highlights the offenses in Atom.
LightTable
The lt-rubocop plugin provides LightTable integration.
RubyMine / Intellij IDEA
RuboCop support is available as of the 2017.1 releases.
Visual Studio Code
The ruby extension provides RuboCop integration for Visual Studio Code. RuboCop is also used for the formatting capabilities of this extension.
Git pre-commit hook integration with overcommit
overcommit is a fully configurable and
extendable Git commit hook manager. To use RuboCop with overcommit, add the
following to your .overcommit.yml
file:
PreCommit:
RuboCop:
enabled: true
Git pre-commit hook integration with pre-commit
pre-commit is a framework for managing and maintaining
multi-language pre-commit hooks. To use RuboCop with pre-commit, add the
following to your .pre-commit-config.yaml
file:
- repo: https://github.com/rubocop-hq/rubocop
rev: v1.8.1
hooks:
- id: rubocop
Guard integration
If you’re fond of Guard you might like guard-rubocop. It allows you to automatically check Ruby code style with RuboCop when files are modified.
Mega-Linter integration
You can use Mega-Linter to run RuboCop automatically on every PR, and also lint all file types detected in your repository.
Please follow the installation instructions to activate RuboCop without any additional configuration.
Mega-Linter’s Ruby flavor is optimized for Ruby linting.
Rake integration
To use RuboCop in your Rakefile
add the following:
require 'rubocop/rake_task'
RuboCop::RakeTask.new
If you run rake -T
, the following two RuboCop tasks should show up:
$ rake rubocop # Run RuboCop
$ rake rubocop:auto_correct # Auto-correct RuboCop offenses
The above will use default values
require 'rubocop/rake_task'
desc 'Run RuboCop on the lib directory'
RuboCop::RakeTask.new(:rubocop) do |task|
task.patterns = ['lib/**/*.rb']
# only show the files with failures
task.formatters = ['files']
# don't abort rake on failure
task.fail_on_error = false
end