Azure のツール周りの入門セッションを日本語訳した (前編) Visual Studio Code 編 ( #MSIgniteTheTour 登壇内容 ) #VSCode

2020 年 1 月 22 - 23 日開催の、マイクロソフト公式大型カンファレンス『[Microsoft Ignite The Tour Osaka](https://www.microsoft.com/ja-jp/ignite-the-tour/osaka?WT.mc_id=docs-ignite-machiy)』にて、
私は以下の 2 セッション登壇することになりました。

1. 『[Microsoft のクラウド Azure 入門セッション](https://qiita.com/chomado/items/032454af29e3eb6a2c57)』
2. 『[Azure のツール周りの入門セッション](https://qiita.com/chomado/items/fcb431b0cb0a0d0aaef3)』 

最初の『Azure 入門セッション』の内容については [以前の記事](https://qiita.com/chomado/items/032454af29e3eb6a2c57) で書いているので、

今回は 2 セッション目の『Azure のツール周り入門』についてお話します。

この記事では、そのセッションのポイントや、デモの流れや内容などを詳しく解説します。（そしたらとても長くなってしまったので３つに分けています）

## 翻訳前のセッション (英語)

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/24609/e594682f-7506-d6d8-d999-d81020931d40.png)


[Jeremy Likness さん](https://twitter.com/jeremylikness/)によるオリジナルセッション『 **Discovering Azure Tooling and Utilities** 』はこちらです：
https://myignite.techcommunity.microsoft.com/sessions/83203?source=sessions

今回、この、アメリカの『Microsoft Ignite 2019』で発表されたセッションを、
私が日本語訳して日本の方々向けにデリバーすることになったので、
この記事に日本語での補足も含めてまとめます。

で、デモ内容とかも全部記事に落としたら、めっちゃ長くなったので、
前編と後編に記事を分けて書きます。

この記事は、前編の記事です

# もくじ


1. [この記事→] **Visual Studio Code** - VSCode と Azure 拡張機能 
2. **Azure Cloud Shell** - Azure Cloud Shell と Azure CLI ([次の記事](https://qiita.com/chomado/items/1b49c15135847edde77c
))
3. **Azure PowerShell** ([次の記事](https://qiita.com/chomado/items/1b49c15135847edde77c
))
4. **ARM Templates** - Azure Resource Manager Template

## VSCode 編 (この記事) もくじ

1. **Visual Studio Code** (VSCode) とは
    - VSCode きほん
    - 開発者の間でとても人気
2. **Visual Studio Code** (VSCode) を使う理由
    1. VSCode の機能
    2. カスタマイズ性
        - カラーテーマ
        - 拡張機能がたくさん
3. **Visual Studio Code** (VSCode) デモ
    1. VSCode デモ 01 - ファイルの言語
    1. VSCode デモ 02 - カラーテーマを変える
    1. VSCode デモ 03 - Markdown Previewer
    1. VSCode デモ 04 - ウィンドウの見方
    1. VSCode デモ 05 - 検索（ファイル名検索、ファイル内検索）
    1. VSCode デモ 06 - git インテグレーション
    1. VSCode デモ 07 - デバッガー
    1. VSCode デモ 08 - エクステンション (拡張機能)
    1. VSCode デモ 09 - **Azure Tools 拡張機能**
    1. VSCode デモ 10 - Azure Tools 拡張機能を使って、VSCode から直接 web アプリ更新（デプロイ）
    1. VSCode デモ 11 - **Azure Cloud Shell** (Azure Tool 拡張機能)


# 1. **Visual Studio Code** (VSCode)

**Visual Studio Code** (以下 **VSCode**) とは、
マイクロソフトによりオープンソースで開発されている、ソースコードエディタです。

![Visual Studio Code](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/24609/8f95efaf-b04f-7760-5616-8cc8924cdeea.png)

項目|値
----|----
名前|**Visual Studio Code**
通称|**VSCode** (ぶいえすコード)
何|ソースコードエディタ
誕生日|2015 年 4 月 29 日（4年前）
開発元|Microsoft
家|Microsoft の GitHub レポジトリ<br /> [https://github.com/microsoft/vscode]
対応 OS|Windows、macOS、Linux
ダウンロード|https://code.visualstudio.com/?WT.mc_id=docs-ignite-machiy
中身|Electron (Web 技術でデスクトップアプリを作れるフレームワーク) を使用

## 開発者の間でとても人気

Stack Overflow's 2018 Developer Survey によると、VSCode が最も開発者の間で人気のある開発環境であるという調査結果が出ています。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/24609/95b5ec41-8123-7be1-d5f7-0a8fdb4160ad.png)

(表：『[Ranking the Top 5 Code Editors in 2019](https://www.software.com/src/ranking-the-top-5-code-editors-2019)』より）

また、 `software.com` 独自調査のエディタランク付けでも、VSCode が一番です。
↓この表は私もすごくしっくり来た。勉強会とか行くと大体みんなこんな感じ。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/24609/1352240b-286f-3f93-33db-ce815c3e3f3c.png)

(表：『[Ranking the Top 5 Code Editors in 2019](https://www.software.com/src/ranking-the-top-5-code-editors-2019)』より）

個人的にも、上記のエディタは全て経験したことありますが、（IDE の Visual Studio を除いたら）やはり Visual Studio Code が一番お気に入りです。

（注：よく混合されますが、`Visual Studio` と `Visual Studio Code` は別物です。前者が IDE、後者がエディタです）

# VSCode を使う理由

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/24609/59d8a20b-4824-016f-4ffa-698aa76443ff.png)

## VSCode の機能

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/24609/461a77a2-7d78-aa24-f7c5-8efdc8d8c211.png)

* コード編集
* ソースコードコントロール（管理）
* デバッグ
* ビルドインのターミナル
* Git クライアントの統合
* シンタックスハイライト
* インテリセンス
* スニペット
* リファクタリング
* ほかの人たちとの共同作業のサポートや、他のツールとのコラボレーション

など。

てか拡張機能入れたらもっとあるし（Twitter クライアントにしてる人もいるｗ）、
ちょっと挙げきれない。

取り敢えず大体何でもできる。

例えば私は markdown 編集するときは VSCode の markdown previewer (右ウィンドウにプレビューがリアルタイム表示される) が大変便利なので必ず使う

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/24609/ada1f48e-c4d4-8253-4c8e-d18ac23e0ca2.png)

VSCode はデフォルトの状態でも十分な markdown previewer の機能がありますが、
拡張機能『[Markdown Preview Enhanced](https://marketplace.visualstudio.com/items?itemName=shd101wyy.markdown-preview-enhanced)』を入れると、さらにリッチになるのでお勧め

## カスタマイズ性

自分の好みにカスタマイズすることが可能です。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/24609/801f077b-40eb-1434-7ce1-8537524f29d6.png)

* 色やアイコン
* フォント
* キーバインド
* シンタックスハイライト
* コードスニペット

### カラーテーマ

`ファイル` > `設定` > `カラーテーマ`

から、好きなカラーテーマを選択することができます。
デフォルトの状態でも結構な種類のカラーテーマがあるので、自分好みの見た目にすることができます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/24609/f1517955-a1c4-b7e6-c11f-293421e2422a.png)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/24609/a966a319-3f2b-5d7f-c3d7-e0ca52570818.png)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/24609/441f3d09-3d3d-0670-82b1-72471eae5856.png)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/24609/40d9f614-e8be-f25c-0517-df1cad7afea2.png)

## 拡張機能がたくさん

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/24609/4522897e-3ca9-0257-9c23-c4304ecf08b4.png)

VSCode 用の拡張機能、どれくらいあるのかなと思って [Visual Studio Marketplace](https://marketplace.visualstudio.com/search?target=VSCode&category=All%20categories&sortBy=Installs) 見てみたら、
2020/1/20 現在で 15743 個もあるそうです！

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/24609/c1d8d960-ec07-83db-7624-9de95ea9149c.png)

# VSCode デモ

セッション中にやったデモをここに記録します。

「Markdown ファイルを開いています」

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/24609/ab0dda2a-9cba-c188-f7a5-e1a7b8959268.png)

