Skip to content
Smarter build support for Sublime Text editor
Python JavaScript
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.
Default (OSX).sublime-keymap
Side Bar.sublime-menu

ContextBuild for Sublime Text 2

ContextBuild is a plugin for Sublime Text 2 that replaces build functionality for working with dynamic languages. It has the ability to run any number of files under a test runner configured on a per-project basis, and also the ability to run any single test or multiple tests within an individual file.

ContextBuild also supports re-running the last build selection, as well as only failed tests from the last selection.

The result is a build system that cuts time off from fixing broken tests and also from creating new tests.

ContextBuild currently supports Python (nosetests) and NodeJS (mocha).


Clone into (or ln -s to) your ~/.config/sublime-text-2/Packages folder. Enjoy!

Note: Sublime Text clobbers PYTHONPATH. So, you MUST set the "context_build_python_path" setting in either your .sublime-project file or your user settings.

Shortcuts (Ctrl / Super and Option / Alt are interchangeable):

  • Alt+B - Build current file
  • Alt+Shift+B - Build selected test(s) (or the one before the cursor)
  • Ctrl+B - Re-run last build
  • Ctrl+Shift+B - Re-run failures from last build

You may also right click files in the tree-view and choose "Build Selected" to trigger a build.

Language support


The default ContextBuild action is to run nosetests with -v.

NodeJS / Mocha

If you want to use the mocha test runner (NodeJS), you'll need to modify your .sublime-project file to include "context_build_runner" in its "settings" section:

"settings": {
    "context_build_runner": "mocha"

If you want to pass additional options to mocha, use the ContextBuild user configuration (may be found under Preferences -> Package Settings -> ContextBuild -> Settings - User). For instance:

    "mocha_compilers": [ "sjs:/home/walt/dev/seriousjs/src/seriousjs" ]



  • Save on build won't try to save files that do not exist on your hard drive (and would result in a prompt)


  • When you close and re-open sublime text, any existing build views will be replaced with new builds, rather than creating a new view.

  • Output from child process (e.g. nosetests) displays as it happens rather than based on lines.

  • Repeated builds are sensitive to config changes

You can’t perform that action at this time.