Refactoring is the process of improving your code after it has been written. Refactoring changes the internal structure of the code without changing its behavior.
Use Architecture Explorer in Visual Studio to find specific code.
Browser Link is a new feature in Visual Studio 2013 that creates a communication channel between the development environment and one or more web browsers. You can use Browser Link to refresh your web application in several browsers at once, which is useful for cross-browser testing.
To visualize how the code implements a particular method, create a sequence diagram from that method in Visual Studio Ultimate. The sequence diagram shows the interaction between objects as a series of lifelines and messages.
Lifelines represent instances of objects, and messages represent method calls between those objects. You can generate sequence diagrams from Visual C# .NET or Visual Basic .NET code, but not from projects that share code across multiple apps.
Keyboard: CTRL + , D
Menu: View -> Code Definition Window
Command: View.Code Definition Window
Versions: 2008, 2010
Ever want to just click on a reference and see the definition as you go? Well it’s time to get reintroduced to the Code Definition Window.
Solution Explorer shows you a graphical representation of the hierarchy of files and folders in your project, solution, or code folder. You can browse the hierarchy and navigate to a file in Solution Explorer.
New features available in Visual Studio 2017:
New features available in Visual Studio 2015 – 2017:
Redefined fundamentals – A new setup experience me that you can install more quickly and install what you want when you need it.
Performance and productivity – More focused on new and modern mobile, cloud, and desktop development capabilities.
Cloud app development with Azure – A built-in suite of Azure tools enables you to easily create cloud-first apps powered by Microsoft Azure.
Windows app development – Use the UWP templates in Visual Studio 2017 to create a single project for all Windows 10 devices – PC, tablet, phone, Xbox, HoloLens, Surface Hub, and more.
Mobile app development – In Visual Studio 2017, you can innovate and get results fast with Xamarin, which unifies your multi-platform mobile requirements by using one core codebase and set of skills.
Cross-platform development – Seamlessly deliver software to any targeted platform. Extend DevOps processes to SQL Server through Red gate Data Tools and safely automate database deployments from Visual Studio.
Games development – With Visual Studio Tools for Unity (VSTU), you can use Visual Studio to write game and editor scripts in C# and then use its powerful debugger to find and fix errors.
AI development – With Visual Studio Tools for AI (new in 15.5), you can use the productivity features of Visual Studio to accelerate AI innovation. Build, test, and deploy Deep Learning / AI solutions that seamlessly integrate with Azure Machine Learning.
Visual Studio supports multiple programming languages like:
C# – A modern object-oriented programming language with functional programming capabilities for building any application on the .NET platform.
Visual Basic – A modern, easy to learn, the object-oriented programming language for the .NET platform, focused on easily creating Windows applications.
C++ – A powerful and flexible programming language and development environment for creating applications for Windows, Linux, iOS, and Android.
F# – A modern functional programming language with object-oriented capabilities for the .NET platform, focused on making Functional Programming easier for any task.
JavaScript – A lightweight, cross-platform, scripting language often used to help make web pages more interactive.
TypeScript – A superset of JavaScript that compiles to plain JavaScript and enables you to create more scalable code.
Python – A dynamic object-oriented, high-level programming language often used for rapid application development.
R – An extensible programming language typically used for statistical computing and graphics.
Namespaces are logical groupings of names used within a program. There may be multiple namespaces in a single application code, grouped based on the identifiers’ use. The name of any given identifier must appear only once in its namespace.
The Azure Functions Tools provides the following benefits:
When you are working with a project in Visual Studio, you can set up and quickly commit and publish your code to a Git service. You can also manage your Git repositories by using menu clicks from buttons in the bottom right-hand corner of the IDE.
Visual Studio Debugging Shortcut Keys:
Ctrl-Alt-V: A Displays the Auto window to view the values of variables currently in the scope of the current line of execution within the current procedure.
Ctrl-Alt-Break: Temporarily stops the execution of all processes in a debugging session. Available only in run mode.
Ctrl-Alt-B: Displays the Breakpoints dialog, where you can add and modify breakpoints.
Ctrl-Alt-C: Displays the Call Stack window to display a list of all active procedures or stack frames for the current thread of execution. Available only in break mode.
Ctrl-Shift-F9: Clears all of the breakpoints in the project.
Ctrl-Alt-D: Displays the Disassembly window.
The different refactoring options in visual studio are:
Develop modern web apps using Visual Studio and powerful open tools.
Web and Cloud Applications:
Windows Applications:
Develop apps and games using Visual Studio to reach every device running Windows.
Mobile & Gaming Applications:
Create native or hybrid mobile apps that target Android, iOS, and Windows.
Other Toolsets:
Visual Studio supports various activities like developing, build, debug, test, deploy, version control, devops, improve performance, extend and data.
Develop – Write and manage your code using the code editor.
Build – Compile and build your source code.
Debug – Investigate and fix problems with your code.
Test – Organize your testing processes.
Deploy – Share your apps using Web Deploy, Install Shield, and Continuous Integration, and more.
Version Control – Share code using version control technologies such as Git and TFVC.
DevOps – Continuous build and release your apps in the cloud, and implement Agile practices with VSTS.
Improve Performance – Identify bottlenecks and optimize code performance by using diagnostic tools.
Extend – Add your own functionality to the Visual Studio IDE to improve your development experience.
Data – Create data apps that connect to any database or service, and anywhere—local or cloud.
An assembly is a collection of one or more files and one of them (DLL or EXE) contains a special metadata called Assembly Manifest. The manifest is stored as binary data and contains details like versioning requirements for the assembly, the author, security permissions, and list of files forming the assembly.
An assembly is created whenever a DLL is built. The manifest can be viewed programmatically by making use of classes from the System.Reflection namespace. The tool Intermediate Language Disassembler (ILDASM) can be used for this purpose. It can be launched from the command prompt or via Start> Run.
DLL hell is the problem that occurs when an installation of a newer application might break or hinder other applications as newer DLLs are copied into the system and the older applications do not support or are not compatible with them. .NET overcomes this problem by supporting multiple versions of an assembly at any given time. This is also called side-by-side component versioning.
Common Language Runtime (CLR) is a run-time environment that manages the execution of .NET code and provides services like memory management, debugging, security, etc. The CLR is also known as Virtual Execution System (VES).