Refactoring (noun): a change made to the internal structure of software to make it easier to understand and cheaper to modify without changing its observable behavior.
— "Refactoring: Improving the Design of Existing Code" by Martin Fowler
With Abracadabra, you can quickly and safely refactor existing code in VS Code.
VS Code ships with a few basic refactorings. Abracadabra supercharges your editor with:
- 🎁 Much, much more refactorings
- ⚡ Shortcuts to trigger the most useful ones in no-time
- 💡 Quick Fixes to suggest refactorings when appropriate
- 🛠 Options to customize the UX to your needs
- 💬 Refactorings that work with
.js
,.jsx
,.ts
,.tsx
and.vue
files
Refactor Legacy Code in a snap! 👌
- Click on the Extensions icon (usually on the left-hand side of your editor).
- Search for "Abracadabra".
- Find the extension in the list and click the install button.
We have 35+ automated refactorings such as Extract Variable, Extract Type, Flip If/Else, Move to Existing File, etc.
👉 Here's the full catalog of refactorings available
All refactorings are available through the Command Palette.
Some refactorings have default keybindings configured, but you can change that.
All other refactorings are available through VS Code Quick Fixes. You can access them by clicking on the lightbulb that appear next to the code 💡 or use the default shortcut Alt ↵
.
Pro Tip: You can also disable the Quick Fixes you never use in VS Code settings 🔥 (look for Abracadabra)
Setting | Description | Default |
---|---|---|
abracadabra.ignoredFolders |
Folders where it won't propose refactorings | ["node_modules", "dist", "build"] |
All refactorings that appear in Quick Fix suggestions can also be disabled in your VS Code settings 🔥 (look for Abracadabra)
Have a look at our CHANGELOG to get the details of all changes between versions.
We follow SemVer convention for versionning.
That means our releases use the following format:
<major>.<minor>.<patch>
- Breaking changes bump
<major>
(and reset<minor>
&<patch>
) - Backward compatible changes bump
<minor>
(and reset<patch>
) - Bug fixes bump
<patch>
Read our contributing guide to learn about our development process, how to propose bugfixes and improvements, and how to build and test your changes to Abracadabra.
To help you get your feet wet and become familiar with our contribution process, we have a list of good first issues that contains things with a relatively limited scope. This is a great place to get started!
Thanks goes to these wonderful people (emoji key):
This project follows the all-contributors specification.
Contributions of any kind are welcome!
- Hocus Pocus, a VS Code extension that creates missing code for you, in JavaScript and TypeScript.
💁 MIT