1分でも早く仕事を終わらせるためにVSCodeにできること

# はじめに
本投稿は**『VSCodeが最強のエディタだ!!』などといったことを伝える記事ではありません。**
数あるエディタの中の『VSCode』に焦点を当てて、作業効率化できるための使い方をまとめたものです。
いくつかのテーマに分けて、ご紹介させていただきますので、興味のあるところを拾い読みしていただければと思います。
(スクリーンショットについては、随時更新させていただきますが、古い場合があります。ご容赦ください。)

# 1.ショートカット
ショートカットはかなりの数があるので、今回は**『1日の作業の中で登場頻度が多そうな操作』**に焦点をあてて、効率化を目指していきます。
ショートカットを覚えることで、ある程度の操作はマウスに触らずにできるようになります。
1つ1つの効果としては微々たるものですが、操作頻度の多いものであればあるほど、効果が期待できるので、覚えることをオススメします！

## VSCodeを閉じる ★☆☆☆☆
| 対象OS |  組み合わせキー  |
| ---- | ---- |
| Windows |  Ctrl + Shift + W   |
| MacOS | ⌘ + Shift + W |

VSCodeを閉じるに関しては、おそらく一日の終わりに一度だけという人もいるかも知れませんので、星は1つにしました。
1日一度は必ず行う作業だと思いますので、ほんの少しの時短が期待できます。

## アクティブなエディタを閉じる ★★★★☆
| 対象OS |  組み合わせキー  |
| ---- | ---- |
| Windows |  Ctrl + W   |
| MacOS | ⌘ + W |

これは1日の中でもかなり登場機会の多い操作だと思います。
1点注意点として、アクティブなエディタが一つもない状態で、このコマンドを押すとVSCodeが自体が閉じてしまうので気を付けましょう。
![close_tab.gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/198150/16f11e11-f7a6-b641-3030-c2952d1c5d69.gif)


## エディタの分割 ★☆☆☆☆
| 対象OS |  組み合わせキー  |
| ---- | ---- |
| Windows |  Ctrl + \   |
| MacOS | Ctrl + Option + ⌘ + \ |

これも1日の作業の中では比較的頻度が高いと思いますが、キー配列をみてわかる通り、Windows、MacOSともにDefaultでは入力しにくい配列です。
そのため、個人的な評価は星1となっています。
![view_div.gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/198150/09891564-3fdb-56fb-dab0-37b7c38cffbc.gif)


## サイドバーの表示/非表示 ★★★☆☆
| 対象OS |  組み合わせキー  |
| ---- | ---- |
| Windows |  Ctrl + B   |
| MacOS | ⌘ + B |

これも1日の中でもかなり登場機会の多い操作だと思います。
ワイドサイズのモニターを使っている方であれば、そこまで気にならないかも知れません。
![sidebar_vis.gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/198150/7ba29437-08b5-7cf5-9582-230b9894f844.gif)


## サイドバーに検索窓を表示 ★★☆☆☆
| 対象OS |  組み合わせキー  |
| ---- | ---- |
| Windows |  Ctrl + Shift + F   |
| MacOS | Shift + ⌘ + F |

Workspaceに対する検索を行う際に使用する検索窓を表示するためのショートカットです。
わかりづらいですが、検索窓のすぐ下にある[...]を選択すると、対象ファイル(Include)と除外ファイル(Exclude)の選択ができます。
![search_view.gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/198150/055b040a-cc1e-fd84-76ed-528ebd7415d9.gif)

**【Tips】**
`Ctrl` + `F`を押すことで、アクティブなエディタを対象にして検索を行うこともできます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/198150/bfaf8abf-95e8-5c0b-67de-45f7cfcc6e13.png)

ショートカットは、数が多いだけではなく、OSによっても異なります。
ここにあげたもの以外でも役に立つショートカットはありますので、下記を参考にして少しずつショートカットを覚えながら時短を目指しましょう！

