VSCode で Markdown を書くときの拡張機能厳選三つ＋番外編

この記事は [Visual Studio Code Advent Calendar 2020 - Qiita](https://qiita.com/advent-calendar/2020/vscode) の 14 日目の記事です 🐈

僕は普段 Markdown を書くときに VS Code を使っています。そんな VS Code Markdowner の人たちにお勧めできる、とりあえずこれは最低限入れておいて損はないと思うものを厳選してみました。

## Prettier

[Prettier - Code formatter - Visual Studio Marketplace](https://marketplace.visualstudio.com/items?itemName=esbenp.prettier-vscode)

Markdown の文章をフォーマットしてくれます。

使い方は VS Code の設定に "editor.defaultFormatter": "esbenp.prettier-vscode" を設定して、 Format Document ([Basic Editing in Visual Studio Code](https://code.visualstudio.com/docs/editor/codebasics#_formatting)) するだけです。
また "editor.formatOnSave": true を設定することでファイル保存時に自動フォーマットしてくれます。

```json
"[markdown]": {
  "editor.defaultFormatter": "esbenp.prettier-vscode"
}
```

注意点は three backticks (```) で囲まれた Code Blocks を破壊する可能性があることと、全角文字と半角文字の間にスペースを入れてしまうことです。個人的にスペースは揃っていればどっちでもよい派なのですが、他の文書校正などと組み合わせたときや、スペースを空けない決まりがある場合はこの拡張機能で Markdown をフォーマットしないほうがよいです。 VS Code デフォルトのフォーマッターも全く使えないわけではないので、そっちを試して比較してみるのもよいかと思います。

フォーマット前とフォーマット後はこんな感じ。（わざと多めに間違え入れてみました）

[![Image from Gyazo](https://i.gyazo.com/bfdada3a4526051b92a7a3d9195dd69c.png)](https://gyazo.com/bfdada3a4526051b92a7a3d9195dd69c)
[![Image from Gyazo](https://i.gyazo.com/c45fd6c066658fe008230ba18d479f3a.png)](https://gyazo.com/c45fd6c066658fe008230ba18d479f3a)

## markdownlint

[markdownlint - Visual Studio Marketplace](https://marketplace.visualstudio.com/items?itemName=DavidAnson.vscode-markdownlint)

Markdown の文章をリンティングしてくれます。

例えばこの書きかけの文章だと、こんな感じでおかしい部分に波線がひかれた状態になります。内容は波線にマウスカーソルを合わせるか、 VS Code 下メニューの Problems で確認できます。今回は 3 箇所警告されている状態ですね。

[![Image from Gyazo](https://i.gyazo.com/b6bb886d4160edb6778cde6612e7df7e.png)](https://gyazo.com/b6bb886d4160edb6778cde6612e7df7e)

## Code Spell Checker

[Code Spell Checker - Visual Studio Marketplace](https://marketplace.visualstudio.com/items?itemName=streetsidesoftware.code-spell-checker)

スペル間違えを警告してくれます。

実際の動きはこんな感じです。適当に間違えやすそうな単語を書いて修正してみました。修正は Ctrl + . (cmd + .) で修正できます。

[![Image from Gyazo](https://i.gyazo.com/2d2c093393269e91f15c8ad67ca3c6a9.gif)](https://gyazo.com/2d2c093393269e91f15c8ad67ca3c6a9)

ちなみに名前の通り日本語は警告してくれません。

## 番外編

必要な人が必要なときに入れればよいと思う番外編です。

### Markdown PDF

[Markdown PDF - Visual Studio Marketplace](https://marketplace.visualstudio.com/items?itemName=yzane.markdown-pdf)

Markdown を PDF や HTML,PNG ファイルなどに変換してくれます。どうしても Markdown が開けない (or 開きたくない) 民に送るときに使っています。
使い方は簡単でエディター上で右クリックして Markdown PDF: Export を選択するか、コマンドパレットから同じものを見つけて選択するだけです。

### テキスト校正くん

[テキスト校正くん - Visual Studio Marketplace](https://marketplace.visualstudio.com/items?itemName=ICS.japanese-proofreading)

日本語の文章をチェックしてくれます。

Code Spell Checker はスペルだけなのに対して、こっちは日本語文章の一般的なルールまで見てくれます。使い方はインストールするだけです。
とてもよい拡張機能だとは思うのですがそこまでかしこまった文章を書くことがないのと、これを有効化すると僕の文章はほぼ真っ赤になるので必要なときだけ有効化するようにしています。

### docs-markdown

[docs-markdown - Visual Studio Marketplace](https://marketplace.visualstudio.com/items?itemName=docsmsft.docs-markdown)

Markdown を書くときの太字やコード、テーブルなどを書くときのを補助してくれます。

Markdown を書くのになれていないとどうやって太字にするんだっけ？イタリックにするんだっけ？みたいなことがよくあると思います。それをコマンドパレットから選択できるようになることで解消してくれます。
書くのがなれているとコマンドパレットから探すほうがめんどくさくなって、例えば太字にした場合に選択状態から \* (asterisk) キーを二回押すほうが早いんですよね。なので Markdown 初心者向けかなと思います。