Code editing tools
最后更新于:2022-04-01 04:14:03
# Learn Code Editors
> A source code editor is a text editor program designed specifically for editing source code of computer programs by programmers. It may be a standalone application or it may be built into an integrated development environment (IDE) or web browser. Source code editors are the most fundamental programming tool, as the fundamental job of programmers is to write and edit source code. - Wikipedia
Front-end code can minimally be edited with a simple text editing application like Notepad or TextEdit. But, most front-end practitioners use a code editor specifically design for editing a programming language.
Code editors come in all sorts of types and size, so to speak. Selecting one is a rather subjective engagement. Choose one, learn it inside and out, then get on to learning HTML, CSS, DOM, and JavasCript.
However, I do strongly think your choice should minimally have the following features:
1. Good documentation on how to use the editor
1. Report (i.e. hinting/linting/errors) on the code quality of HTML, CSS, and JavaScript.
1. Offer syntax highlighting for HTML, CSS, and JavaScript.
1. Offer code completion for HTML, CSS, and JavaScript.
1. Be customizable by way of a plug-in architecture
1. Have available a large repository of third-party/community plug-ins that can be used to customize the editor to your liking
1. Be small, simple, and not coupled to the code (i.e. not required to edited the code)
I personally use and recommend [Sublime Text](http://www.sublimetext.com/) with the following plug-ins.
- [Package Control](https://packagecontrol.io/packages/Package%20Control)
- [AutoFileName](https://packagecontrol.io/packages/AutoFileName)
- [SublimeLinter](https://packagecontrol.io/packages/SublimeLinter)
- [SublimeLinter-json](https://packagecontrol.io/packages/SublimeLinter-json)
- [SublimeLinter-jshint](https://packagecontrol.io/packages/SublimeLinter-jshint)
- [SublimeLinter-html-tidy](https://packagecontrol.io/packages/SublimeLinter-html-tidy)
- [SideBarEnhancements](https://packagecontrol.io/packages/SideBarEnhancements)
- [Terminal](https://packagecontrol.io/packages/Terminal)
- [BracketHighlighter](https://packagecontrol.io/packages/BracketHighlighter)
- [Color Highlighter](https://packagecontrol.io/packages/Color%20Highlighter)
- [CSS3](https://packagecontrol.io/packages/CSS3)
- [HTMLAttributes](https://packagecontrol.io/packages/HTMLAttributes)
- [StringEncode](https://packagecontrol.io/packages/StringEncode)
- [HTML-CSS-JS Prettify](https://packagecontrol.io/packages/HTML-CSS-JS%20Prettify)
Here are some resources for learning Sublime:
- [Sublime Productivity](https://leanpub.com/sublime-productivity) [read][$]
- [Sublime Text Power User Book](https://sublimetextbook.com/) [read][$]
- [Sublime Text 3 From Scratch](http://www.pluralsight.com/courses/sublime-text-3-from-scratch) [watch][$]
- [Perfect Workflow in Sublime Text 2](https://code.tutsplus.com/courses/perfect-workflow-in-sublime-text-2) [watch][requires login, but free]
If you need a free alternative to Sublime (cost $70) you might consider [atom](https://atom.io/) or [brackets](http://brackets.io/).
##### Online code editors:
- [jsbin.com](http://jsbin.com/)
- [jsfiddle.net](http://jsfiddle.net/)
- [liveweave.com](http://liveweave.com/)
- [es6fiddle.net](http://www.es6fiddle.net/)
- [codepen.io](http://codepen.io/)
- [Plunker](http://plnkr.co/)