## VSCode デモ 01 - ファイルの言語

「VSCode は、ファイルを開いたら、自動的に、このファイルが markdown であることを判別しています」

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/24609/05cb8e93-156e-be2f-c14d-90c3d2cd50e7.png)

「なんらかの理由で別のファイルとして認識されたい場合は、こうやって、言語一覧から選ぶことができます」

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/24609/92287e00-644a-35f1-b4cd-45cde6144eea.png)

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/24609/245d1be8-d76d-2706-7ca6-a91a50bdc159.png)

## VSCode デモ 02 - カラーテーマを変える

「多くのプレゼンでは、黒背景は見づらいので、明るいカラーテーマが喜ばれますね。そういう時は、 `ctrl` + `shift` + `P` で `コマンドパレット` を開きます」

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/24609/d58587c8-b81f-b62d-2763-385b4a986119.png)

「このカラーテーマというところで enter キーを押すと、ダイナミックプレビューを見ながらカラーテーマを選ぶことができます」

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/24609/363a3691-0906-b285-49ad-0cd14b69827f.png)

「ということで、Light Visual Studio テーマにしてみました」

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/24609/4b13553b-14a5-b23a-c43c-e58de42c3214.png)

## VSCode デモ 03 - Markdown Previewer

「また、このファイルは markdown なので、ダイナミックプレビューを見ることができます。この右側の虫眼鏡みたいなアイコンをクリックします」

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/24609/46297f5c-17e7-3807-8ac2-88d99eec930c.png)

