SlideShare une entreprise Scribd logo
1  sur  30
Télécharger pour lire hors ligne
Better Developer
Experience with VS Code
VS Code で試みる開発体験の向上
Tomomi Imura
Aloha!
I am Tomomi Imura
Principal Cloud Advocate at Microsoft
@girlie_mac on Twitter
@girliemac on GitHub
2
“
3
I love you but I hate you
- 匿名 Teams アプリ開発者
Microsoft Teams Platform
Teams の開発は簡単ではない
⩥ 複数のテクノロジースタ
ック(Azure, bot frameworks,
Graph API など)
⩥ 初期設定が面倒
⩥ 学習曲線が激しい
4
Proficiency
(Score)
Experience (hours)
Learning Curve (Example, not actual!)
Example: Teams Bot Dev Flow
⩥ M365 開発アカウント登録
⩥ Azure ユーザ登録
⩥ Azure AD でのアプリ登録
⩥ Bot Framework でのボット登録
⩥ App manifest (JSON) の作成と App ID を紐づけて
アプリを設定
⩥ コード & デバッグ
⩥ Teams クライアントでテスト
⩥ パブリッシュ
5
“
6
I just hate you 🖕
- 匿名 Teams アプリ開発者
“
7
だけど VS Code は好き
- 匿名 Teams アプリ開発者
Tools Developers Love
OMG, we are so lucky to have ‘em!
9
Web Devs cannot
live without
いわゆるde-facto スタ
ンダードと呼ばれる開
発ツールを持っていて
ラッキー!
GitHub
Edge / DevTools
VS Code
Teams Toolkit for VS Code
開発者の苦悩を和らげるレスキュー!
10
Teams Toolkit for VS Code
11
Teams Toolkit for VS Code
12
アプリ雛形を
新規で作成
複数の dev env
コード
テンプレート
Teams Toolkit for VS Code
13
F5
Example: Teams Bot Dev Flow
⩥ M365 開発アカウント登録
⩥ Azure ユーザ登録
⩥ Azure AD でのアプリ登録
⩥ Bot Framework でのボット登録
⩥ App manifest (JSON) の作成と App ID を紐づけて
アプリを設定
⩥ コード & デバッグ
⩥ Teams クライアントでテスト
⩥ パブリッシュ
14
Dev Flow with Teams Toolkit
直感的な UI Tool / CLI
アカウント・ログインの簡素化
Bot Framework へのボット登録の自動化
App ID と App manifest の紐付けと設定の自動化
雛形コード自動作成と、サンプルの充実
F5 での コードデバッグ
F5 でアプリを Teams クライアントにインストール
デプロイアシスト
15
More
TeamsFx (共通機能を備えたライブラリ)
複数環境サポート
コラボマネージメント
ARM & Bicep を使った Azure プロビジョン
CI/CD
シナリオ・ベースの雛形アプリ
Teams Toolkit for Visual Studio for .NET devs!
16
More VS Code Extensions by Microsoft
拡張機能で開発者体験をもっと豊かに
⩥ Azure Tools
⩥ TypeScript intellisense
⩥ ES Lint for VS Code integration
⩥ Jupyter Notebook support
⩥ Japanese Language Pack
⩥ Edge DevTools for VS Code
⩥ 社内向けツール
17
More VS Code Extensions by Microsoft
18
More with VS Code & GItHub
I am bragging about cool stuff
VS Code & GitHub What’s New
⩥ Remote development
⩥ Codespaces
⩥ vscode.dev
⩥ VS Code Server
⩥ CoPilot
20
Release Timeline
21
Vscode.dev
2021
Vscode.dev
Remote Dev
2019
Remote
Development
Codespaces
2020
GitHub
Codespaces
Copilot
2021
GitHub Copilot
VS Code Server
2022
VS Code Server
Remote Development
⩥ コンテナ
⊳ Docker
■ devcontainer.json でのコンテナの設定
⩥ リモートマシン / VM
⊳ SSH
⩥ Windows Subsystem for Linux (WSL)
22
🔗 code.visualstudio.com/docs/remote/remote-overview
GitHub Codespaces
ブラウザ、または VS Code で動くクラウドベース環境
23
🔗 github.com
/features/codespaces
VSCode.dev – VS Code on Browser
24
🔗 vscode.dev
VS Code Server
自分の開発マシンを VS Code Server にして
どこからでも vscode.dev で接続しよう
25
🔗 https://code.visualstudio.com/docs/remote/vscode-server
VS Code Server
iPad 上でもコードができる!
26
vscode.dev/+ms-vscode.remote-server/
My-app:8000/home/tomomi/…
GitHub Copilot
27
TikTok @vscode
VS Code チームからの最新
ニュースや Tips & Tricks を
TikTok でお届け
28
VS Code Roadmap
github.com/microsoft/vscode/wiki/Roadmap
29
30
Mahalo!
@girlie_mac

