LoginSignup
14
4

More than 1 year has passed since last update.

【VSCode】Markdownに目次を自動作成する方法

Posted at

作成方法

目次を自動で作成するために以下の拡張機能を使用します。

インストール後にMarkdownファイルの目次を挿入したい箇所にカーソルを合わせます。
コマンドパレットでMarkdown All in One: Create Table of Contentsを実行します。
すると以下のように目次が挿入されます。

# タイトル

## 目次

- [タイトル](#タイトル)
  - [目次](#目次)
  - [セクション1](#セクション1)
    - [セクション1-1](#セクション1-1)
    - [セクション1-2](#セクション1-2)
  - [セクション2](#セクション2)
  - [セクション3](#セクション3)

## セクション1

### セクション1-1

### セクション1-2

## セクション2

## セクション3

デフォルトではファイル保存時に自動で内容が更新されます。

目次に関する設定

更新

デフォルトではファイル保存時に更新されます。
settings.jsonに以下のように記述することで無効にできます。

settings.json
{
  "markdown.extension.toc.updateOnSave": false,
}

手動で更新する場合にはコマンドパレットからMarkdown All in One: Update Table of Contentsを実行します。

目次にする範囲

settings.jsonに以下のように記述することで目次にする範囲を指定できます。

settings.json
{
  "markdown.extension.toc.levels": "2..6"
}

デフォルトは"1..6"です。
"2..6"とした場合には以下のように#は目次から除外されます。

# タイトル

## 目次

- [目次](#目次)
- [セクション1](#セクション1)
  - [セクション1-1](#セクション1-1)
  - [セクション1-2](#セクション1-2)
- [セクション2](#セクション2)
- [セクション3](#セクション3)

## セクション1

### セクション1-1

### セクション1-2

## セクション2

## セクション3

また特定の見出しの除外もできます。

settings.jsonに以下のように追記します。

settings.json
{
  "markdown.extension.toc.omittedFromToc": {
    "sample.md": ["## セクション2"]
  }
}

または絶対パスでファイルを指定します。

settings.json
{
  "markdown.extension.toc.omittedFromToc": {
    "/path/to/sample.md": ["## 目次"]
  }
}

設定後に目次を作成すると以下のようになります。

sample.md
# タイトル

## 目次

- [セクション1](#セクション1)
  - [セクション1-1](#セクション1-1)
  - [セクション1-2](#セクション1-2)
- [セクション2](#セクション2)
- [セクション3](#セクション3)

## セクション1

### セクション1-1

### セクション1-2

## セクション2

## セクション3

順序付きリスト

settings.jsonに次の記述を追加すると目次が順序付きリストになります。

settings.json
{
  "markdown.extension.toc.orderedList": true
}

追加後に目次を作成すると以下のようになります。

sample.md
# タイトル

## 目次

1. [目次](#目次)
2. [セクション1](#セクション1)
   1. [セクション1-1](#セクション1-1)
   2. [セクション1-2](#セクション1-2)
3. [セクション2](#セクション2)
4. [セクション3](#セクション3)

## セクション1

### セクション1-1

### セクション1-2

## セクション2

## セクション3

14
4
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
14
4