Monday, September 4, 2017 2:21:14 PM

Visual Studio IDE 2017, A Powerful And Cross Platform Integrated Development Environment

Ding Teck Song's picture
Visual Studio IDE
Sharing Options Share this

Visual Studio IDE is fully-featured integrated development environment (IDE) for Android, iOS, Windows, web, and cloud Application development.




Editing your code

Write code, navigate and fix issues.


Code with confidence

Get help right where you need it

Visual Studio guides you with live assistance as you write code, no matter what language you use, from C#/VB and C++ to JavaScript and Python.

IntelliSense describes APIs as you type and uses auto-completion to increase speed and accuracy. Exploring a new API is made faster because you can narrow down the set of values by category. Quick Info tool tips let you inspect API definitions, and squiggly lines let you know about issues, often showing them as you type.


Navigate in context

Don’t lose your place as you explore

Finding your way around in a large code base can be challenging. Visual Studio helps you find your way around more easily, without losing the context of the code or the markup you started from, with capabilities like Peek to definition, and the improved GoTo which lets you filter down easily, and choose to look just for one kind of item.

Find All References lets you easily group, filter and search within your results, and keep as many result sets as you like. Enhanced Scrollbar’s 10,000 foot structural view of your code file lets you quickly pinpoint issues, and Structure Visualizer means you always know where you are in your code’s block structure.

See the object structure of your code easily with inline object browsing in the Solution Explorer, and quickly search for files in your solution.


Understand your code

The big picture, right where you are

With Code Lens, there’s no need to leave your code to quickly understand its call structure and navigate to related functions. Code Lens goes much further. You can find out who last modified a method, or whether its tests are passing, all from right where you are in your code.

Fix issues quickly

Get to the heart of issues and find fixes

Light bulb icons help you identify and fix common coding issues, in many cases “live” as you type your code, and take quick code actions (like refactoring, implementing interfaces and more) from right inside the editor.


Find all issues in the Error List

One stop shop for all your code related issues

Error List is your “one-stop-shop” for navigating and correcting code-related issues in your solution, whatever their source from compile and build to code analysis issues. Some languages support live custom “Analyzers” to spot domain-specific issues as you type.

Use advanced filtering to focus on the problem, navigate to it, and make your fix.

Click Code Link or press F1 on an error to search for web content to help resolve your issues.


Refactor with ease

Let the IDE take the strain

As your project grows, chances are you’ll find yourself restructuring and refactoring code that you or someone else wrote earlier. That’s a whole lot easier when Visual Studio takes care of the heavy lifting for you.

Several languages, including C#, VB and now C++, support powerful built-in refactoring options such extract method, and rename, via the Quick Actions menu in the Visual Studio Editor.


Settings go with you

…wherever you go!

We know that setting up your environment just the way you need it is a task you want to do only once – so we’ve made sure those settings roam with you when you log in to Visual Studio. In addition, we’ll roam identities you might be using for accessing different developer services (such as Azure accounts) so you only need to enter those credentials once.


Perfect screen layout

…wherever you’re working!

Got a favorite screen layout for working on your multi-monitor desktop, and another you use for your laptop? No problem! Now you can save and apply custom screen layouts that work great for particular machines or tasks.


Debug, Profile, and Diagnose

Quickly find bugs in your code.



Debug cross-language

Rich debugging for all your code

Visual Studio provides an excellent debugging experience no matter what language you use – from C#/VB and C++, to JavaScript and Python, to XAML and HTML, all supported languages have debugging support.

If your app mixes languages you can also interop-debug across the language boundary with mixed-mode debugging.


Any platform or place

Locally, remotely, and in production

Anywhere your code runs, Visual Studio can debug it – from launching a local Windows app on the desktop or in the Android emulator, to attaching a remote Azure instance, iOS device, or gaming console; or to any web browser.

You can debug issues offline in your production environment using capabilities such as IntelliTrace and deep analysis of dump files.


Any place, any platform

Fine-grained control

Decide exactly where and when you want to break and examine state

The Visual Studio debugger lets you control execution, that is, decide exactly where you want to pause all the threads in the process, and inspect state at that point. You can Break All at any time, Step Over statements, Step Into and Out of functions, Run To Click, Edit and Continue, and everybody’s favorite, set Breakpoints.

Go ahead, take things to the next level and configure flexible conditions and actions for your breakpoints.


Flexibly inspect state

See values of variables at runtime

Once you pause the application where you want it, Visual Studio offers many ways for you to inspect the value of your variables, to form or verify a hypothesis.

Monitor a value while stepping through your code; glance at local variables, and evaluate complex expressions – all without leaving the debugger. You can even interactively query deep into a data structure.


Flexibly Inspect State

Exceptions are good

Get alerted when things go wrong

