Editors and IDEs are often a source of debate, fascination, and productivity for developers. Rather than argue about which one is better, let's use this space to share what useful features each editor offers, how to get those features set up, and how to add those features to your own favorite editing environment.

Feature Matrix

(tick): Feature available by default

(info): Feature available but requires configuration

(error): Feature not available

Click on a (tick) or (info) to go to the instructions for that feature. Add a new feature by using (i), selecting it, and then using Ctrl+K (Cmd+K on mac) to add a link around it.

PyCharm

Vim

SublimeText3

Emacs

Atom

VSCode

Python

Editing

Syntax Highlighting

(tick)

(info)

(tick)

(info)

(tick)

(tick)

Jump to function definition

(tick)

(info)

(info)

(tick)

(tick)

Jump to variable definition

(tick)

(info)

(tick)

(tick)

Jump to class definition

(tick)

(info)

(info)

(tick)

(tick)

Find all calls of a function

(tick)

(info)

(error)

(tick)

Search for string (project)

(info)

(tick)(info)

 

(tick)

(info)

(tick)

(tick)

Search for string (file)

(info)

(tick)

(tick)

(info)

(tick)

(tick)

Search for a string in comments

(tick)

Search for a string in code

(tick)

Jump to file (fuzzy search)

(tick)

(info)

(tick)

(tick)

(tick)

Get a link on Github for the corresponding highlighted lines

(info)

(info)

(tick)

(info)

Linting

Use pylint settings for edx-platform

(info)

(info)

(info)

(info)

(info)

Use pep8 settings for edx-platform

(info)

(info)

(info)

(info)

(tick)

Debugging

Set a breakpoint

(tick)

(info)

(error)

(tick)

Add a breakpoint while debugging

(tick)

(error)

(tick)

Remote debugging of devstack

(info)

(error)

Testing

Run all tests

(info)

(error)

(tick)

Run tests for a file

(info)

(error)

(tick)

JS

Editing/Linting

Syntax Highlighting

(tick)

(tick)

(tick)

(info)

(tick)

Use ESLint settings

(info)

(info)

(info)

(info)

(tick)

SASS

Editing/Linting

Syntax Highlighting

(tick)

(tick)

(tick)

(tick)

Use Stylelint settings

(info)

(info)

(info)

(info)

(tick)

JSON

Editing

Syntax Highlighting

(tick)

(tick)

(tick)

(tick)

 

(tick)

XML

Editing

Syntax Highlighting

(tick)

(tick)

(tick)

(tick)

 

(tick)

Bash

Editing

Syntax Highlighting

(info)

(tick)

(tick)

 

(tick)

Yaml

Editing

Syntax Highlighting

(info)

 

(tick)

(tick)

(tick)

 

(tick)

Ansible

Editing

Syntax Highlighting

(info)

(tick)

(info)

(info)

Ruby

Editing

Syntax Highlighting

(error)

(tick)

(tick)

(tick)

 

(info)

PHP

Editing

Syntax Highlighting

(error)

(tick)

(tick)

(tick)

 

(info)