「Open Preview to the Sideって書いてありますね。クリックしたら、右半分に markdown のプレビューが表示されました」

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/24609/c9d1da16-0ba4-e75c-2e34-57fdb5c5adaa.png)

「ライブプレビューが効いているので、リアルタイムに変更が反映されます」
（`Hello World` に `Hello Worldxxx` と追記したら、右のプレビュー画面もリアルタイムに変わる）

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/24609/b45f450c-6b24-8b13-1b4f-90e1e3ab885a.png)

## VSCode デモ 04 - ウィンドウの見方

「左の、この『Open editors』のところは、今開いているファイル一覧で」

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/24609/ae279033-75c4-901b-72a4-32f13d21e3cf.png)

「その下は今開いてるフォルダのファイル一覧」

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/24609/e67f6f8f-8cfc-4935-dd44-9a10f202a7ce.png)


![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/24609/c1d7f1a3-573b-87ad-999d-1f11be6b5bdb.png)

## VSCode デモ 05 - 検索（ファイル名検索、ファイル内検索）

「ファイルの検索も簡単。例えば `bootstrap` って打ったら、そのファイルがハイライトされる」

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/24609/4e349f94-39d5-749f-1cef-daec0f3dae99.png)

「もちろんファイル内検索も簡単。左の虫眼鏡のアイコンを押して、検索。例えば `h1` で検索」

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/24609/ff65083c-4416-ea5c-7c87-f724691a6c0a.png)

## VSCode デモ 06 - git インテグレーション

「左のメニューの虫眼鏡の下、git のアイコン、ソースコード管理のインテグレーションもあります。ここから、`git pull` とか `git push`、`commit all`、`Discard all changes` などの操作が簡単に出来ます」

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/24609/65bd5215-6bda-75b5-47a1-4069e12aa045.png)

## VSCode デモ 07 - デバッガー

「次は左の虫 (bug) のアイコンを押しますと、デバッガーが開きます」

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/24609/3ee8a3ee-3e4b-02c8-de4e-673e4048e229.png)

ブレークポイントを仕込んだり
ステップ実行、
変数を watch したりなどできます。


「ここの歯車のアイコンにカーソルを重ねると `Configure of Fix 'launch.json'`って書かれていますね」

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/24609/2f41ead2-07ae-7377-0a90-d0988efafa99.png)