Contenu connexe

Similaire à [POST.Dev Japan] VS Code で試みる開発体験の向上

3 倍早い?! MS 製開発者専用ツールによる HTML5 + JavaScript を使ったWeb 作成
3 倍早い?! MS 製開発者専用ツールによる HTML5 + JavaScript を使ったWeb 作成3 倍早い?! MS 製開発者専用ツールによる HTML5 + JavaScript を使ったWeb 作成
3 倍早い?! MS 製開発者専用ツールによる HTML5 + JavaScript を使ったWeb 作成
Osamu Monoe
 
【17-D-6】.NETアセンブリの宿命
【17-D-6】.NETアセンブリの宿命【17-D-6】.NETアセンブリの宿命
【17-D-6】.NETアセンブリの宿命
Developers Summit
 
Windowsストアアプリ開発 オープンセミナー広島
Windowsストアアプリ開発 オープンセミナー広島Windowsストアアプリ開発 オープンセミナー広島
Windowsストアアプリ開発 オープンセミナー広島
Akira Onishi
 

Similaire à [POST.Dev Japan] VS Code で試みる開発体験の向上 (20)

本格化するクラウド ネイティブに向けて進化する開発プラットフォームと .NET
本格化するクラウド ネイティブに向けて進化する開発プラットフォームと .NET本格化するクラウド ネイティブに向けて進化する開発プラットフォームと .NET
本格化するクラウド ネイティブに向けて進化する開発プラットフォームと .NET
 
Toolkit for CreateJSで作るリッチコンテンツ
Toolkit for CreateJSで作るリッチコンテンツToolkit for CreateJSで作るリッチコンテンツ
Toolkit for CreateJSで作るリッチコンテンツ
 
Bot frameworksdk
Bot frameworksdkBot frameworksdk
Bot frameworksdk
 
どっちの VS ショー / 伝統の Visual Studio 2019、人気の Visual Studio Code
どっちの VS ショー / 伝統の Visual Studio 2019、人気の Visual Studio Codeどっちの VS ショー / 伝統の Visual Studio 2019、人気の Visual Studio Code
どっちの VS ショー / 伝統の Visual Studio 2019、人気の Visual Studio Code
 
.NETの自作ツール公開手段
.NETの自作ツール公開手段.NETの自作ツール公開手段
.NETの自作ツール公開手段
 
Visual Studio と Azure で Python を始めよう
Visual Studio と Azure で Python を始めようVisual Studio と Azure で Python を始めよう
Visual Studio と Azure で Python を始めよう
 
.NET Coreとツール類の今
.NET Coreとツール類の今.NET Coreとツール類の今
.NET Coreとツール類の今
 
Tech Summit 2018: ユーザーインターフェースとしてのチャットボット開発手法 と Bot Framework V4
Tech Summit 2018: ユーザーインターフェースとしてのチャットボット開発手法 と Bot Framework V4 Tech Summit 2018: ユーザーインターフェースとしてのチャットボット開発手法 と Bot Framework V4
Tech Summit 2018: ユーザーインターフェースとしてのチャットボット開発手法 と Bot Framework V4
 
AWS Amplify - Auth/API Category & Vue 構築ハンズオン
AWS Amplify - Auth/API Category & Vue 構築ハンズオンAWS Amplify - Auth/API Category & Vue 構築ハンズオン
AWS Amplify - Auth/API Category & Vue 構築ハンズオン
 
3 倍早い?! MS 製開発者専用ツールによる HTML5 + JavaScript を使ったWeb 作成
3 倍早い?! MS 製開発者専用ツールによる HTML5 + JavaScript を使ったWeb 作成3 倍早い?! MS 製開発者専用ツールによる HTML5 + JavaScript を使ったWeb 作成
3 倍早い?! MS 製開発者専用ツールによる HTML5 + JavaScript を使ったWeb 作成
 