- [Windows版ショートカットキー](https://code.visualstudio.com/shortcuts/keyboard-shortcuts-windows.pdf)
- [MacOS版ショートカットキー](https://code.visualstudio.com/shortcuts/keyboard-shortcuts-macos.pdf)
- [Linux版ショートカットキー](https://code.visualstudio.com/shortcuts/keyboard-shortcuts-linux.pdf)


# 2.編集操作
## 矩形選択 ★★★☆☆
秀丸や、Sakuraエディタといったエディタでも同じようなことができます。
名前の通り、「領域を矩形に選択」できる機能です。
複数行にわたって、Prefixを追加したいといった場合などは非常に効果的です。

キーボードのみで操作する場合には、`Ctrl` + `Shift` + `Alt`を入力している間は、矩形選択入力待ちの状態になります。
後は方向キー(←↑→↓)を使って、選択する範囲を決めます。

マウスを使って選択を範囲を決める場合は、`Shift` + `Alt`を入力している間は、矩形選択入力待ちになるので、マウスを範囲を選択します。

@borusitisan さんよりご提供
マウスホイールをクリックしながらドラッグすることでも、同じように矩形選択を行うことができます。
![squre_select.gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/198150/b28fd4d7-c6f6-677c-0104-cc76071fd84e.gif)

## マルチカーソル ★★★☆☆
マルチカーソルも一括編集を効率的に行う上で有効です。
複数個所にカーソルを指定して、同時にテキストを編集することができます。

最初に対象となる文字列に対して、カーソルを合わせます。(マウスでもキーボードでもどちらでも構いません。)
カーソルを合わせると、対象となっている文字の背景色が薄っすらと変わるので、それを確認したら、`Ctrl` + `Shift` + `L`を入力します。
マルチカーソル状態になると、複数行にカーソルが表示されるようになり、カーソルが表示されている全行に対して、同じ操作を行うことができます。
イメージしにくい方は下記の.gifを参考にしてください。
![multi.gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/198150/7ba2ab6a-13c0-da44-042d-81807fa73397.gif)

**【Tips】**
#### 部分選択/部分適用
@standard-software さんよりご提供
マルチカーソルの状態から `Ctrl` + `D` を入力することで、部分選択と部分適用を行うことができます。
置換で修正するほどでもない、部分的に修正を加えたいといった場合に使うことができます。
`Ctrl` + `D` を続けて入力することで、候補となっている文字列を複数選択できます。
![partial.gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/198150/28f1aab6-4f5f-680d-766e-64559ef1eac0.gif)

`Ctrl` + `K` → `Ctrl` + `D`を入力すると、候補を1つスキップすることができます。
![partial_select.gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/198150/59e03fd2-e1de-b8c5-2829-3e1b8fa87795.gif)


## コードスニペット ★★★★☆
スニペットは、コードの中でよく使用するパターンの宣言やコードなどを再利用可能な形で保存しておき、簡単に入力できるようにしたもののことをさします。
拡張機能で導入する方法と、自分で作成する方法があります。
拡張機能で導入する場合には、Extensionsの検索窓に`〇〇 snippet`もしくは`snippet`と入れると言語に応じたスニペット拡張が入手できます。

#### スニペットを自作する
プロジェクトに応じて、スニペットを自作することもできます。
`File` > `Preference` > `User Snippets`を選択します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/198150/6bb527e3-a1d9-72c3-6c73-3cd0c185a40e.png)
Global設定、言語毎の設定などを選ぶことができます。今回は、VSCode開いているDirectoryのみを対象に作成していきます。
`New Snippets file for '[directory name]'...`を選択することで、Directoryを対象にスニペットを適用することができます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/198150/b5d5a907-f5a8-b293-7b9e-34a2a4566f13.png)
テンプレートを参考に下記のようなスニペットを作成しました。

```json:console.code-snippets
{
	// スニペットの名称
	"console": {
	  // スニペットの適用範囲
	  "scope": "javascript,typescript",
	  // スニペットのトリガー(ここに記載した値を入力し、Ctrl + Tabでスニペットを呼び出せる)
	  "prefix": "log",
	  // スニペットとして実際に出力される部分
	  "body": [
		"console.log('$1');",
		"$2"
	  ],
	  // スニペットの説明
	  "description": "Log output to console"
	}
}
```
コメントに記載した通りですが、`javascript`および,`typescript`の編集時に適用されるスニペットで、`log`の文字をトリガーとしています。
![snippets.gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/198150/9e754f9a-9f9b-f3a6-11c5-c5799b3b0c5d.gif)


駆け足で説明してしまいましたが、気になる人は[ドキュメント](https://code.visualstudio.com/docs/editor/userdefinedsnippets) を参考に自分好みにスニペットを作ってみてください。

## コメントIN/OUT ★★☆☆☆
コメントIN/OUTも覚えておけば、作業を効率化できます。
選択行をコメントアウトするには、`Ctrl` + `K` →　`Ctrl` + `C`、アンコメントするには`Ctrl` + `K` →　`Ctrl` + `U`を入力します。
![comments.gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/198150/b98475d1-7814-9ab6-aebf-9965ff2e728f.gif)

# 3.フォルダ操作
## ワークスペース ★★★★☆
VSCodeのワークスペースは、複数存在するルートフォルダを「ワークスペース」という単位で管理することができる機能です。
プロジェクトの中でフロントとサーバーでリポジトリが分かれている場合などは、2つのルートフォルダを「ワークスペース」に追加することで、プロジェクト単位でフォルダを管理することができます。
プロジェクト単位で「ワークスペース」を作成しておけば、複数VSCodeを立ち上げておく必要はありません。

「ワークスペース」は`.code-workspace`という拡張子で保存されます。
![workspace.gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/198150/30b8b719-706d-4da6-fb3b-d11644749fa1.gif)
※キャプチャの都合上、エクスプローラーが見えていません。ご容赦ください。
※操作としては..`Add Folder to Workspace...`から「front」「server」のフォルダを追加し、「Save Workspace As..」で名前を付けて保存しています。

**【Tips】**
#### フォルダの移動
フォルダの移動に伴って、「ワークスペース」のフォルダが参照できなくなる場合があります。
そういった場合は直接、`.code-workspace`を修正しましょう。
定義自体はJsonなので、簡単に編集することができます。
フォルダへのパスは、`.code-workspace`が配置されている場所からの相対パスになります。

```json:sample.code-workspace
{
	"folders": [
		{
			"path": ".\\front"
		},
		{
			"path": ".\\server"
		}
	]
}
```

ワークスペースの設定に関してはフォルダをまとめるだけではなく、ワークスペース共通の設定や、起動時読み込みの設定、推奨拡張の指定などいろいろと設定をすることができます。気になった方は、「[VS Codeのワークスペース](https://qiita.com/YuichiNukiyama/items/ef16a0219f46ea03a045)」 もしくは、「[マルチルートワークスペース](https://code.visualstudio.com/docs/editor/multi-root-workspaces)」をご参照ください。

# 4.拡張機能
## Github Pull Requests and Issues ★★★☆☆
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/198150/d6e9ac28-ca93-3d97-650b-59135d89ab53.png)

Githubが提供しているVSCode用の拡張機能で、名前の通りPull RequestとIssueの操作をVSCode上から行うことができます。
ブラウザでGithubを開く必要がないため、時短が期待できます。
1点気になる点として、私自身何台かのPCで同じ拡張機能を入れていますが、毎回原因の違うエラーに悩まされてしまい、すんなりと使えたことがありません。
そのため、星3評価にしました。

拡張機能を追加するとサイドバーにアイコンが追加されます。
(初回使用時のみ、Githubとの連携を求められます。)
アイコンをクリックすると、「Pull Requests」「Issues」のスペースが表示されます。
![github_extends.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/198150/d4260786-3642-f7e3-7018-3cdc5544f82d.png)

「Issues」に表示された項目は直感的な操作が可能なので、まずは「Pull Requests」側の項目について説明します。

- Local Pull Request Branches : プルリクエスト用のbranch(PRを作成しないと表示されません。)
- Wating For My Review : 自分へのレビュー依頼がされているPR
- Assigned To Me : 自分にアサインされているPR
- Create By Me : 自分が作成したPR
- All : 全PR

簡単にですが使い方もご紹介していきます。

#### PR用のbranchを作成し、PRを作成  
PR用のbranchを作成したら、さっそくPRを作成します。
「Pull Requests」スペースの[+]を選択すると、リクエスト対象のbranchを要求されるので、今回の例では`master`を選択します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/198150/7bf7493e-733c-7f35-1f71-029f138637ed.png)
リクエスト先branchを指定したら、次にPR用のbranchを入力します。
この例では、`feature/new_feature`を選択します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/198150/d09bc846-7468-fd8c-411b-81a54f7954b9.png)
PRの作成はこれで終了です。