VS Code で何らかの言語で書かれたアプリをデバッグするには

1. 歯車アイコンをクリックする
2. 言語を選択する
3. `launch.json` ファイルが作成される
4. 必要に応じて編集する

といった流れになります。

参考記事：[PHPプログラミングも快適に！ VS Codeの二大拡張機能 (3/3)](https://www.atmarkit.co.jp/ait/articles/1809/11/news028_3.html)


## VSCode デモ 08 - エクステンション (拡張機能)

VSCode のビューバーで［拡張機能］アイコンをクリックすると
サイドバーの表示が［拡張機能］に切り替わります。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/24609/980bacb0-3798-7c8a-34dc-3bda636de23e.png)

`Enabled` 欄には「28」って書いてありますね。
私の VSCode には拡張機能が 28 個インストールされているようです。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/24609/d4441698-7634-e6b1-4c75-5b8c1db32808.png)

また、その下には、まだインストールされていないけどお勧めの拡張機能の一覧が表示されています。

これらは Visual Studio Marketplace に登録されているものです。（世界中の人たちが拡張機能を作っています。マイクロソフト公式の拡張機能もあれば、Red Hat 社などの企業が作ったものもあるし、趣味デベロッパー個人が作ったものもある）

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/24609/c08b1b49-0be7-1994-2e89-534dd502f7ab.png)

また、拡張機能の検索（絞り込み）も簡単です。
上のテキスト欄に打ち込む。

例えば `node` と入力すると、その名前部分一致したもの一覧が出てくる。
インストール済みのものや、マーケットプレイスからのものも。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/24609/899e9741-eac5-6677-4cfa-788742f7d1f7.png)

それぞれの拡張機能、クリックすると概要が見れる。
何回インストールされているか（人気度）とか、スターの数とか、作者は誰とか。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/24609/05db8184-e2a3-37e4-f88f-013e42d40490.png)

## VSCode デモ 09 - Azure Tools 拡張機能

拡張機能のなかには、左側のビューバーにアイコンが載るものもあります。

例えばこの『 [Azure Tools ](https://marketplace.visualstudio.com/items?itemName=ms-vscode.vscode-node-azure-pack)』という拡張機能を入れたら
ビューバーにこの Azure アイコンが載ります。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/24609/d6dfa056-16bc-2175-c076-b725d29d233d.png)

（Azure Tools 拡張機能インストールすごくお勧め！拡張機能のアイコンを押して、サーチバーで `azure` と検索して、一番上のものを入れよう）

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/24609/c1e4f93b-29e1-82b2-db96-3f3ebd8f8d50.png)


で、
Azure アイコンをクリックすると、サイドバーの表示が Azure のものに切り替わります。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/24609/96c9e2fa-a8e3-e772-cc47-834af6c09eea.png)

自分の Azure に持っているリソース一覧が表示されていますね。

（ちなみに、初回は「Azure にログイン (sign in) してください」というメニュー表示になっています。ログインしたらリソース一覧が出ます）
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/24609/894a078a-f699-727b-59d0-c78e56287ee5.png)


ここで、デモでは、`App Services` (Web アプリホスティングサービス) の
中のひとつのリソース `twt-static` を、右クリックして、
`Browse Website` をクリックします。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/24609/67763737-abb4-ced0-017c-161edbce02b9.png)

web ブラウザが立ち上がり、
Azure にデプロイされた web サイト (~azurewebsites.net) が表示されます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/24609/67ed87a0-97e1-8f35-8843-0868f9abec2a.png)


コードに戻り、`index.html` を編集する。
**インテリセンス** (コード補完やコードサジェスト) が効くことを説明。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/24609/24552886-aa72-077c-d89a-4d2053c4d0a8.png)

## VSCode デモ 10 - Azure Tools 拡張機能を使って、VSCode から直接 web アプリ更新（デプロイ）


ここで、一行追加します。

````html
<h1>Tailwind Traders - Sample Static Site for Orlando!!</h1>
<!-- ↓ここが追記 -->
<h2>Straight from Visual Studio Code</h2>
````

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/24609/ce260b9c-2eb6-0844-1e29-dec56a4fe1ba.png)

