An integrated development environment is a software application that provides comprehensive facilities to computer programmers for software development. An IDE normally consists of at least a source code editor, build automation tools and a debugger. Some IDEs, such as Microsoft Visual Studio, NetBeans and Eclipse, contain the necessary compiler, interpreter, or both;