#### レビューとコメント
PRに対するレビューもVSCodeから行うことができます。
編集が行われたファイルを選択することで、変更内容を確認することができます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/198150/cfec3333-77e7-dc0c-44e1-fb6d5385089f.png)

また、コメントをしたい箇所を選択することで、そのままレビューを開始することができます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/198150/463ed8a8-5f86-d94e-be9a-18d1aa4a4bbc.png)
レビューを開始するのであれば `Start Review`、コメントを残すだけであれば、`Add Comment` を選択しましょう。
`Start Review`を選択した場合、入力されたコメントは`Pending`という保留状態になります。
この状態は、レビュワーしかコメントが確認できません。
レビューを終了するには、「Reploy...」と表示された入力欄を選択します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/198150/1471e8e9-5e39-c91a-1a54-2486c194c8e5.png)
選択すると、メニューが表示されるので、`Finish Review`を選択しましょう。レビューが適用されます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/198150/aacda052-4347-21db-3e9f-b63a413b9ced.png)

#### PRの返却
レビューが完了したら、最後にPRを返却しましょう。
PRの返却は、`Description`から行うことができます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/198150/61a9ff62-bfa6-1cd7-db48-5c59d9bb79cd.png)
また、Merge作業についてもこの場で行うことができます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/198150/0f6c67dd-d1cb-bb62-3dfa-91e4c20b6c29.png)