そして、Azure タブに戻り、
先ほどの `twt-static` リソースを右クリックして `Deploy to Web App` をクリックします。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/24609/9eee2c94-5a13-11f6-fc8a-5930aed4d471.png)

すると「今サーバー上に既にあるよ。それ上書きするけどいい？」というアラートが出てくるので
「デプロイ」をクリックします。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/24609/6f663cc6-e004-c14d-b85c-b86ea05701a1.png)

進捗はエディタ右下で見れます。「現在デプロイ実行中」みたいに出ます

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/24609/de794f27-f14e-e8f1-a161-6139ea4279e8.png)

また、Azure サイドバーの `twt-static` も「デプロイ中 (`Deploying...`)」という表示になっています。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/24609/36c6ca4b-e62a-dc73-8f29-07bc50240266.png)

デプロイが終わったので web ブラウザに戻ってみます。

現在こうなっていますが

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/24609/14f7fbf0-1442-5e05-1641-da58f283480a.png)

更新してみると、こうなります

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/24609/2fb18121-01bf-97a0-639e-e8721ab85d18.png)

更新された！一行増えていますね！

以上、Azure Tools 拡張機能を使って、VSCode から直接 web アプリ更新（デプロイ）でした

## VSCode デモ 11 - Azure Cloud Shell (Azure Tool 拡張機能)

また `ctrl` + `shift` + `P` で `コマンドパレット ` を開き、
（Azure Tools 拡張機能の入った状態で）`Azure: Open Bash in Cloud Shell` を叩きます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/24609/ba5af77b-71be-dbdf-748d-fc1e2f99ab79.png)

Azure Cloud Shell (bash) が開きました。
madoka として、Azure のリソースの置いてあるところにログインしています。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/24609/8b58067a-dc0c-04b1-8667-8a65ae2c32cb.png)

Bash in Cloud Shell では、 `$ node --version` して、
node のバージョンは v8.16.0 ですが、
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/24609/fb641c30-0e58-2d69-b3aa-357bcda4fc2c.png)

ここで、シェルを切り替えて、
Cloud Shell からローカルの私のマシンのシェルに切り替えてみます

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/24609/385d77bd-6c83-bb8a-711f-a091d16b7ac6.png)

そこで同じように `$ node --version` してみると、
node のバージョンは v.12.14.1 で、異なることが分かります。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/24609/4d282f82-fecf-bcc5-a8c3-d96615da76a3.png)

VSCode 内で、ターミナルから、違う環境にアクセスしていることが分かります。

# つぎ

これで、この最初のチャプター VSCode 編が終わりました。

1. [この記事] **Visual Studio Code** - VSCode と Azure 拡張機能
2. **Azure Cloud Shell** - Azure Cloud Shell と Azure CLI ([次の記事](https://qiita.com/chomado/items/1b49c15135847edde77c
))
3. **Azure PowerShell**  ([次の記事](https://qiita.com/chomado/items/1b49c15135847edde77c
))
4. **ARM Templates** - Azure Resource Manager Template

次は[ **Azure Cloud Shell** と **Azure PowerShell** についての記事](https://qiita.com/chomado/items/1b49c15135847edde77c
) に移ります。


# 復習しよう

この記事で書いたことは
マイクロソフト公式の無料オンライン学習サイト『 [**Microsoft Learn**](https://docs.microsoft.com/ja-jp/learn/?WT.mc_id=docs-blog-machiy) 』の
[こちらのコース](https://docs.microsoft.com/ja-jp/users/msignite2019/collections/ygqtw4xwzwj0?WT.mc_id=docs-blog-machiy)にもよくまとまっているので、
ぜひ自主学習にどうぞ！
→ [https://docs.microsoft.com/ja-jp/users/msignite2019](https://docs.microsoft.com/ja-jp/users/msignite2019/collections/ygqtw4xwzwj0?WT.mc_id=docs-blog-machiy)