Integrated development environment
Provide tools that perform tasks as well as a range of other features that help you as you develop your program code.
JSFiddle - online IDE for web developers.
Text editor - Window in your IDE that allows you to write your code. Program code is simply text that will be translated into machine code by an interpreter or complier. Performs similar tasks to text editing features in other software applications such as copy and pasting, indenting, and deleting.
Autocomplete - AKA intelligent code completion. Tries to predict future actions you might want to complete when writing code. This can save you searching time. It helps speed up your productivity by reducing typos and helping you to avoid common mistakes .
Automatic formatting - Done to match the requirements of the language.
Highlighting - AKA colour coding or pretty printing, describes the colours that an IDE applies to your code as your write it. Supports the readability of your code and helps spot errors and debug. Colours don'tt impact how code is executed.
Automatic line numbering - When you write code in the text editor, by default most IDEs will provide a line number in the margin to the left of your code. Useful for debugging purposes.
Syntax checking - Red lines indicate that a spelling error has been made.
Instead of looking for spelling mistakes, a syntax checker will try to spot any potential syntax errors as soon as you make them.
Runtime environment - Most IDEs allow you to run your code. All high-level code needs to be translated before it can be executed. Two ways to translate code: a compiler translates the whole code and produces an executable file, which cannot be altered; whereas an interpreter translates the code as it is run so the original program can be easily re-edited.
To run your code, the IDE must include a relevant translator or be configured to access a translator that is installed elsewhere.
Debugging tools - Bugs are not as easy to detect as syntax errors .
IDEs include tools to make it easier to track down and fix the bug: debugging.
Break points. Adds a pause to your program to stop the flow of execution at a place defined by the user. Stops the program from executing at the point at which it is added.
Memory inspector. Help to debug problems with memory allocation by your program. Shows the contents of memory so that you can see how it is being used by the program. Help to identify problems such as a memory leak Consists of tools such as a memory usage report.
Threading. Thread is a single sequence of code being executed. Multiple threads being executed concurrently. If there is a bug in your code and you are using multiple threads, it can be difficult to spot the error. Some IDEs have a thread inspector, which allows you to suspend, resume, and see the status of each thread being executed by your program.
Version control - Record changes that have been made to a program file over time. Every time you make a change, you record a note that explains what has been modified. Alows you to find and recall a previous version if you 'mess up' your code.