Code defects and unexpected situations manifest themselves as exceptions. Exceptions will crash your app or simply become hard bugs to track down.

While debugging with Visual Studio you can configure notifications when exceptions are thrown, and even choose specific exceptions of interest to focus on. You get alerted immediately with inner exception information and null reference analysis right from there, as easy as if you had hit a breakpoint.


Threading made easy

Simplify control and inspection of complex multi-threaded code

Multi-threaded code is notoriously tough to debug. Visual Studio lets you control the execution of multiple threads at once and inspect state across many threads to make the big picture pop.

See all the thread call stacks in a single graphical view and evaluate expressions across multiple threads to compare values. Easily view information about threads and tasks, flag them, and freeze them. Quickly switch between execution contexts, and use thread markers to see which lines of code your threads are executing at any moment.


Close to the metal…

Dig as deep as your code requires

Sometimes, especially for system- level C++ code, you need to drop closer to the hardware level to diagnose hard to find bugs. Visual Studio supports you to get this done with the Memory, Registers, and disassembly window.


Prevent perf issues

Make your app fast and robust

Get information to help you make good performance choices as you code. Use in-editor PerfTips and diagnostics tools to understand the performance and memory characteristics of your code while you are debugging.

Use comprehensive profiling tools without the debugger to get deeper insights into your app’s performance, including CPU, GPU, and memory usage, UI responsiveness, and network utilization.



No more “no repro”

Code execution history for .NET code

As you edit and F5 to test your .NET code, you encounter an unexpected behavior, a bug. Diagnosing that bug can sometimes take hours of searching through source code to find the relevant pieces of code and repeated guesses of where to set a breakpoint.

With Visual Studio diagnostic tools and IntelliTrace you can see the history of your code’s execution and navigate back to inspect state without breakpoints.


Simple UI debugging

XAML and HTML are code too

You can get the app to look the way you want while it is running – no more relying on design time data to verify your layout.

For apps with an HTML or XAML user interface, identify issues in your UI layer by using code debugging features. Visual Studio also allows you to explore the HTML DOM and visualize the structure of XAML code using the XAML Visual Tree while your app is running.


Testing Tools

Write high-quality code with comprehensive testing tools


Unit Testing

Write, execute, and debug unit tests in the language and test framework of your choice. The rich set of built in project templates, and test frameworks support multiple platforms and make it easy to get started.



Dramatically reduce the effort to create and maintain unit tests for new or existing code. Generate interesting input-output values for your methods, and save them as a small test suite with high code coverage. Automatically evolve them as your code evolves.


Live Unit Testing

Refactor and change code with greater confidence by using Live Unit Testing. Automatically execute impacted tests as you edit code to ensure that your changes do not break tests. Get real-time visual feedback on test results and on your code coverage.

Promote a ‘quality first‘ culture in your team with Live Unit Testing


UI Testing

Verify that the whole application, including its user interface is functioning correctly by automating tests that drive your application through its user interface.


Load and Web Performance Testing

Scale your tests to hundreds of thousands of concurrent users and generate load from multiple regions worldwide.


Test Explorer

Use a single window to organize, run and debug your test, as well as see the test results. Easily configure Continuous Testing by automatically running tests after every build.


Ambient Test Indicators

Inline display of test results for your code. Inspect, run, debug your tests, and navigate to the tests right from the code editor.


Code Coverage Analysis

Visualize and report on line level and block level code coverage for both managed and native applications.



Rich isolation framework that allows you to replace any .NET method with a delegate. The Fakes Framework in Visual Studio supports unit testing by providing isolation by way of detours and stubs.


Collaborate on Code

Use version control, be agile, collaborate efficiently


Flexible version control

Flexible and extensible version control

Distributed or centralized, with extensions

Use Git for distributed version control or Team Foundation Version Control (TFVC) for centralized version control. Add GitHub, AnkhSVN, and other extensions to enhance the experience.


Powerful Git support

Git commands built it

Review diffs, stage files, make commits, view the history graph, cherry-pick, revert, and more, all in Visual Studio. Then push to, or pull from, any hosted Git service.


Seamless workflow integration

Links to tasks, bugs, stories, pull requests, and builds

Wondering if that bug was fixed in production? Associate bugs and tasks to the code to know whether or not the bug fixed last week is going out in today’s release. All without leaving Visual Studio.


Easy repo management

Multiple accounts in one place

Switching between multiple Microsoft, work, and school accounts is easy. Add all your accounts to Visual Studio and access the resources without having to sign in to each separately. Use GitHub’s plugin to manage GitHub repos.


In-Context collaboration

Code history at your fingertips

Understand how the code has changed, without leaving the editor. Find references, linked bugs, work items, code reviews, and more without leaving the editor, thanks to CodeLens.