## Live Share ★★★★☆
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/198150/3c5a5a68-9ebc-cd1c-08ca-62661fdfc593.png)
[Visual Studio Live Share](https://visualstudio.microsoft.com/ja/services/live-share/)は、公式のHPに記載があるとおり、リアルタイムでコードの共有などを行うことができます。
『リアルタイムでコードの共有ができる。』という利点を生かして...

- ペアプログラミング
- モブプログラミング
- コードレビュー
- コードベースの研修や勉強会

などを行う際にも使用することができます。
共同で作業を行うためには、Live Shareにサインインしている必要があります。
サインインに必要となるアカウントは..

- Microsoftの個人アカウント
- Microsoftの職場または、学校アカウント
- Githubアカウント

のいずれかです。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/198150/53a684e6-8aa6-a5cf-62c8-cba5dab41879.png)
サイドバーの下にある`Live Share`のアイコンをクリックします。
クリックすると画面上部に、サインインの選択がでるので、持っているアカウントに合わせてサインインを行います。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/198150/668f3556-a5b4-058c-5906-a629683c9a8e.png)
サインインに成功すると下記のように表示が切り替わります。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/198150/3c993f80-1432-b5f9-abc4-25c9fac588f8.png)
これで最低限の準備は完了です。

次に共同で作業を行うためのアクセスポイントを、作業を行う人に共有する必要があります。
![liveshare.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/198150/a147a411-d6df-b913-c1f5-946f7844fe40.png)
サイドメニューのアイコンをクリックすると、サイドバーにメニューが表示されます。
`Session Details`スペースの「Copy Collaboration Link」をクリックする、もしくは...
![link.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/198150/458e3e74-7957-be88-956b-25c8e1ccbcd2.png)
`Help`スペースにある、「More Info」の詳細情報から共有リンクのアクセスポイントを取得することができます。
![moreinfo.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/198150/33f8aa7c-f156-bdeb-93a8-dc10ae1799ad.png)

あとはアクセスポイントを共有すればOKです。


## Docker ★★★★★
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/198150/89fa83fa-64c0-8047-d2cf-0e6f113467d9.png)

Dockerを使った開発では、必須といってもよいほどに重宝します。
拡張機能をInstallすると、お馴染みのクジラのアイコンがサイドメニューに表示されます。
![docker.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/198150/41e2a488-5a7c-cb16-cfaa-1a510486ff85.png)

- Containers : コンテナを管理することができます。
- Images : 構築されたDockerのイメージを管理することができます。
- Registries : Docker HubといったレジストリサービスからイメージのPullなどを行うことができます。
- Networks : Docker内の仮想ネットワークを管理することができます。
- Volumes : マウントされているVolumeを管理することができます。

Dockerのコマンドを覚えていなくても、GUIから操作を行うことができます。
また、コマンドパレットに`Docker`と打ち込むことで、実行できる操作の一覧を見ることもできます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/198150/75c7239c-d1fc-2535-64e3-94fc085f0fe2.png)

こちらも便利な機能をいくつかご紹介させていただきます。

