I recently asked twenty-five professional, freelance Ruby developers about their favorite extensions for Visual Studio Code.
This wasn't a formal survey, just a way to dig into what makes for a great VS Code extension and use that to inform the design of our own AppMap extension.
I tallied the results and a clear picture emerged about which extensions were top of mind for Ruby developers.
The most popular responses
These are the heavyweights. No big surprises, but it was interesting to see these names appear with such consistency.
- Rubocop - A VS Code interface for the Rubocop static code analyzer.
- ESLint - JavaScript Linter. With close to thirteen million downloads, we are all well aware of this one.
- Prettier - Text formatter.
- Ruby - Provides enhanced Ruby support specific to VS Code.
- GitLens - Provides enhanced Git support specific to VS Code.
There was a dropoff and the results got more varied
These extensions are not necessarily less popular in terms of sheer download numbers. They were just not top of mind for these developers. Part of being a great extension is seamlessly blending into and improving an existing workflow. Consequently, some of the best extensions are nearly invisible and rarely thought about.
- ERB Formatter - Provides syntax formatting for ERB.
- Intellicode - AI-assisted development for Java, C#, Python, and a handful of other languages, but not Ruby.
- Docker - A VS Code interface for managing containers.
- Ruby Solargraph - Provides code completion and inline docs for Ruby.
- Live Share - Enables real-time collaborative coding.
Incredibly useful extensions that are not new but were new to me
These are two extensions that I discovered during this exercise and added to my own toolkit. I was definitely late to the party on these, but happy to have them now.
CSS Peek - Jump directly to CSS definitions from an
id
orclass name
in HTML.Todo highlight - Highlight
TODO
in your code.
The obscure indie
Simple but so useful.
- Rails Routes - Jump to a route definition from wherever it is being called in the code
One well-known developer responded to my question by pasting his plugins.json
file into a DM. It actually ended up being interesting to pick through. Kind of like watching the credits of a movie. Check it out.
If you have any extensions that you really like and think would be useful to a Ruby developer, please comment.
The raw data
Extension | Developer | Mentions |
---|---|---|
Rubocop | Misogi | 9 |
Prettier | Prettier | 9 |
ESlint | Dirk Baeumer | 8 |
VSCode Ruby | Stafford Bunk | 8 |
Ruby | Peng Lv | 7 |
GitLens | Eric Amodio | 6 |
ERB Formatter | Ali Ariff | 3 |
Intellicode | Microsoft | 3 |
Docker | Microsoft | 3 |
Solargraph | Castwide | 3 |
Live Share | Microsoft | 3 |
ERB | Craig Maslowski | 3 |
Live Server | Ritwick Dey | 2 |
Bracket Pair Colorizer | CoenraadS | 2 |
Auto Close Tag | Jun Han | 2 |
vetur | Pine Wu | 2 |
JS Code Snippets | charalampos karypidis | 2 |
Peacock | John Papa | 2 |
Stylelint | Stylelint | 1 |
Boostrap 4 snippets | Zaczero | 1 |
Bootstrap 4, Font Awesome | Ashok Koyi | 1 |
Pro Snippets | uncprocore | 1 |
Redux DevTools 8 | Jingkai | 1 |
Auto Rename Tag | Jun han | 1 |
Error Lens | Alexander | 1 |
Live Server | Street Side Software | 1 |
Rails Go To Spec | Sporto | 1 |
Better TOML | Bung cip | 1 |
VS Code Elixir | Matt McLoughlin | 1 |
Better HAML | Karuna Murti | 1 |
VS Code PDF | tomoki1207 | 1 |
Add New Line To Files | Jeremy Forsythe | 1 |
CSS Peek | Pranay Prakash | 1 |
Rest Client | Huachao Mao | 1 |
Ruby Linter | Cody hoover | 1 |
Simple Ruby ERB | Victor Ortiz Heredia | 1 |
Trailing Spaces | Shardul Mahadik | 1 |
VS Code Database | Bajdzis | 1 |
Todo Highlight | Wayou Liu | 1 |
Endwise | Kai Wood | 1 |
Gem Lense | ninoseki | 1 |
Rails Routes | aki77 | 1 |
Top comments (7)
I’ve been using and enjoying Ruby Test Explorer - marketplace.visualstudio.com/items...
Ah yes. That is a good one. It pairs well with AppMap ;-)
As far as I can see
Intellicode
doesn't support ruby :(Check
hjleochen.rails-nav
.I will check
ERB Formatter
.You are correct. Intellicode does not support Ruby. Thanks for pointing that out, I updated the post. Their loss.
Installed
rails-nav
;-)Nice one
Good post!
Thanks!