Using Sublime Text as IDE

Sublime Text

I have been using Sublime Text as my primary IDE for all my development needs for more than 2 years now.

Why?

If it is so good why do so many people prefer VS Code / WebStorm?

Because Sublime Text is a text editor, not an IDE.

Sublime Text comes from the time when you could build your cool website from any text editor (like NotePad), but time has changed since then. Some modern technologies, like TypeScript, are hard to use without IDE features.

With time VSCode which started as a text editor incorporated all important IDE features (at the cost of becoming a performance blackhole and battery killer).

But Sublime Text chose another way — it remained as a text editor that users could tailor to their needs. Unlike Vim or Emacs Sublime Text isn’t a cult, so tweaking settings is not considered cool by anyone. Because of this, most people don’t even think about Sublime Text as an option.

But Sublime Text is an option.

In the following guide, I will tell you how to turn Sublime Text into a modern IDE — with LSP, linting, and even Copilot, while retaining the same performance and energy efficiency. And unlike Vim, it won’t take forever.

Before we start

Bringing IDE features with LSP

To bring IDE-like features to your text editor you need to use LSP.

You will need to add support for languages you need separately. Here is the list of languages with installation instructions.

Apart of autocomplete and type features. LSP also brings you a lot of other IDE features like code actions, go to definition, find all references, rename symbol, etc. You can find them in right click menu.

Annoying window with errors can be disabled by adding "log_server": false to LSP settings.

Linting

All linting works via SublimeLinter plugin. By itself it does nothing — you need to add plugins for linters to use. Just search their names in package control like SublimeLinter-eslint.

For prettier that runs on save use jsPrettier. To enable add auto_format_on_save: true to jsPrettier Preferences.

Other plugins you will need

Git

Sublime Text shows inline diffs but has no integrated Git GUI. I recommend using Sublime Merge for that. You will be also able to access it’s features via Sublime Text’s right-click menu.

Integrated Terminal

Sublime Text has no integrated terminal — you should use a dedicated terminal app for that. If you can’t live without an integrated terminal, you can use Terminus.

GitHub Copilot

There is an LSP for Copilot that allows you to use AI autocomplete and code suggestions.

Painless Vim

To use Vim (or fight Vim FOMO) you can use Vintage Mode that ships with the editor. It has a lot of Vim stuff included.

I especially like that with Vintage Mode enabled your initial editing mode is still INSERT MODE, so if you are not in the mood for Vim you will be not annoyed by pressing i each time you open the editor.

Tips


If you noticed a typo, or have a correction or question — write a comment to [email protected]