#### View Logs(コンテナ内のログを確認)
コンテナを選択し、`View Logs`を選択することで、起動時のログを確認することができます。
コンテナの起動に失敗した際などは、`View Logs`から起動時のログを確認し、調査を行うことができます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/198150/5ba3818a-962a-60f8-8377-d82e1cda79dd.png)

#### Inspect(コンテナ情報の確認)
`Inspect`を実行するとコンテナ情報を確認することができます。
コンテナで実行されるコマンドや、コンテナの設定、マウントされたイメージなどを確認することができます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/198150/333e545a-b558-4554-aa80-f989e1b7c9cc.png)


## vscode-icons ★★☆☆☆
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/198150/608beebc-436e-2a21-6037-735cd76c4a48.png)
『アイコン設定するだけで何か時短になるのか?』
と思われる方もいるかも知れませんが、エンジニア歴の長い人や、プロジェクトに慣れ親しんでいる人はアイコンを設定しても時間の短縮の効果はないかもしれません。

ただ、新人の方や未経験の言語を触れる際には、アイコンの登録をオススメします。
経験の浅いうちは、『意味のあるファイルは何なのか?』『役割のあるファイルは何なのか?』がとにかくわかりません。
アイコンがつくだけ、これはテキストファイルではなく『意味のあるファイル』ということを認識できるようになります。
速攻性は低いかも知れませんが、騙されたと思って試してみてください。

アイコンに関しては他にも様々な種類あるので、お好きなものを選んでみてください!

- [VSCode Great Icons](https://marketplace.visualstudio.com/items?itemName=emmanuelbeziat.vscode-great-icons)
- [Material Icon Theme](https://marketplace.visualstudio.com/items?itemName=PKief.material-icon-theme)
- [file-icons](https://marketplace.visualstudio.com/items?itemName=file-icons.file-icons)


## gitignore ★★★☆☆
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/198150/9f48ccd5-81a6-b08a-1868-89a1fc7d91f7.png)
`.gitignore`を簡単に作成することができる拡張機能です。
頻繁に使うことはありませんが、意外と面倒な`.gitignore`の作成を簡単に行うことができるます。

使い方は簡単で、まずはコマンドパレット(`Ctrl` + `Shift` + `P`)を開きます。
そして、`Add gitignore`と入力すれば、言語選択を求められるので、あとは対象の言語を入力するだけです。
これで面倒な`.gitignore`の作成時間が短縮されます!
(元になっている`.gitignore`ファイルは [github/gitignore](https://github.com/github/gitignore) のリポジトリで管理されています。)
![gitignore.gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/198150/6e48ece1-2644-12df-59c5-eadb6178c6a3.gif)


## zenkaku ★☆☆☆☆
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/198150/fe584d69-46de-cd3c-09b3-be61d98bdbf4.png)
一度、誤って紛れ込んでしまうと見つけるのが、大変な「全角スペース」。
それもこの拡張機能を使えば簡単に見つけることができます。

拡張機能を追加後、コマンドパレット(`Ctrl` + `Shift` + `P`)を開き、`Enable Zenkaku`で「全角」の可視化を有効化できます。
無効にしたい場合は、コマンドパレットから`Disable Zenkaku`を入力すればOKです。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/198150/094df413-ea5d-f6e8-1b74-42e5796d2969.png)

**【Tips】**
何台かのPCで`Enable Zenkaku`を入力しても、「全角」の可視化が有効にならないケースがありました。
そういった場合は、一度VSCodeを閉じていただくか、アクティブエディタを閉じることで解決しました。
ちなみに、`Disable Zenkaku`は入力後すぐに反映されていました。


## Path Intellisense ★★★☆☆
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/198150/4a47e734-733e-909d-1669-3cfa9b8c9b60.png)

対象ファイルの相対位置から、自動的にファイルパスの補完を行ってくれます。
同じような拡張機能に、「[Path Autocomplete](https://marketplace.visualstudio.com/items?itemName=ionutvmi.path-autocomplete)」があります。


## Partial Diff ★★★★★
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/198150/7c14abac-46be-c60f-f1cc-d85794722881.png)

選択範囲のDiffを行うことができる拡張機能です。
手軽に差分チェックを行うことができるので、非常に重宝しています。

使い方も非常に簡単です。
最初に比較元となる範囲を選択し、`Select Text for Compare`を選択します。
次に、比較先となる範囲を選択し、`Compare Text with Previous Selection`を選択すれば比較ができます。
![diff.gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/198150/8a76d2de-d13e-07a0-01d6-292a29c6239b.gif)


## EditorConfig for VS Code ★★★★☆
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/198150/a096ee8f-144a-7c45-525b-7fbbf4e709c7.png)

