A powerful developer tool that you can use to complete the entire development cycle in one place. It is a comprehensive integrated development environment (IDE) that you can use to write, edit, debug, and build code, and then deploy your app.
Visual Studio
Includes compilers, code completion tools, source control, extensions, and many more features to enhance every stage of the software development process
Supports a variety of features and languages, allowing you to grow from writing your first "Hello World" program to developing and deploying apps
Why use Visual Studio?
Provides developers a feature rich development environment to develop high-quality code efficiently and collaboratively
Visual Studio
Workload-based installer - install only what you need
Powerful coding tools and features - everything you need to build your apps in one place
Multiple language support - code in C++, C#, JavaScript, TypeScript, Python, and more
Cross-platform development - build apps for any platform
Version control integration - collaborate on code with team mates
AI-assisted development - write code more efficiently with AI assistance
Develop your code
1. Code quickly and accurately with AI-assisted development tools, such as GitHub Copilot and IntelliCode
2. Make quick improvements to your code using light bulbs that suggest actions
3. Expand/collapse blocks of code using outlining
4. Organize and explore your code with the Solution Explorer and Class View
Build your app
1. Compile and build your applications to create builds immediately and test them in a debugger
2. Run multi-processor builds for C++ and C# projects
3. Create custom build configurations, hide certain warning messages, or increase build output information
Debug your code
1. Step through your code and look at the values stored in variables
2. Set watches on variables to see when values changes
3. Examine the execution path of your code
Test your code
1. Write unit tests to find logic errors in code
2. Analyze how much code you're testing and see instant results in a test suite
3. Test code as you type with advanced features
Version control
1. Clone, create, or open your own repositories
2. Commit and push changes to code, manage branches, and resolve merge conflicts
3. Manage GitHub repos directly within Visual Studio
Collaborate with others
1. Share your project with your peers, no matter the language or platform
2. Connect, navigate, set break points, and type in your editor session
Deploy your app
1. Distribute your application, service, or component for installation on other computers, devices, or servers, or in the cloud
2. Publish to the web or Azure, or deploy to a network share or a local folder
AI-assisted development
GitHub Copilot, GitHub Copilot Chat, and IntelliCode assist developers in writing code faster and with greater accuracy, help develop a deeper understanding of the codebase, and help with other development tasks such as writing unit tests, debugging, and profiling
Select Objects
The only item in the Toolbox that doesn't draw a control. When you select it, you can only resize or move a control that has already been drawn on a form.
Text
Allows you to have text that you don't want the user to change, such as a caption under a graphic.
Text box
Holds text that the user can either enter or change.
Combo box
Allows you to draw a combination list box and text box. The user can either choose an item from the list or enter a value in the text box.
List box
Use to display a list of items from which the user can choose. The list can be scrolled if it has more items than can be displayed at one time.
Check box
Creates a box that the user can easily choose to indicate if something is true or false, or to display multiple choices when the user can choose more than one.
Option button
Allows you to display multiple choices from which the user can choose only one.
Toggle button
Creates a button that toggles on and off.
Frame
Allows you to create a graphical or functional grouping for controls. To group controls, draw the frame first, and then draw controls inside the frame.
Command button
Creates a button that the user can choose to carry out a command.
Tab strip
Allows you to define multiple pages for the same area of a window or dialog box in your application.
Multi page
Presents multiple screens of information as a single set.
Scroll bar
Provides a graphical tool for quickly navigating through a long list of items or a large amount of information, for indicating the current position on a scale, or as an input device or indicator of speed or quantity.
Spin button
A spinner control that you can use with another control to increment and decrement numbers. You can also use it to scroll back and forth through a range of values or a list of items.
Image
Displays a graphical image from a bitmap, icon, or metafile on your form. Images displayed in an Image control can only be decorative and use fewer resources than a PictureBox.
DateString
Returns or sets a String value representing the current date according to your system.
Now
Returns a Date value containing the current date and time according to your system.
ScriptEngine
Returns a String representing the runtime currently in use.
ScriptEngineBuildVersion
Returns an Integer containing the build version number of the runtime currently in use.
ScriptEngineMajorVersion
Returns an Integer containing the major version number of the runtime currently in use.
ScriptEngineMinorVersion
Returns an Integer containing the minor version number of the runtime currently in use.
TimeOfDay
Returns or sets a Date value containing the current time of day according to your system.
Timer
Returns a Double value representing the number of seconds elapsed since midnight.
TimeString
Returns or sets a String value representing the current time of day according to your system.
Today
Returns or sets a Date value containing the current date according to your system.