Anda di halaman 1dari 1

DISCOVER

whats new
ONS
TI

LO
SOLU

AD
FA R
STE

Advanced IntelliSense
Code faster with the new IntelliSense prediction
algorithm. Better filtering and highlighting helps
you find what youre looking for, especially in
APIs and code you arent familiar with.
2017 Connected services
Connecting your app to the cloud is now
even easier. Weve got your back, whether
you want to store data in Azure, integrate
with Office 365, or use HockeyApp to
manage your mobile application.

Fast code navigation


Navigate your code to quickly find types and
open files. Identify everywhere a type is
referenced in your codebase.

LESS

USES

MEM
OR
Y

Synchronize your environment


Have a set of extensions you like to use
on all your development workstations?
visualstudio.com Its easier than ever to roam your settings,
https://aka.ms/vsposter preferences, and extensions across all
your signed-in machines.

Live code analysis


In-line visualizations identify errors in your
code so you can get immediate feedback
on code quality as you type. Be more
consistent with best coding practices,
adhering to team-defined style rules, or
applying one of our many refactorings,
code actions, and code fixes.

TER
AS
Xamarin Profiler In addition to the core

FIR L
3X F
Xamarin Profiler is a must for profiling mobile languages, Visual Studio

ST
apps and optimizing their performance.

H
AUNC
Optimize memory allocation, identify reference 2017 also has colorization,
cycles, and understand the bottlenecks in symbolic search, lightweight
your code. Part of Visual Studio Enterprise. IntelliSense, and snippets for:
New Start page Swift Go Open folder
Get to code and start working faster. From Open and work with source code repos without
creating a new project to cloning from source PHP Rust
needing to first create a solution or project.
control to picking up where you left off in a Objective-C Ruby
previous session, the start experience has been Java and 20 more
redesigned with you in mind.

Y
TIF ER

IDEN

RORS
FASTE

R
CRUISE
Debugging and support
Live Unit Testing
through Because every second counts.
debugging Get immediate feedback on your
BLAZE code changes by automatically
Better debugging? Yes, please! running unit tests in the background.
your trail Part of Visual Studio Enterprise.

Select a workload Live Unit


for streamlined options, Workloads Testing
or mix, match,
Run To Click Exception Helper
and make your Make temporary breakpoints a thing Exception debugging getting you
own rules of the past. Now, you can run to a line worked up? The new Visual Studio 2017
of code while the Visual Studio 2017
debugger is paused.
exception helper gives you the information
you need to fix it and keep coding. .NET Core CLI reference
C:\source> dotnet [host-options] [command] [arguments] [common-options]

.NET COMMANDS: test PROJECT MODIFICATION


JUMP AHEAD new Runs unit tests using the COMMANDS:

Extensibility
with new Initialize .NET projects. test runner specified in add
the project.
extensions restore Add items to the project
Restore dependencies pack remove
specified in the .NET Creates a NuGet package. Remove items from
Make Visual Studio your own project. migrate the project
Visual Studio 2017 is powerful right out of the box, but it doesnt cover build Migrates a project.json list
everything. Make Visual Studio the perfect IDE for your needs by adding Builds a .NET project. based project to a List items in the project
custom tool windows, additional commands, new functionality in the code msbuild based project.
publish
editor, or support for a new language. Visit https://aka.ms/extendvs for Publishes a .NET project clean
Workloads you can install Lower impact ideas, samples, and walkthroughs to get you started. for deployment (including Clean build output(s).
and configure Installs fewer system components
Windows 10/UWP (Universal ASP.NET: web than Visual Studio 2015 the runtime). sln
Windows Platform): desktop, run Modify solution
C++: desktop, Linux, Automatically downloads
HoloLens, mobile, Surface Compiles and immediately (SLN) files.
and mobile the latest updates FOR
Hub, and Xbox D executes a .NET project.
DirectX, Unreal, and Install less by default,
DE
IGNE

Visual Studio extensions


VELO

Cocos2d: games install faster


Azure
ES

JavaScript and Apache


PE
RS D