.NET 最新ロードマップと今押さえておきたい技術要素
.NET 最新ロードマップと今押さえておきたい技術要素.NET 最新ロードマップと今押さえておきたい技術要素
.NET 最新ロードマップと今押さえておきたい技術要素
 
ASP.NET CoreとAzure AD B2Cを使ったサクっと認証
ASP.NET CoreとAzure AD B2Cを使ったサクっと認証ASP.NET CoreとAzure AD B2Cを使ったサクっと認証
ASP.NET CoreとAzure AD B2Cを使ったサクっと認証
 
Developers Summit 2023 9-D-1「もう悩まされない開発環境、プロジェクトで統一した環境をいつでもどこでも」
Developers Summit 2023 9-D-1「もう悩まされない開発環境、プロジェクトで統一した環境をいつでもどこでも」Developers Summit 2023 9-D-1「もう悩まされない開発環境、プロジェクトで統一した環境をいつでもどこでも」
Developers Summit 2023 9-D-1「もう悩まされない開発環境、プロジェクトで統一した環境をいつでもどこでも」
 
【XDev】A-2 アジリティ向上のためのツール活用
【XDev】A-2 アジリティ向上のためのツール活用【XDev】A-2 アジリティ向上のためのツール活用
【XDev】A-2 アジリティ向上のためのツール活用
 
AI-first Code Editor 「Cursor」の機能紹介
AI-first Code Editor 「Cursor」の機能紹介AI-first Code Editor 「Cursor」の機能紹介
AI-first Code Editor 「Cursor」の機能紹介
 
【17-D-6】.NETアセンブリの宿命
【17-D-6】.NETアセンブリの宿命【17-D-6】.NETアセンブリの宿命
【17-D-6】.NETアセンブリの宿命
 
新しい Visual Studio & .NET と新時代のアーキテクチャ
新しい Visual Studio & .NET と新時代のアーキテクチャ新しい Visual Studio & .NET と新時代のアーキテクチャ
新しい Visual Studio & .NET と新時代のアーキテクチャ
 
[REV UP] あなたならどう使う?最新Azureレシピ for LINE Platform
[REV UP] あなたならどう使う?最新Azureレシピ for LINE Platform[REV UP] あなたならどう使う?最新Azureレシピ for LINE Platform
[REV UP] あなたならどう使う?最新Azureレシピ for LINE Platform
 
20180119_AIを支えるクラウド技術
20180119_AIを支えるクラウド技術20180119_AIを支えるクラウド技術
20180119_AIを支えるクラウド技術
 
Windowsストアアプリ開発 オープンセミナー広島
Windowsストアアプリ開発 オープンセミナー広島Windowsストアアプリ開発 オープンセミナー広島
Windowsストアアプリ開発 オープンセミナー広島
 

Plus de Tomomi Imura

Plus de Tomomi Imura (20)

ECMeowScript - What's New in JavaScript Explained with Cats (August 14th, 2020)
ECMeowScript - What's New in JavaScript Explained with Cats (August 14th, 2020)ECMeowScript - What's New in JavaScript Explained with Cats (August 14th, 2020)
ECMeowScript - What's New in JavaScript Explained with Cats (August 14th, 2020)
 
[Japan M365 Dev UG] Teams Toolkit v4 を使ってみよう!
[Japan M365 Dev UG] Teams Toolkit v4 を使ってみよう![Japan M365 Dev UG] Teams Toolkit v4 を使ってみよう!
[Japan M365 Dev UG] Teams Toolkit v4 を使ってみよう!
 
