


How do I use build systems to run linters or formatters in Sublime Text?
Jun 24, 2025 am 12:01 AMSublime Text can run linter or formatter from a custom build system. 1. Create a .sublime-build file and configure commands, such as running Prettier with npx prettier; 2. Create multiple build systems for different tools or languages; 3. Use similar methods to configure linters such as ESLint to ensure that corresponding tools are installed and commands are adjusted; 4. Automatic formatting is achieved through plug-ins or scripts, or manually bind shortcut keys to perform formatting and saving operations.
Sublime Text doesn't come with a built-in build system for running linters or formatters like VS Code or other modern editors, but you can absolutely set it up yourself using its flexible "Build System" feature. With just a few tweaks, you can run tools like ESLint, Prettier, Black, or whatever your preferred tool is — right from Sublime.
Set Up a Custom Build System
The core idea is to create a custom .sublime-build
file that tells Sublime what command to run when you hit Cmd/Ctrl B
. Here's how:
- Go to Tools > Build System > New Build System...
- Replace the template content with something like this (example for Prettier):
{ "cmd": ["npx", "prettier", "--write", "$file"], "selector": "source.js, source.jsx, source.ts, source.tsx", "working_dir": "$folder" }
- Save it with a name like
Prettier.sublime-build
.
This setup will format the currently open file when you run the build command. You can make different build systems for different languages ??or tools.
Run Linters Without Leaving Sublime
If you want to run a linter like ESLint or Flake8, the approach is similar — just change the command. For example:
{ "cmd": ["eslint", "$file"], "selector": "source.js, source.jsx", "env": {"NODE_ENV": "development"} }
Keep in mind:
- Make sure the linter is installed globally or locally in your project.
- If using a local version, use
npx eslint
instead of justeslint
. - The output will show in the Sublime console at the bottom — not as fancy as inline errors, but still helpful.
Combine Formatting and Saving (Optional)
If you're used to saving and auto-formatting, Sublime doesn't do that by default, but you can get close using plugins like Save On Build or FormatOnSave , or even write a small script that runs the formatter before saving.
Alternatively, manually trigger formatting before save:
- Assign a key binding to run the build system.
- Or create a macro that runs the formatter and then saves the file.
For example, create a .sublime-macro
file with:
[ { "command": "build" }, { "command": "save" } ]
Then assign a keyboard shortcut via Preferences > Key Bindings .
That's basically it. It takes a little setup, but once you've got the right build systems in place, Sublime Text becomes a much more powerful tool for clean, linted code. Not quite as automatic as some IDEs, but fast and lightweight — which is why people still love Sublime.
The above is the detailed content of How do I use build systems to run linters or formatters in Sublime Text?. For more information, please follow other related articles on the PHP Chinese website!

Hot AI Tools

Undress AI Tool
Undress images for free

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Clothoff.io
AI clothes remover

Video Face Swap
Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Article

Hot Tools

Notepad++7.3.1
Easy-to-use and free code editor

SublimeText3 Chinese version
Chinese version, very easy to use

Zend Studio 13.0.1
Powerful PHP integrated development environment

Dreamweaver CS6
Visual web development tools

SublimeText3 Mac version
God-level code editing software (SublimeText3)

Hot Topics

1. Make sure that automatic completion is enabled: Check the user settings in Preferences>Settings and confirm "auto_complete": true; 2. Make sure that there is complete content in the file: Sublime's default automatic completion depends on existing text for suggestions, and it is necessary to manually enter duplicate content to trigger; 3. Install PackageControl and language plug-ins: such as SublimeJEDI or tern to obtain smarter code suggestions; 4. Restart or reset settings: Try restarting the software, delete the settings file, or run safe mode to troubleshoot problems. The above steps can be checked and fixed in the SublimeText that automatically completes failures.

Use the "GotoAnything" function of SublimeText to quickly jump to a specific file. The main shortcut keys are Ctrl P (Windows/Linux) or Cmd P (Mac). Enter some file names to fuzzy match and open the file; 1. Use the @ symbol to jump through function or class name within the file; 2. Use: Added line numbers to jump directly to the specified line, suitable for debugging and error positioning.

Yes, you can install PackageControl in SublimeText through the following steps: 1. Open the console and use the shortcut key Ctrl ` or menu View>ShowConsole; 2. Paste the installation code to the console, the code content is importurllib.request,os,hashlib;h='2915d1851351e5ee549c20394736b442' '8bc59f460fa1548d1514676163dafc88';pf='PackageControl.sublime-package';ipp=subli

Solutions to slow startup of SublimeText include: 1. Uninstall uncommon plug-ins and enter safe mode to troubleshoot plug-ins; 2. Simplify project configuration and avoid loading large directories; 3. Clear cache or reset user settings; 4. Use SSD and close background programs to improve system resources. Due to factors such as plug-in conflicts, large-scale project loading, cache exceptions and hardware performance, it is recommended to troubleshoot the above problems in turn to optimize startup efficiency.

The most likely cause of the problem is that the build system is misconfigured or the program execution is too fast, so the output cannot be displayed. First check whether Tools>BuildSystem has selected the correct language (such as Python, C, etc.). If you use custom configuration, you need to verify that the command syntax is correct and test whether there is output through print("Hello"); secondly, if the program runs too quickly, you can add input("PressEntertoexit...") at the end of the script or modify the .sublime-build file to add pause commands such as "cmd":["s

SublimeText can implement the "jump to definition" function by installing the CTags plugin. First make sure that PackageControl is installed. If it is not installed, the installation will be completed through the official guide; then select "PackageControl:InstallPackage" through the command panel (Ctrl Shift P or Cmd Shift P) to search and install the CTags plug-in; then you need to install the ExuberantCtags or UniversalCtags tool, run ctags-R in the project root directory. Generate tags file; finally place the cursor on the target symbol and use the shortcut key Ctrl Shift Down

SublimeText can run linter or formatter through a custom build system. 1. Create .sublime-build file and configure commands, such as running Prettier with npxprettier; 2. Create multiple build systems for different tools or languages; 3. Use similar methods to configure ESLint and other linters to ensure that corresponding tools are installed and commands are adjusted; 4. Automatic formatting is achieved through plug-ins or scripts, or manually bind shortcut keys to perform formatting and saving operations.

SublimeText will not be updated automatically and requires manual operation. 1. First visit the official website sublimetext.com to view the latest version number and confirm whether the current installed version is too old; 2. View the local version through the Help>AboutSublimeText menu and compare it; 3. Backup settings before update: Enter Preferences>BrowsePackages to copy the Packages folder or use the PackageControl synchronization function; 4. After downloading the new version, operations are based on different systems: Windows run the installer, macOS drag and drop to replace the application, Linux is decompressed to the original directory; 5. Check after the update is completed