DevOps
Office and SharePoint Cordova: mobile
Data storage and processing Node.js: web
.NET: desktop Unity: games
.NET Core: cross-platform Xamarin: mobile
Default keyboard
shortcuts
Redgate Readyroll Core Edition
Stuck in a SQL bottleneck? Redgate Data
Tools extend DevOps to databases. Use
advanced IntelliSense-style code completion
.NET FRAMEWORK .NET CORE XAMARIN to develop migration scripts, manage changes SEARCH AND NAVIGATION DEBUGGING AND TESTING
using source control, and safely automate
.NET Standard
Quick Launch Ctrl+Q Debug F5
deployments. Part of Visual Studio Enterprise. Go to All Ctrl+T or Run (without debugging) Ctrl+F5
WPF WINDOWS iOS ANDROID Ctrl+Comma Stop Debugging Shift+F5
FORMS UWP
APP Go to Type / File / Member / Symbol Ctrl+1, [ T / F / M / S ] Pause Debugging Ctrl+Alt+Break
MODELS ASP.NET Navigate Backward / Forward Ctrl+Hyphen / Toggle Breakpoint F9
CORE Ctrl+Shift+Hyphen
Get in the merge lane:
Step Over F10
Quick Find / Quick Replace Ctrl+F / Ctrl+H Step Into F11
ASP.NET WINDOWS
PowerShell Tools Find / Replace in Files Ctrl+Shift+F /
all your .NET APIs, for Visual Studio Step Out Shift+F11
Ctrl+Shift+H
Run All Tests Ctrl+R, A
A rich interactive Go to Definition F12
together environment geared
toward DevOps,
Peek Definition Alt+F12
Debug All Tests
Run Tests in Context
Ctrl+R, Ctrl+A
Ctrl+R, T
.NET STANDARD LIBRARY Go to Implementation Ctrl+F12
Debug Tests in Context Ctrl+R, Ctrl+T
Multi-platform development including a command
One library to rule them all Find All References Shift+F12
Execute Code Snippet in
is really coming together. explorer and Go to Next Result in List F8 / Shift+F8 Interactive Window Ctrl+E, E
The Microsoft .NET Standard language service. (Find Results, Error List, etc.) (forward / back)
COMMON INFRASTRUCTURE
Library unifies APIs for desktop Go to Next Error Ctrl+Shift+F12
WINDOW MANAGEMENT
apps, mobile apps, games,
RUNTIME and cloud services. Continuous Delivery Tools Docker EDITING AND REFACTORING Open Tool Windows:
COMPILERS LANGUAGES Properties F4
COMPONENTS for Visual Studio Restarting your container after Quick Actions / Refactoring Suggestions Alt+Enter or
Solution Explorer Ctrl+Alt+L
Your delivery pipeline needs to every code change takes time. Ctrl+Period
Output Window Ctrl+Alt+O
work, period. Visual Studios CI/CD Docker integration enables you IntelliSense Code Completion Ctrl+Space
Error List Ctrl+\, E
tools get your ASP.NET 4 and to develop, run, and validate your Parameter Info / Signature Help Ctrl+Shift+Space
.NET STANDARD 2.0 ASP.NET Core project updates
Team Explorer Ctrl+\, Ctrl+M
ASP.NET Core apps, without the Method Info Ctrl+K, Ctrl+I
Breakpoints Ctrl+Alt+B
XML XLinq, XML Document, XPath, XSD, XSL to your customers. Fast. restarts. Now you can use that time Comment Ctrl+K, Ctrl+C
Immediate Window Ctrl+Alt+I
SERIALIZATION BinaryFormatter, Data Contract, XML for something else. Like coding. Uncomment Ctrl+K, Ctrl+U
Cycle Through Tool Windows Alt+F6 / Shift+Alt+F6
NETWORKING Sockets, Http, Mail, WebSockets Delete Line (without copying it) Ctrl+Shift+L
(forward / back)
Paste from Clipboard Ring
IO Files, Compression, MMF Access any Open Tool Windows Ctrl+Tab (hold Ctrl),
(Paste from buffer of previously copied items) Ctrl+Shift+V
THREADING Threads, Thread Pool, Tasks Move Code Up / Down Alt+Up arrow /
and Documents Up / Down /
Left / Right arrows
CORE Primitives, Collections, Reflection, Interop, Linq Alt+Down arrow
Close Current Tool Window Shift+Esc
Format Document Ctrl+K, Ctrl+D
Go to Document to the Left / Right Ctrl+Alt+Page up /
Format Selection Ctrl+K, Ctrl+F Ctrl+Alt+Page down
Visual Studio Team Services Surround with ( if/try/foreach)
Remove and Sort Usings
Ctrl+K, Ctrl+S
Ctrl+R, Ctrl+G
Go to Most Recently /
Least Recently Accessed Document Ctrl+Shift+Tab
Ctrl+Tab /

