Join Walt Ritscher for an in-depth discussion in this video Visual Studio overview for beginners, part of Visual Studio 2015 Essential Training: 01 Exploring the Visual Studio Ecosystem.
- Visual Studio has been around for a long time. It is a huge application packed with tons of features that aid your daily coding process. In this series, I'll explore every nook and corner of this magnificent tool. But before I do, I want to talk about you, my fellow explorer, about your skills and what videos to watch in this chapter. What type of programmer are you? Are you just beginning to code? Have you heard that Visual Studio is the top programmer's tool for Microsoft development but you've had little time experiment with its toolset? If so, this video is for you.
Or perhaps you are an experienced programmer on another platform. You've worked in Java or Ruby and are transitioning to the Microsoft platform for a new job. If so then this video is also for you. The purpose of this video is to explain the ideas behind Visual Studio and provide an overview of what is in the application. Believe me, it's a long list of tools. I'll get to that in a minute. But first, let me talk to the veteran Microsoft programmer in the audience. What about those of you who are long-time Visual Studio users? I know there are a lot of you.
According to Microsoft, there are millions of developers working in Visual Studio. If you are experienced, I suggest you watch the Overview For Pros video elsewhere in this chapter. It discusses the ongoing change in focus in Microsoft tools and how it affects your experience in the tool. You're welcome to watch the rest of this video although you probably know most of the concepts I explore in the next few minutes. So what if you are encountering Visual Studio for the first time? A natural question to ask is, "What is Visual Studio?" Visual Studio is a tool for developers available in paid and free versions.
It is also a family of related tools labeled with the Visual Studio branding. I'll start by looking at the concept of IDEs. There are many levels of sophistication in software applications. If you want to write a simple note, a tool like Notepad will do. But for more sophisticated document editing, you'll turn to a tool like Microsoft Word or Google Docs. Why? Because they contain a suite of tools that help you assemble a more interesting document. For example, one with footers, a table of contents and an index. It also contains grammar, spell checking tools and more.
It's the same in photo editing. You can work in a simple tool like paint or use a full featured alternative like Adobe Photoshop. In the programming world we call the applications that contain the set of comprehensive tools an integrated development environment or IDE. Here is the Visual Studio IDE. It's full of dockable windows which contain dozens of task specific tools. On the far left you can see the Document Outline and Data Source items nestled against the app border. Also on the left side is the Server Explorer and Toolbox.
On the right side of the screen is the Solution Explorer and the Property windows. In the center is the XAML Designer window and the XAML and C# text editor windows. In the lower right is the Test Explorer window. I'll cover all of these windows and much more in this series. Learn to love this interface as you will spend a good portion of your work day within its walls. Ask most people what they think a programmer does while at work and they'll undoubtedly answer, "they write code". One of the features that makes Visual Studio successful is its detailed support for code editors.
The number of project types available in Visual Studio is astounding. If you can think of a project that targets Microsoft technology, there's probably a template for it available in Visual Studio. Out of the box, Visual Studio contains dozens of project templates that work across the various languages. Visual Studio fully incorporates the Internet into the project tools. You can easily download new templates and sample projects from the New Project dialog. When you write software, you also create bugs. Visual Studio has a full suite of debugging tools integrated within the IDE.
You can quickly troubleshoot an emerging problem minutes after writing the new code. There is also a comprehensive suite of testing tools available. Let's look at a few of the tests available in the IDE. Many developers create unit tests for their classes at the same time as they write the code. It is a common practice nowadays. It helps to verify that the code works as intended. There are other testing tools. The performance tools are top-notch and I'm fond of the new desktop UI and code analyses tools included in this release. There are many other helpers included in Visual Studio.
There are tools for researching the underlying code constructs and the .NET framework. The integrated help is superb. No really, it's the best help system yet for Visual Studio. You get tools for monitoring servers and other network services. It comes with a set of code generation tools. Write some boilerplate templates and have Visual Studio automatically produce the code. If you build user interfaces then you'll appreciate the Visual Designers in the IDE. They have drag and drop UI creation and are indispensable for visualizing and constructing your beautiful interfaces.
There are plenty of web developer specific tools in Visual Studio. Also, the web and ASP.NET team at Microsoft are doing amazing work changing and improving the way web applications are constructed and deployed. The ASP.NET team is building a new web stack and that means Visual Studio needs to change to accommodate the new system. Visual Studio 2015 is the first version to incorporate these tools. As part of this change, Microsoft is embracing many of the common third-party web tools. For example, there is support for NodeJS, Bower, Grunt and Gulp in this release.
On the web debugging front, there are some interesting in IDE debugging tools. Some of the debugging tools work best with server-side code, others work on the script embedded in the page HTML. Then there is the fantastic Browser Link tool. It works with the browser to ensure two-way communication with the browser during debugging sessions. And of course, there are so many editor tools for web-specific code. Naturally, Visual Studio includes compilers for compiling your source code into the finished executable. If you have more complex needs, extra steps that must be performed before or after the code compile, try the sophisticated build engine available in Visual Studio.
Once the app is ready, you have to get it onto the end-user computer or deployed to the production server. That's where the deployment tools come into the picture. Data is the core of many business applications. Visual Studio includes tools for creating, testing and managing database schemas. You can create dummy test data from within Visual Studio and add it to your database. For the code and UI side, you might want to check out the data binding tool. You'll find most of the data binding tools in the UI designers. You can drag a data source onto a form and have Visual Studio generate all the code to work with the data.
Visual Studio includes tools for creating object relational mappers or ORMs. Entity Framework is the most mature of the included ORMs tools. With Entity Framework you can create an ORM from the database schema, from a codebase or from architectural docs. There is also a project and team management system available in Visual Studio. With it, you can track software bugs and work items. It provides a source control system for the team. It also provides a project specific online team portal. It provides detailed reports for team leads and managers.
Be sure and watch the Team Foundation Server video elsewhere in this chapter to learn more. As you can see, Visual Studio is a big, comprehensive toolset that comes with a host of tools to help produce healthy code. The takeaway for you is this: There is a lot to learn but you can build an amazing variety of applications with this powerful IDE. Be aware, you don't have to master it all. At least not right away. Get busy and learn the parts that you need for the immediate task on your agenda. Stick with this series and you'll learn a lot more.
- Installing Visual Studio
- Exploring the command prompt
- Logins and Microsoft accounts
- Exploring Blend