[#DevRelAsia Keynote 2020] Developer Centric Design for Better Experience
[#DevRelAsia Keynote 2020] Developer Centric Design for Better Experience[#DevRelAsia Keynote 2020] Developer Centric Design for Better Experience
[#DevRelAsia Keynote 2020] Developer Centric Design for Better Experience
 
Engineering career is not a single ladder! - Alternative pathway to develope...
Engineering career is not a single ladder!  - Alternative pathway to develope...Engineering career is not a single ladder!  - Alternative pathway to develope...
Engineering career is not a single ladder! - Alternative pathway to develope...
 
Being a Tech Speaker with Global Mindset
Being a Tech Speaker with Global MindsetBeing a Tech Speaker with Global Mindset
Being a Tech Speaker with Global Mindset
 
#TinySpec2019 Slack Dev Meetup in Osaka & Tokyo (in Japanese)
#TinySpec2019 Slack Dev Meetup in Osaka & Tokyo (in Japanese)#TinySpec2019 Slack Dev Meetup in Osaka & Tokyo (in Japanese)
#TinySpec2019 Slack Dev Meetup in Osaka & Tokyo (in Japanese)
 
Slack × Twilio - Uniquely Powering Communication
Slack × Twilio - Uniquely Powering CommunicationSlack × Twilio - Uniquely Powering Communication
Slack × Twilio - Uniquely Powering Communication
 
[2019 Serverless Summit] Building Serverless Slack Chatbot on IBM Cloud Func...
 [2019 Serverless Summit] Building Serverless Slack Chatbot on IBM Cloud Func... [2019 Serverless Summit] Building Serverless Slack Chatbot on IBM Cloud Func...
[2019 Serverless Summit] Building Serverless Slack Chatbot on IBM Cloud Func...
 
[2019 south bay meetup] Building more contextual message with Block Kit
[2019 south bay meetup] Building more contextual message with Block Kit[2019 south bay meetup] Building more contextual message with Block Kit
[2019 south bay meetup] Building more contextual message with Block Kit
 
[TechWorldSummit Stockholm 2019] Building Bots for Human with Conversational ...
[TechWorldSummit Stockholm 2019] Building Bots for Human with Conversational ...[TechWorldSummit Stockholm 2019] Building Bots for Human with Conversational ...
[TechWorldSummit Stockholm 2019] Building Bots for Human with Conversational ...
 
Building a Bot with Slack Platform and IBM Watson
Building a Bot with Slack Platform and IBM WatsonBuilding a Bot with Slack Platform and IBM Watson
Building a Bot with Slack Platform and IBM Watson
 
[日本語] Slack Bot Workshop + Intro Block Kit
[日本語] Slack Bot Workshop + Intro Block Kit[日本語] Slack Bot Workshop + Intro Block Kit
[日本語] Slack Bot Workshop + Intro Block Kit
 
[DevRelCon Tokyo 2019] Developer Experience Matters
[DevRelCon Tokyo 2019] Developer Experience Matters [DevRelCon Tokyo 2019] Developer Experience Matters
[DevRelCon Tokyo 2019] Developer Experience Matters
 
[DevRel Summit 2018] Because we all learn things differently
[DevRel Summit 2018] Because we all learn things differently[DevRel Summit 2018] Because we all learn things differently
[DevRel Summit 2018] Because we all learn things differently
 
[DevRelCon July 2018] Because we all learn things differently
[DevRelCon July 2018] Because we all learn things differently[DevRelCon July 2018] Because we all learn things differently
[DevRelCon July 2018] Because we all learn things differently
 
[Japanese] Developing a bot for your workspace 翻訳ボットを作る!
[Japanese] Developing a bot for your workspace 翻訳ボットを作る![Japanese] Developing a bot for your workspace 翻訳ボットを作る!
[Japanese] Developing a bot for your workspace 翻訳ボットを作る!
 
[Forward4 Webinar 2016] Building IoT Prototypes w/ Raspberry Pi
[Forward4 Webinar 2016] Building IoT Prototypes w/ Raspberry Pi [Forward4 Webinar 2016] Building IoT Prototypes w/ Raspberry Pi
[Forward4 Webinar 2016] Building IoT Prototypes w/ Raspberry Pi
 
Future of the Web with Conversational Interface
Future of the Web with Conversational InterfaceFuture of the Web with Conversational Interface
Future of the Web with Conversational Interface
 
[DevRelCon Tokyo 2017] Creative Technical Content for Better Developer Experi...
[DevRelCon Tokyo 2017] Creative Technical Content for Better Developer Experi...[DevRelCon Tokyo 2017] Creative Technical Content for Better Developer Experi...
[DevRelCon Tokyo 2017] Creative Technical Content for Better Developer Experi...
 
[日本語・Japanese] Creative Technical Content for Better Developer Experience
[日本語・Japanese] Creative Technical Content for Better Developer Experience[日本語・Japanese] Creative Technical Content for Better Developer Experience
[日本語・Japanese] Creative Technical Content for Better Developer Experience
 

[POST.Dev Japan] VS Code で試みる開発体験の向上