Visual Studio Mobile Center Share code, track work, and ship Rename
Encapsulate Field
Ctrl+R, Ctrl+R
Ctrl+R, Ctrl+E
Select Active File in Solution Explorer
Keep Preview Window Open Ctrl+Alt+Home
Ctrl+[, S

software for any language. Its all


Mission control for your mobile apps. designed for continuous integration
Remove Parameters Ctrl+R, Ctrl+V Full Screen (max window size / reduced menus) Shift+Alt+Enter
Reorder Parameters Ctrl+R, Ctrl+O
Make data-based decisions to give to make your existing Agile and GitHub Extract Method Ctrl+R, Ctrl+M

Navigate your your users the faster release cycles


and higher-quality apps they want
workflows better. https://aka.ms/vsts Extract Interface Ctrl+R, Ctrl+I

CODE and deserve. https://aka.ms/vsmc Want to change your keyboard mappings quickly? Ctrl+Q, then type keyboard

Language improvements
F#F1
throw expressions
Increased support for throw expressions in code constructs .NET Standard and .NET Core support
Git commands
C#
F17 private ConfigResource loadedConfig =
LoadConfigResourceOrDefault() ??
throw new InvalidOperationException("Could not
struct representation of types
New Result type CREATE REPOSITORIES > git checkout [branch-name] Switches to the specified branch > git diff [first-branch]...[second-branch] Shows
load config"); Improvements to the F# compiler and FSharp.Core Start a new repository or obtain one from an existing URL and updates working directory content differences between two branches
Tuples
Lightweight, unnamed types with multiple public fields. > git init [project-name] Creates a new local repository > git merge [branch-name] Combines the specified branchs > git show [commit]
Pattern matching New editor based on Roslyn Workspaces
Branching logic based on arbitrary types and member values. with the s pecified name history into the current branch Outputs metadata and content changes of the s pecified commit
private static (int Max, int Min) Range(IEnumerable<int> numbers)
{ Community contributions and bug fixes > git clone [url] Downloads a project and its entire v ersion history > git branch -d [branch-name] Deletes the specified branch
switch (shape)
int min = int.MaxValue; REDO COMMITS
{
int max = int.MinValue; case Triangle t: MAKE CHANGES REFACTOR FILE NAMES Erase mistakes and craft replacement history
foreach (var n in numbers) area = t.Base / 2 * t.Height; Review edits and craft a commit transaction Relocate and remove versioned files > git reset [commit] Undoes all commits after [commit],
{ break; > git status Lists all new or modified files to be committed > git rm [file] Deletes the file from the working directory  preserving changes locally

TypeScript
min = (n < min) ? n : min; case Rectangle r: > git diff Shows file differences not yet staged and stages the deletion > git reset --hard [commit] Discards all history and
max = (n > max) ? n : max; area = r.Width * r.Height; > git ls-files --others --ignored --exclude-standard > git mv [file-original] [file-renamed] Changes the changes back to the specified commit
} break;
return (max, min); case Circle c: Lists all ignored files in this project file name and prepare it for commit
} area = Math.PI * c.Radius * c.Radius; > git add [file] Snapshots the file in preparation for versioning SYNCHRONIZE CHANGES
Downlevel async functions Use async/await and target SAVE FRAGMENTS Register a remote URL and exchange repository history
break; > git diff --staged Shows file differences between staging and 
ES3/ES5 without any other tools.
var numbers = new int[] { 1, 2, 3, 100, 180, 2250 }; default: the last file version Shelve and restore incomplete changes > git fetch [remote] Downloads all history from the
var range = Range(numbers); throw new ArgumentException( Non-nullable types New strict null checking mode makes it > git reset [file] Unstages the file, but preserves its contents > git stash Temporarily stores all modified tracked files remote repository
Console.WriteLine($"The numbers supplied range from {range.Min} to message: "shape is not a recognized shape", easier to detect erroneous use of null and undefined. > git stash pop Restores the most recently stashed files > git merge [remote]/[branch] Combines the remote branch
{range.Max}."); > git commit -m"[descriptive message]" Records file
paramName: nameof(shape));
Simplified declaration file acquisition Get declaration files snapshots permanently in version history > git stash list Lists all stashed changesets into the current local branch
}
More expression-bodied members using npm. > git stash drop Discards the most recently stashed changeset > git push [remote] [branch] Uploads all local branch
Constructors, finalizers, and get and set accessors can now be authored out variables: GROUP CHANGES commits to GitHub
with expressions. Simplified methods by declaring out variables inline. Object type Match any types except primitive types. REVIEW HISTORY
Name a series of commits and combine completed efforts > git pull Downloads bookmark history andincorporates changes
// Expression-bodied constructor if (int.TryParse(input, out int result)) > git branch Lists all local branches in the current repository Browse and inspect the evolution of project files
public ExpressionMembersExample(string label) => this.Label = label; Console.WriteLine(result); > git branch [branch-name] Creates a new branch > git log Lists version history for the current branch Content based on github.com/github/on-demand u
 sed under the CC-BY-4.0 license.
else

Visual Basic
// Expression-bodied finalizer Console.WriteLine("Could not parse input");
~ExpressionMembersExample() => Console.Error.WriteLine
Numeric literal syntax

Azure 2.0 CLI


("Finalized!");
New tokens for improved readability of numeric constants.
private string label; public const int Sixteen = 0b0001_0000;
public const int ThirtyTwo = 0b0010_0000; Tuples
// Expression-bodied get / set accessors. public const int SixtyFour = 0b0100_0000; Need to return multiple values from a method without
public string Label public const int OneHundredTwentyEight = 0b1000_0000; using out parameters? Visual Studio 2017 has you covered. INSTALL AZURE 2.0 CLI Create a new web app with a unique name <app>: CREATE A VIRTUAL MACHINE
{ Use tuples to easily pass around groups of values. From a Windows machine with Python installed: C:\git> az appservice web create --name <app> Create a resource group
get => label; MORE C# GOODIES --resource-group my-group --plan appservice-plan
Binary literals
C:\git> pip install azure-cli C:\git> az appservice list-locations
set => this.label = value ?? "Default label"; ref locals and returns: Use method arguments and local variables as references to
other variables. No more mentally mapping decimal and hexadecimal C:\git> az group create --location "<location>" --name my-group
} Basic command syntax Git clone your website:
Local functions: Limit scope and visibility by nesting functions inside other functions. numbers to their binary bit patterns. Native support C:\git> az command [options] C:\git> git clone https://github.com/user/mysite.git Show VM images available for creation:
for binary in Visual Basic and cosmetic enhancements C:\git> cd mysite C:\git> az vm image list
Generalized async return types : Methods declared with async can now return
will make reading large literals much easier in Visual
more than just Task and Task<T>. DEPLOY A WEBSITE
Studio 2017. Configure local Git deployment for your App Service web app: Create a new virtual machine, create SSH keys if not present:
Login to Azure and set the deployment user for C:\git\mysite> az appservice web source-control C:\git> az vm create --resource-group my-group --name myVM
Azure web services: config-local-git --name <app> --resource-group my-group --image UbuntuLTS --generate-ssh-keys
C:\git> az login
Pain-free upgrade, improved performance,
C++
C:\git> az appservice web deployment user set --user-name Add the URL in the JSON as a Git remote for your local repository (here Open port 80 to allow web traffic to host:
and support for any C++ codebase Give us your feedback <username> --password <password> called azure for simplicity):
C:\git\mysite> git remote add azure https://<user>@<app>.
C:\git> az vm open-port --port 80 --resource-group my-group
--name myVM
Get more details at https://aka.ms/cpp2017 Create a new resource group: scm.azurewebsites.net/<app>.git
Got a suggestion, bug report, C:\git> az appservice list-locations
Open Folder of any Create C++ games using Upgrade your third-party Write code better than Take advantage of the latest C:\git> az group create --location "<location>" --name
C++ code (including CMake) Unreal, Cocos, or DirectX open-source libraries ever by following the latest security advancements in or compliment? This icon is your my-group
Deploy your website to your Azure app like you would push any code
with Git:
without converting to Upgrade and maintain automatically with Vcpkg, C++ standards C++ code generation direct line to the Visual Studio team. C:\git\mysite> git push azure master
MSBuild the new C++ library manager
binary compatibility Gain insights into your code Get better runtime We hope you use it a lot. If you dont already have one, create a free Azure app service plan:
Write cross-platform C++ with third-party binary Use the Visual Studio 2015 with improved compiler performance of your code C:\git> az appservice plan create --name appservice-plan
code to target Linux, dependencies built with the toolchain from the Visual diagnostics and code analysis with the latest C++ compiler --resource-group my-group --sku FREE
Android, iOS, and Windows Visual Studio 2015 toolset Studio 2017 IDE

Anda mungkin juga menyukai