Visual Studio is a software application made by Microsoft Corporation that is used by computer programmers to build graphical user interface applications, web sites, web applications and web services. It is categorized as an Integrated Development Environment (IDE) because it can provide a broad set of tools that enhance the process of software development. Its advantage over other IDE software is that it can facilitate collaborative software development by a team of programmers and designers. How a computer programmer will use Visual Studio depends on what kind of application he is trying to build. The software carries with it a basic set of tools that programmers constantly need and that most IDEs feature.
- Write code with the code editor. Programmers use code editors to speed up and simplify the writing of code. Visual Studio's code editor has syntax highlighting which is a visual aid for programmers. It also has a code autocompletion function for variables, functions, methods, loops and queries which reduces the amount of typing that a programmer has to do. This tool has a code refactoring function that allows programmers to change the internal structure of a code to make it more efficient. It also has a search function that helps a programmer to navigate through numerous lines and blocks of code. Finally Visual Studio's code editor can perform background compiling which compiles the code as it is written and then shows a report that lists any syntax or compilation errors.
- Check for programming errors with the debugger. Debuggers are another constantly needed tool by programmers because it identifies defects that hinder a program to run as expected. Visual Studio's debugger tool can detect errors on the source-level as well as the machine level and works for both managed (executed by a virtual machine) and native code (executed directly by the central processing unit). This tool has an "Edit and Continue" feature which allows code to be edited while it is being debugged. During the debugging process, the programmer can point the mouse over any variable and the current value of the variable will be displayed.
- Develop graphical interfaces with the designer tools. This set of Visual Studio tools are used by programmers whose goal is to build graphical user interface applications, web sites, web applications or design the structure of a database. The several designer tools within Visual Studio use "drag and drop" to simplify lay-outing and other design procedures. The web site designer and editor tool uses the code-behind model which frees the web designer from bothering with the intricacies of the programming and focus on the visual design.
Visual Studio versatility is demonstrated by its support of various programming languages through language-specific services. The built in services are Visual C++ that allows support of C/C++, Visual Basic.NET which allows for VB.NET, and Visual C# which allows for C# support. Other programming languages can be added and accommodated by separately installing their respective services.