Visual Studio 2019
Features & Tips #vsix
@kosmosebi
2019.06.22
Visual Studio 2019 Launch at Kansai
https://tfsug.connpass.com/event/129189/
Self Introduction
{
"name": "Keiji Kamebuchi",
"corporation": "pnop Inc.",
"web": "https://azure.moe/",
"twitter": "@kosmosebi",
"awards": ["Microsoft MVP for Azure",
"Microsoft Regional Director"],
"timezone": "-08:00 (PST)",
"location": "Osaka, Japan"
}
Copyright© 2019, @kosmosebi, All Rights Reserved.
2
Senior Fellow@kosmosebi
ClaudiaIDE
Copyright© 2019, @kosmosebi, All Rights Reserved.
3
おしながき
Visual Studio 2019 で使える機能などを紹介
昔からある機能は紹介しないかも
(Live Unit Testing とか)
網羅してるわけではないです
Visual Studio 2019 for Mac
同じく正式リリース済み
今日は喋りません
Copyright© 2019, @kosmosebi, All Rights Reserved.
4
Features
追加された機能など
Copyright© 2019, @kosmosebi, All Rights Reserved.
5
スタート ウィンドウ
Visual Studio 本体の起動を待たずに始められる
Git clone、新規作成、既存プロジェクトを開く・履歴から開くなど
Copyright© 2019, @kosmosebi, All Rights Reserved.
6
スタート ウィンドウ
Copyright© 2019, @kosmosebi, All Rights Reserved.
7
起動速度の向上・使用メモリの削減
拡張機能やプロジェクトの読み込み速度の改善
待たされる時間がだいぶ減ったかも
Copyright© 2019, @kosmosebi, All Rights Reserved.
8
C++デバッグ時のメモリ使用量が1/5
地味にステップ実行なども50%高速
ウォッチウィンドウなども高速化
起動速度の向上・使用メモリの削減
Copyright© 2019, @kosmosebi, All Rights Reserved.
9
https://devblogs.microsoft.com/visualstudio/visual-studio-2019-version-16-1-generally-available-and-16-2-preview-1/
Search in the Watch, Autos and Local Window
デバッグ時のローカル、ウォッチ、自動ウィンドウ内で検索
プロパティ名、値を対象に
Copyright© 2019, @kosmosebi, All Rights Reserved.
10
Git関連
Pull Request の作成やレビュー、コメント、比較などが可能に
Azure Repos (Azure DevOps)
• Pull Requests for Visual Studio
• https://marketplace.visualstudio.com/items?itemName=VSIDEVersionControlMSF
T.pr4vs&ssr=false#overview
GitHub / GitHub Enterprise
• GitHub Extension for Visual Studio
• https://marketplace.visualstudio.com/items?itemName=GitHub.GitHubExtensionf
orVisualStudio
※ 現時点の話(拡張入れない場合はブラウザーで表示・操作)
Copyright© 2019, @kosmosebi, All Rights Reserved.
11
Git関連 - Pull Request の作成
Copyright© 2019, @kosmosebi, All Rights Reserved.
12
Git関連 - Pull Request のレビュー
Copyright© 2019, @kosmosebi, All Rights Reserved.
13
Git関連 - 参考 (Merge)
Copyright© 2019, @kosmosebi, All Rights Reserved.
14
Live Share
リアルタイムでコードを共有、共同編集やデバッグが可能
Visual Studio 2019, 2017 (15.6+) / Visual Studio Code
プロジェクト/コードの共有・編集(読み書き or 読み取り専用)
• 参加者の操作を追従(フォロー)も可
デバッグセッションの共有
ターミナルの共有
• Visual Studioの場合、Whack Whack Terminal拡張 も使える
共有サーバー
• 安全にローカルサーバーを参加者に共有
Copyright© 2019, @kosmosebi, All Rights Reserved.
15
https://docs.microsoft.com/ja-jp/visualstudio/liveshare/
Copyright© 2019, @kosmosebi, All Rights Reserved.
16
Snapshot Debugging
実行を止めることなくアプリケーションの状態を取得
(Snapshot)
Visual Studio を使うことで通常のDebugと同じように
スナップポイント時の状態を確認・デバッグできる
アタッチしてライブでデバッグ(任意のポイント)
例外時に自動的にSnapshotを取得
Copyright© 2019, @kosmosebi, All Rights Reserved.
17
Copyright© 2019, @kosmosebi, All Rights Reserved.
18
Snapshot Debugging
スナップポイントの条件なども指定できる
Copyright© 2019, @kosmosebi, All Rights Reserved.
19
Snapshot Debugging
現状の条件
Visual Studio 2019 Enterprise Edition*
• オプションで Snapshot Debugger コンポーネントをインストール
対象プラットフォーム
Azure App Service (Basicプラン以上)
• .NET Framework 4.6.1 以降の ASP.NET アプリケーション
• または .NET Core 2.0 以降の ASP.NET Core アプリケーション
Azure Virtual Machines / Azure Virtual Machine Scale Sets
• .NET Framework 4.6.1 以降の ASP.NET アプリケーション
• または .NET Core 2.0 以降の ASP.NET Core アプリケーション
Azure Kubernetes Service
• Debian 9+ / Alpine 3.8+ / Ubuntu 18.04 上で動作する .NET Core 2.2+のASP.NET Core アプ
リケーション
Copyright© 2019, @kosmosebi, All Rights Reserved.
20
*App ServiceのみVisual Studio 2017 (15.7以降) Enterpriseでも可
Time Travel Debugging (Preview)
Snapshot Debugger の拡張
収集したスナップショットを基に状態を再現してデバッグ
メソッド内でステップ実行など
現状の条件
Visual Studio 2019 Enterprise
.NET Framework 4.8+
AMD64 な Azure Virtual Machines 上で動作する Windows の ASP.NET
必要メモリ量:多め(メモリ8GB以上なVM推奨)
非同期な因果関係チェーンは記録されない
GC圧縮フェーズ中などはデバッグパフォーマンスが低下
Copyright© 2019, @kosmosebi, All Rights Reserved.
21
https://devblogs.microsoft.com/visualstudio/introducing-time-travel-debugging-for-visual-studio-enterprise-2019/
Time Travel Debugging (Preview)
Copyright© 2019, @kosmosebi, All Rights Reserved.
22
IntelliCode
GitHub の★100個以上のコードをベースによりコンテキストに
沿った候補を IntelliSense で教えてくれる機能
自分のコードも学習させたり、共有できる
Copyright© 2019, @kosmosebi, All Rights Reserved.
23
IntelliCode
Copyright© 2019, @kosmosebi, All Rights Reserved.
24
Tips
小ネタなど
Copyright© 2019, @kosmosebi, All Rights Reserved.
25
Productivity Features
コード修正など細々した機能がまとまってます
https://github.com/kendrahavens/ProductivityFeatures
その他
Visual Studio productivity guide for C# developers
https://docs.microsoft.com/en-us/visualstudio/ide/csharp-developer-
productivity?utm_source=vs2017guide&utm_medium=aka-
link&view=vs-2019
Copyright© 2019, @kosmosebi, All Rights Reserved.
26
Ctrl + . or Alt + Enter
よしなにコード修正したりリファクタしてくれる
波線個所で Ctrl + .
とりあえず Ctrl + . 怪しい個所を選択して Ctrl + .
クイック操作アイコンがあればクリック or Ctrl + .
Copyright© 2019, @kosmosebi, All Rights Reserved.
27
Multi Cursor Editing (Multi Caret)
Ctrl+Alt+クリック でカーソルを追加、同時操作できる
※ Visual Studio 2017 (15.8) から利用可
Copyright© 2019, @kosmosebi, All Rights Reserved.
28
検索エクスペリエンス
以前のクイック起動みたいなの
より高速に・効果的に
動的に表示・キーボードショートカットも
Copyright© 2019, @kosmosebi, All Rights Reserved.
29
コード クリーンアップ
プロファイルにしたがってコードを修正
Copyright© 2019, @kosmosebi, All Rights Reserved.
30
ドキュメントのフォーマットだけで
あれば Ctrl+K, Ctrl+D も可
mix-tabの修正など .editorconfig に
したがって修正
コード クリーンアップ
プロジェクトやソリューションに対して一括操作も可
Copyright© 2019, @kosmosebi, All Rights Reserved.
31
Clipboard Ring
Ctrl+Shift+V でクリップボードリングから選択して貼り付け
Clipboard Ring は Visual Studio内でのみ利用可
Copyright© 2019, @kosmosebi, All Rights Reserved.
32
Console ウィンドウを閉じない
Console アプリや ASP.NET Core アプリなどデバッグ終了時に
コンソールウィンドウが自動的に閉じられなくなりました
オプションで変更できる
Copyright© 2019, @kosmosebi, All Rights Reserved.
33
ソリューション エクスプローラー
ソリューション読み込み時にツリーの状態を復元しない
素早く起動したい人向け
アクティブ(開いている)ドキュメントを
復元するのは別オプション
開いている項目を選択状態に
することも可
Copyright© 2019, @kosmosebi, All Rights Reserved.
34
コンパクトメニュー
既定はコンパクト
Copyright© 2019, @kosmosebi, All Rights Reserved.
35
Preview ですが戻せます
EditorConfigの生成
オプションから .editorconfig ファイルを生成できる
Copyright© 2019, @kosmosebi, All Rights Reserved.
36
Per-Monitor Awareness (PMA)
DPIが異なるモニタで綺麗に表示
Windows 10 April 2018 Update + .NET Framework 4.8 が必要
Copyright© 2019, @kosmosebi, All Rights Reserved.
37
Core Shell
Menus and context menus
Most code editors
Solution Explorer
Team Explorer
Toolbox
Breakpoints
Watch
Locals
Autos
Call Stack
などが対象(増えてるかも?)
Copyright© 2019, @kosmosebi, All Rights Reserved.
38
Off
On
※体感しないとすごくわかり辛い
おまけ
ショートカットキーがわからない / 割り当てを変えたい
オプションの環境 -> キーボードで検索
Copyright© 2019, @kosmosebi, All Rights Reserved.
39
まとめ
Visual Studio 2019 はいいぞ
新機能をいち早く試したい人は Preview チャンネルもインストール
(共存可)
他にも意外な機能が??(探して使いこなそう)
Visual Studio for Mac や Visual Studio Code もいいぞ
環境・用途にあわせてどうぞ
Copyright© 2019, @kosmosebi, All Rights Reserved.
40
Q & A
何でもは知らないわよ。知ってることだけ。
Copyright© 2019, @kosmosebi, All Rights Reserved.
41
Appendix
Sample app
https://github.com/dotnet-architecture/eShopOnWeb
Visual Studio 2019 Release notes
https://docs.microsoft.com/ja-jp/visualstudio/releases/2019/release-
notes?view=vs-2019
The Visual Studio Blog
https://devblogs.microsoft.com/visualstudio/
Copyright© 2019, @kosmosebi, All Rights Reserved.
42

Visual Studio 2019 Features & Tips @kosmosebi