Choosing a code editor is a highly personal choice—choose the one that you like the most.
It’s usually a good idea to download your code editor and use it for a little while before making a decision.
What code editors do
It isn’t strictly necessary to use a code editor when writing your code. All you actually need is a plain-text editor: TextEdit on Mac or Notepad on Windows.
The problem with using a plain-text editor is that they aren’t optimized for writing code.
A proper code editor will provide a bunch of features to help you write and see code more efficiently.
- Line numbers — automatic numbering for lines of code
- Syntax highlighting — colouring of different keywords to help understanding
- Indentation assistance — helping you indent and align the code for easier reading
- Auto-completion — automatically add and complete code for you and show suggestions
- Multiple file interface — having more than one file open at a time
- Quick movement — moving within files quickly and opening/closing files quickly
Important settings to consider
- 
    Changing the theme and colour scheme
 Some people like dark interfaces, some like light
- 
    Turn on “Show invisible characters”
 Will show spaces, tabs, returns, etc. to help you understand your code
- 
    Turn on “Indent guides”
 Will draw vertical lines to help see the alignment of code
- 
    Turn on “Scroll past end”
 So your code isn’t mashed at the bottom of your screen
- 
    Turn on “Show line numbers”
 Make sure to turn those on!
- 
    Turn on “Soft tabs”
 This is really a personal preference: indent with space (soft) characters or tab characters (hard); whatever you choose, thetabkey will always work
- 
    Tab length: “2”
 How many spaces to add when hitting thetabkey, or how wide the tab characters look
- 
    Turn off “Soft wrap” or “Word wrap”
 Whether the lines are wrapped automatically or force you to scroll horizontally
- 
    File encoding “UTF-8”
 How the file is written on the computer, allows lots of different characters and languages; most likely the default)
Recommended code editors
Here’s the top 3 I would recommend for you:
- 
    Atom (by GitHub) (free) 
 Simplest to get into, tightly integrated with GitHub, good community.
 ☛ Atom setup guide
- 
    Sublime Text 3 (freemium) 
 Most complex listed, requires a little setup, has greatest long term potential, huge community.
 ☛ Sublime Text setup guide
- 
    Visual Studio Code (free) 
 Comparable to Atom, many people like it better.
Others you may like
- 
    BBEdit (paid) 
 Been around for a very long time, has some amazing text processing capabilities, not as modern looking as others.
- 
    Textmate 2 (free, right now) 
 Going through a revival, decent community, may have to eventually pay.
- 
    Coda (paid) 
 Simple, made by a great company, specifically targeted at web development, some good designer focused tools.