Features commonly found in an IDE include: ; Language support: Some IDEs support multiple languages, such as
GNU Emacs,
IntelliJ IDEA,
Eclipse,
MyEclipse,
NetBeans,
MonoDevelop, JDoodle or PlayCode. Support for alternative languages is often provided by
plugins, allowing them to be installed on the same IDE at the same time. For example, Flycheck is a modern on-the-fly syntax checking extension for
GNU Emacs 24 with support for 39 languages. Another example is JDoodle, an online cloud-based IDE that supports 88 languages.
Eclipse, and
Netbeans have plugins for
C/
C++,
Ada,
GNAT (for example AdaGIDE),
Perl,
Python,
Ruby, and
PHP, which are selected between automatically based on file extension, environment or project settings. ;
Syntax highlighting: The
source-code editing feature usually includes syntax highlighting, it can show both the structures, the language keywords and the syntax errors with visually distinct colors and font effects. and natural-language based interfaces. The IDE may also support searching for an implementation of a declaration. ;
Code completion ;
Refactoring ;
Version control ;
Visual programming: Visual Basic allows users to design an application by moving programming, building blocks, or code nodes to create flowcharts or structure diagrams that are then compiled or interpreted. These flowcharts often are based on the
Unified Modeling Language. : This interface has been popularized with the
Lego Mindstorms system and is being actively perused by a number of companies wishing to capitalize on the power of custom browsers like those found at
Mozilla.
KTechlab supports flowcode and is a popular open-source IDE and Simulator for developing software for microcontrollers. Visual programming is also responsible for the power of
distributed programming (cf.
LabVIEW and EICASLAB software). An early visual programming system,
Max, was modeled after an analog
synthesizer design and has been used to develop real-time music performance software since the 1980s. Another early example was
Prograph, a
dataflow-based system originally developed for the
Macintosh. The graphical programming environment "
GRAPE" is used to program
qfix robot kits. : This approach is also used in specialist software such as Openlab, where the end-users want the flexibility of a full programming language, without the traditional learning curve associated with one. == Use ==