de:code 2019 DT06
どっちの VS ショー伝統の Visual Studio 2019、人気の Visual Studio Code
日本マイクロソフト株式会社
クラウドプラクティス技術本部 クラウドソリューションアーキテクト
大川高志 平岡一成
Visual Studio 2019 Visual Studio Code
言語は .NET
サーバーサイド実装
元 Visual Studio サポート
大川高志 平岡一成
言語は JavaScript
フロントエンド実装
生粋の OSS 界隈
VS
Visual Studio 2019 Visual Studio Code
Visual Studio 2019 Visual Studio Code
Visual Studio 2019 Visual Studio Code
始まる前に…座席のデフラグにご協力ください!
15.7 15.8 15.9 16.1
May ‘18 Nov ‘18
16.0
General Perf & Reliability Improvements
Public Preview of Live Share
Step-back debugging
Full C++ 17 conformance
ClangFormat support
Python debugger engine
Better XAML editing for Xamarin
iOS provisioning in single-click
Reorganized mobile project templates
Streamlined Update experience
Install to mixed locations (SSD optimization)
New C# refactorings
TypeScript 2.8
TypeScript refactorings
Source Link Authentication
Linux deployment for Azure App Service
Key Vault Connected Service
Aug ‘18
Visual Studio Releases
General Perf & Reliability Improvements
Multi-caret editing
Faster git branch switching
Faster unit test execution
TypeScript 3.0
F# 4.5 with Span<‘T>
Download then install
Pause performance profiling
Productivity: Code cleanup, keyboard profiles
Launch snapshot debugger from publish page
C++ Just My Code
Support for Xcode 9.4
Google’s Android emulator SxS with Hyper-V
Split view in Xamarin.Android designer
Xamarin.Forms Previewer
Cross-language debugging for Python 3.7
Native support for Language Server Protocol
Secrets for ASP.NET .NET Fx
General Perf & Reliability Improvements
Step back for C++
.NET Core Tooling
Installation Config Import & Export
Tools for UWP update
Sharepoint 2019
Better support for NuGet Debugging
C++ IntelliSense for Linux
UWP Desktop Bridge for ARM64 C++
Updated Vue.js templates
Support for Jest unit testing framework
Xamarin support for Xcode 10
Xamarin.Android Build Performance
Authenticated package feeds
Lock in repeatable builds for NuGet
New embeddable licenses for NuGet
NuGet client policies for trusted packages
Apr ‘19General Perf & Reliability Improvements
Real-time collaboration with Live Share
C# 8.0, F# 4.6, TypeScript 3.0
Improved performance for branch switching
New start window
Git-first flows
Updated and streamlined look and feel
Improved Search
Document health
One-click code cleanup
Updates downloaded in background
Create new projects with search and tags
New refactorings and code fixes
Extensions status
Control installation mode for updates
Search in debug windows
Out of process C++ debugging
Git Stash
TodayGeneral Perf & Reliability Improvements
Per Monitor Awareness
New codefixes for C#
Nuget.org as symbol server
In-editor documentation for CMake
CMake for CLang / LLVM
C++ 20 conformance
Improved NuGet package debugging
Source Link Improvements
Solution view selector
App Installer templates
祝!! Visual Studio 2019 ローンチ!!
・迅速に開発するIntelliCodeリファクタリング機能
・コラボレーションするLive ShareGitHub 統合
・コードのクオリティを高めるTime Travel DebuggingやLive Unit Testing
15
VS 2017 vs VS 2019
C++ ビルドのリンク時間(Unreal Engine – Based AAA Game)
72s
31s2倍
1
2
フォルダーを開く
210s
30s7倍
1
2
デバッグ時メモリ使用量(C++ Solution, 4000+ projects、Gears of War)
2 GB
0.4 GB5倍
1
2
ブランチ切り替え
46s
16s2倍
1
2
起動時間
7s
4.9s1.5倍
1
2
31s
72s
https://github.com/kendrahavens/ProductivityFeatures
リファクタリング支援
Live Unit Testing単体テストをコードエディット中に
自動的に実行
どの行のコードが単体テストにパスしているの
かフェイルしているのか、継続的なフィードバッ
クを得ることによって、いち早く自分が書いて
いるコードのクォリティを理解する。
あなたがコードを書くとき、エディターはバックグ
ラウンドで逐次単体テストを実行する。
テストにフェイルしたコードとパスしたコードは、
エディタ上で赤と緑のマークで示される。
この機能により、コードの変更が単体テストに
パスするかどうかを、即座に把握することが可
能となる。
IntelliTrace「再現無し」とは二度と言わせない
Visual Studio に含まれる、診断ツールと
IntelliTrace は、コード実行中のイベント発生
時点(例外や HTTP 呼び出しなど)を記
録し、その時点のコンテキストに遡ることで、エ
ラーが発生する前に起きていた予兆を、手動
のブレークポイントなど無しに調査可能とする。
別マシンで取得した IntelliTrace を保存し、
それを使ってデバッグ作業を進めることも可能。
Time Travel Debugging
25
• Visual Studio Enterprise Edition が必要
• Azure VM 上の Web アプリケーションの動作を記録、Visual Studio 上で再現
実行中の Web アプリから スナップショットを自動収集• .NET Framework 4.5 以降 / Windows 上の .NET core 2.0 アプリ対象
• Azure App Service OS ファミリ 4 以降 Cloud Services
Windows Server 2012 R2 以降 Azure Service Fabric / VM
Application Insights Snapshot Debugger
26
VS Code: Remote Development
https://code.visualstudio.com/docs/remote/remote-overview
仕組み
https://code.visualstudio.com/docs/remote/remote-overview
VS Code: Remote Development
SSH • 実行環境はリモートマシン上
• GOOD: 高いマシンスペックを必要とする場合
Container • 実行環境はローカルマシン上の Docker 環境
• GOOD: チーム開発で、実行環境を統一したい場合
WSL • 実行環境はローカルマシン上の WSL 環境
• GOOD: 手軽に Linux 環境で開発したい場合
• GOOD: もうすぐ WSL 2 が登場!!参考リンク
VS Code: Remote Development
接続方法は三種類
Visual Studio Live Share
39
コード編集やデバッグセッションのリアルタイム共有
• liveshare.vsengsaas.visualstudio.com 上で共有
• Visual Studio Code もサポート
• 対応言語・プラットフォームhttps://docs.microsoft.com/en-us/visualstudio/liveshare/reference/platform-support
https://marketplace.visualstudio.com/items?itemName=VSIDEVersion
ControlMSFT.pr4vs
Pull Requests for Visual Studio
Visual Studio 2019 Visual Studio Code
• コードの生産性を高めるための数々の機能
• IntelliCode
• リファクタリング支援機能
• チーム開発に適した機能
• CodeLens によるソース管理との統合
• Live Share による共同作業
• Pull Request まで IDE から
• 効率的なデバッグのための数々の機能
• リモートデバッガー
• IntelliTrace
• Time Travel Debugging
• 軽量エディタ かつ 多くの言語に対応
• IntelliSense
• 統合ターミナル
• Electron ベースのマルチプラットフォーム
• どの OS でも同じ体験を
• 今後、Visual Studio Online も予定
• 無料でオープンソース
• 開発者からの人気でさらに進化
• 豊富な拡張機能
• Remote Development!!
• SSH, Container, WSL (& WSL2!)
Microsoft AzureThe Visual Studio
family全ての開発者様に、最高のツールを…
Visual Studio
App Center
Visual Studio
Code
Visual Studio
Visual Studio
for Mac
Azure
DevOps
このあとのみどころ時間 ID Room みどころ
Day1
16:30-
DT05 L Application Insights について色々!
Day1
17:50-
DT03 G Visual Studio のデバッグ機能をゴリゴリと!
Day1
17:50-
DT53 J GitHub x Azure DevOps のチョークトーク!
Day2
9:30-
DT07,DT08 A チャックさんの .NET の面白い話!
Day2
13:40
DT04 F AKS 導入なま苦労話!
Day2
17:30-
DT09 K OSS 開発者様向けの色々なアップデート!
© 2018 Microsoft Corporation. All rights reserved.
本情報の内容(添付文書、リンク先などを含む)は、作成日時点でのものであり、予告なく変更される場合があります。
© 2019 Microsoft Corporation. All rights reserved.
本情報の内容 (添付文書、リンク先などを含む) は、de:code 2019 開催日 (2019年5月29~30日) 時点のものであり、予告なく変更される場合があります。
本コンテンツの著作権、および本コンテンツ中に出てくる商標権、団体名、ロゴ、製品、サービスなどはそれぞれ、各権利保有者に帰属します。