`.editorconfig`を採用しているプロジェクトでは、非常に便利な拡張機能です。
`.editorconfig`の内容に則って、IndentStyleやIndent幅などの調整を行ってくれます。

**【Tips】**
`.editorconfig`のTipsになってしまいますが、Markdownに対して設定を適用する場合は注意が必要です。

```config:.editorconfig
root = true

[*]
charset = utf-8
end_of_line = crlf
indent_size = 2
indent_style = space
trim_trailing_whitespace = true
```

特に`trim_trailing_whitespace = true`の設定が、ファイル全体を対象としている場合は、
改行を意図して入れたWhiteSpaceも一緒に削除されるため`.md`ファイルの体裁が崩れてしまいます。

そういった場合には、`.md`ファイルのみ設定を上書きすることで、体裁の崩れを防止することができます。

```config:.editorconfig
root = true

[*]
charset = utf-8
end_of_line = crlf
indent_size = 2
indent_style = space
trim_trailing_whitespace = true

[*.md]
trim_trailing_whitespace = false
```


## Japanese Language Pack for Visual Studio Code ★☆☆☆☆
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/198150/e5e364a4-9f4b-e990-1048-3ccc1513ab27.png)
VSCodeの日本語化拡張パッケージです。
すでにある程度VSCodeを使い慣れてしまっている人には、あまり効果のない拡張機能だと思います。
まだ、『VSCodeを使い始めたばかりの人』や、『どうしても英語が苦手』という方は、時短が期待できる拡張機能です。


## Paste JSON as Code ★★★★☆
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/198150/48652ea0-e9e5-7e89-73ec-26bb2f0233f1.png)

名前の通り「Jsonをコードとして張り付ける」= 「Jsonからクラスの生成」を行うことができます。
モデルクラスなどを作成する際に非常に重宝します。
サポートされている言語には限りがありますが、執筆時点では...

- TypeScript
- Python
- Go
- Ruby
- C#  
...etc

と10数個の言語をサポートしています。気になった方は「[Marketplace -Paste JSON as Code-](https://marketplace.visualstudio.com/items?itemName=quicktype.quicktype)」 を確認してみてください。

使い方も非常に簡単です。
まずは、モデルクラスに必要になるJsonを用意します。
Jsonを用意したら、言語に応じてモデルクラスを生成するためのファイルを用意します。
(.gifでは、sample.csを用意しています。)

後はモデルクラスファイルをアクティブにした状態で、コマンドパレットを開き、`Paste Json to Code`を選択します。
選択すると、Rootクラス名を聞かれるので、モデルクラスに合わせた名前を入力すれば、簡単にクラスを生成できます。
![paste_json.gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/198150/5ced1fb8-fc03-a878-5c04-ffd4e7b7424c.gif)


## Regex Previewer ★☆☆☆☆
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/198150/744b9d5b-eb0d-bf98-ad0f-61a630b7fc1a.png)
正規表現のテストを簡単に行うことができる拡張機能です。
『正規表現なんて余裕ww』という方にはあまり効果のない拡張機能です。
また、対応している言語が執筆時現在は、

- Javascript
- PHP
- Typescript

の3つだけとなっています。


## Excel Viewer ★★★☆☆
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/198150/02f5e4cd-2b42-9520-0cdd-80cb94627a42.png)
CSVやExcelを確認する際に使用するViewer拡張です。
一見するとわかりにくいCSVもテーブルマッピングされた状態で確認することができます。
![csv_view.gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/198150/1e9e5864-a0bb-35fe-b2ca-e3fe096aa6f8.gif)
Excelも`Open Preview`を選択することで簡易的に確認することができます。
![excel_view.gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/198150/9265242c-4129-3fb3-2cb1-6b8d58883b2e.gif)


# 最後に
本投稿が、皆様の明日の作業を1分でも短縮できる一助になればと思います。
1分1秒でも早く仕事を終わらせ、皆様のプライベートの時間が少しでも有意義な時間になれば幸いです。