📝

VS Code 拡張機能の textlint を使用して文章校正する方法(非 IT 系&初心者向け)

2025/02/01に公開

この記事では VS Code 拡張機能の vscode-textlint を使用して文章を校正する方法を説明しています。非 IT 系や初心者の方でも textlint を導入できるように VS Code のインストールから 1 つずつ説明していきますので、すでにインストール済みの方はその部分を読み飛ばしてください。

OS は Windows 11 を想定していますが、macOS の場合の手順もほぼ同じです。

1. textlint について

textlint(テキストリント)は無料で使用できる文章校正ツールで、スペルミスや表記揺れなどをチェックしたり、自動で修正したりすることができます。テキスト形式のファイル(.txt や .md など)にしか使用できませんが、「.doc」や「.docx」などの Word 形式のファイルもテキストファイルとして保存すれば textlint を使用して文章校正することができます。

textlint の公式サイト:

https://textlint.github.io/

メモ:
textlint は無料で使用できますが、GitHub Sponsors を通じて開発者の azu さんに寄付することもできます。textlint を使用してみて優れたツールだと感じたら、azu さんに寄付をして活動を応援しましょう。

  1. まず GitHub にアクセスしてアカウントを作成します。
  2. azu さんのスポンサー募集ページに移動します。
  3. 画面右側の「Sponsor as」のプルダウンメニューに自分のアカウントが選択されていることを確認します。
  4. その下の「Select a tier」の右側のボタンで「Monthly」(毎月決まった金額を寄付)か「One-time」(指定した金額を 1 回だけ寄付)を選択します。
  5. その下の一覧から寄付する金額を選択します。

2. Visual Studio Code について

Visual Studio Code(ビジュアル スタジオ コード、以下「VS Code」)は Microsoft が開発した多機能なコードエディタです。無料で使用できるうえ、さまざまな拡張機能をインストールして自分の使いやすいようにカスタマイズすることができます。基本的にはプログラマがコードを書くために使用するソフトウェアですが、単なるテキストエディタとして使用することもできます。

この記事の目標は textlint を使用して文章校正をすることですが、textlint は VS Code 上で機能する拡張機能(vscode-textlint)としても提供されています。textlint を単体で使用するよりも使いやすいため、この記事では VS Code の拡張機能である vscode-textlint を導入して VS Code 上で textlint を使用する方法を説明します。

3. Node.js について

Node.js(ノード ジェイエス)は PC 上で JavaScript/TypeScript のプログラムを実行するための追加機能を提供するソフトウェアです。textlint は JavaScript/TypeScript で書かれたプログラムなので、そのままでは PC 上で動作させることができません。PC 上で textlint を実行するには、まず Node.js をインストールする必要があります。

Node.js をインストールすると npm というコマンドを使用してさまざまな Node.js パッケージをインストールできるようになります。パッケージとは、簡単に言うとプログラムの部品のようなものです。前述の textlint は Node.js のパッケージとして提供されています。

Node.js について詳しく解説した記事:

https://qiita.com/non_cal/items/a8fee0b7ad96e67713eb


導入手順

次の手順に沿って必要なソフトウェアをインストールしてから設定します。

Homebrew などのパッケージマネージャを使用して各ソフトウェアをインストールすることもできますが、開発者向けのやり方なのでここでは説明しません。

ステップ 1: VS Code をインストールする

  1. Web ブラウザ(Google Chrome や Microsoft Edge など)を開きます。

  2. VS Code の公式ダウンロードページにアクセスします。

  3. 自分の PC や用途に合うインストーラを選んでダウンロードします。

  4. Windows 版インストーラの選び方:

    • 「User Installer」は個人アカウントでインストールする場合に適しています。自分だけが使う PC の場合はこちらを選びます。

    • 「System Installer」は複数のアカウントで使う場合や管理者権限が必要な場合に適しています。

    • 通常は「User Installer」を選べば問題ありません。

    • x64 と Arm64 の違い:

      • 「x64」は、ほとんどの Windows マシンで使われている一般的なタイプです。
      • 「Arm64」は、Arm アーキテクチャのプロセッサを搭載した PC 向けです。
      • 自分の PC が x64 と Arm64 のどちらかを確認するには、「設定」>「システム」>「バージョン情報」で「システムの種類」を確認します。「64 ビットオペレーティングシステム、x64 ベース プロセッサ」の場合は x64、「64 ビットオペレーティングシステム、ARM ベース プロセッサ」の場合は Arm64 です。

  5. ダウンロードが完了したら、ファイルをダブルクリックしてインストールを開始します。

  6. 指示に従って「次へ」を押しながらインストールを完了させます。

ステップ 2: Node.js をインストールする

  1. Node.js の公式サイトにアクセスします。
  2. 「Node.js (LTS) をダウンロードする」ボタンをクリックしてインストーラをダウンロードします。
  3. ダウンロードしたファイルをダブルクリックしてインストールを開始します。
  4. 指示に従い、すべて「Next」をクリックしてインストールを完了させます。
  5. インストール後、コマンドプロンプトを起動します。Mac の場合はターミナル.app を起動します。
  6. コマンドプロンプト(ターミナル)上で次のコマンドを実行します。
node -v

バージョン番号が表示されればインストール成功です。

コマンドプロンプトの開き方がわからない場合:
「スタート」ボタンをクリックして検索バーに「cmd」と実行します。検索結果に「コマンドプロンプト」が表示されるのでクリックして開きます。開いた後、タスクバーかスタートにピン留めしておくと後々便利です。

注:
今後 textlint のバージョンが更新されていくうちに、今回インストールしたバージョンの Node.js では動かなくなる場合があります。そのようなメッセージが表示された場合は、新しいバージョンの Node.js をダウンロードして再度インストールする必要があります。

ステップ 3: textlint をインストールする

  1. textlint をインストールするためのフォルダを作成します。この例では「textlint-work」という名前のフォルダを C ドライブの「Users」>「acha」フォルダ内に作成することにします。作成する場所はどこでも良いのですが、デスクトップに作成するとマシンの動作が遅くなる原因となりますので、それ以外の場所に作成することをお勧めします。

  2. 「textlint-work」フォルダを右クリックし、表示されるメニューから「パスのコピー」を選択します。Mac の場合は Finder ウインドウを開くと一番下に現在開いているフォルダの名前が表示されるので、それを右クリックし、表示されるメニューから「"<フォルダ名>" のパス名をコピー」を選択します。

  3. ピン留めしたコマンドプロンプトのアイコンを右クリックして「管理者として実行」を選択します。Mac の場合は「ターミナル.app」をそのまま起動します。

  4. 次のコマンドを入力します。<パス名> のところには先程コピーした「textlint-work」フォルダのパスを貼り付けます。リターンキーを押して実行すると「textlint-work」フォルダ内に移動します。

    cd <パス名>
    

    メモ:
    <パス名> のフォルダが現在のドライブとは違うドライブ上のフォルダの場合、上記の cd コマンドでは移動することができません。その場合は、先に次のコマンドを実行します。

    cd /d <移動先のドライブ>:
    

    たとえば、G ドライブの「writing」>「textlint-work」フォルダの中に textlint をインストールする場合は、まず次のコマンドを実行します。

    cd /d G:
    

    上記のコマンドで G ドライブに移動してから次のコマンドを実行すると、目的のフォルダ内に移動できます。

    cd G:\writing\textlint-work
    
  5. コマンドプロンプトの各行の左側に現在のディレクトリ(フォルダ)のパスが表示されているので、「textlint-work」内であることを確認します。たとえば、「textlint-work」フォルダを C:\Users\acha の直下に作成した場合、次のように表示されているはずです。

    C:\Users\acha\textlint-work>
    
  6. 「textlint-work」フォルダ内で Node.js を使用できるように初期化します。次のコマンドを実行すると、「textlint-work」フォルダ内に「package.json」というファイルが作成されます。

    npm init --yes
    

    メモ:
    npm は Node.js をインストールすると使用できるようになるコマンドです。

  7. 次のコマンドを実行して「package.json」が作成されたかどうか確認しましょう。

    Windows の場合:

    dir
    

    Mac の場合:

    ls -la
    

    次のように表示されれば成功です。Mac の場合は違う表示になりますが、項目の中に「package.json」があることを確認できれば OK です。

    2025/01/30  06:17    <DIR>          .
    2025/01/30  06:00    <DIR>          ..
    2025/01/30  06:17               227 package.json
                   1 個のファイル                 227 バイト
                   2 個のディレクトリ  211,287,982,080 バイトの空き領域
    
  8. 次のコマンドを実行して textlint パッケージをインストールします。インストールには少し時間がかかるのでご注意ください。

    npm install -D textlint
    
  9. インストールが完了すると次のように表示されます。

    added 211 packages, and audited 212 packages in 22s
    
    72 packages are looking for funding
      run `npm fund` for details
    
    found 0 vulnerabilities
    
  10. 次のコマンドを実行します。

    npx textlint -v
    

    バージョン番号が表示されればインストール成功です。

  11. 次のコマンドを実行して設定ファイル「.textlintrc.json」を作成します。

    npx textlint --init
    

    この後 dir(Mac の場合は ls -la)を実行すると、次のように表示されるはずです。

    2025/01/30  06:30    <DIR>          .
    2025/01/30  06:00    <DIR>          ..
    2025/01/30  06:29                51 .textlintrc.json
    2025/01/30  06:20    <DIR>          node_modules
    2025/01/30  06:20            96,933 package-lock.json
    2025/01/30  06:20               281 package.json
                   3 個のファイル              97,265 バイト
                   3 個のディレクトリ  211,218,165,760 バイトの空き領域
    

ステップ 4: textlint のルールプリセットをインストールする

textlint で文章をチェックするにはルールをインストールする必要があります。textlint にはさまざまなルールが用意されており、こちらのページで確認することができます。ただし、細かいルールを 1 つずつインストールするのは大変なので、最初は用途別にルールをまとめたルールプリセットをインストールするとよいでしょう。この例では技術文書向けのルールでチェックできるプリセット、textlint-rule-preset-ja-technical-writing をインストールすることにします。次のコマンドを実行すると textlint-rule-preset-ja-technical-writing をインストールできます。

npm install -D textlint-rule-preset-ja-technical-writing

やはりインストールには少し時間がかかるのでご注意ください。なお、このルールプリセットを有効にするには、「.textlintrc.json」で設定する必要があります。設定する方法はステップ 6 で説明します。

なお、ルールは後で追加/削除できます。

ステップ 5: VS Code に vscode-textlint 拡張機能を追加する

  1. VS Code を起動します。

  2. VS Code の画面の一番左側にある四角い「Extensions」アイコンをクリックします。

  3. 検索バーに「textlint」と入力します。

  4. 「vscode-textlint」という拡張機能を見つけて「Install」ボタンをクリックします。

ステップ 6: ルールプリセットを設定する

  1. ルールプリセットを設定する前に、VS Code で変更したファイルが自動で保存されるようにしておきましょう。VS Code の左下にある歯車アイコンをクリックして、表示されるメニューから「Settings」を選択します。

  2. 上部にある検索バーに「save」と入力して、検索バーの下のタブが「User」になっていることを確認します。

  3. 一番上の「Files: Auto Save」の下のプルダウンメニューが「off」になっていたら「afterDelay」に変更します。これで、自動保存がオンになりました。

  4. それでは、ルールプリセットが動作するように設定しましょう。VS Code の左上にある「Explorer」アイコンをクリックします。

  5. 「Open Folder」ボタンをクリックして「textlint-work」フォルダを選択します。

  6. 「Do you trust the authors of the files in this folder?」というダイアログが表示された場合は「Yes, I trust the authors」をクリックします。

  7. 左側の「EXPLORER」内に「textlint-work」フォルダの中身が表示されます。

  8. 「EXPLORER」に表示されている「.textlintrc.json」ファイルをクリックすると、右側に「.textlintrc.json」の内容が表示されます。

  9. 次のように追記します。

    {
        "plugins": {},
        "filters": {},
    -    "rules": {}
    +    "rules": {
    +        "preset-ja-technical-writing": true
    +    }
    }
    

    修正後の「.textlintrc.json」ファイル:

    {
        "plugins": {},
        "filters": {},
        "rules": {
            "preset-ja-technical-writing": true
        }
    }
    

    ここで「true」ではなく「false」に設定すると preset-ja-technical-writing ルールプリセットは無効になります。

  10. なお、このステップの最初で VS Code の自動保存を設定したので、ファイルに変更を加えた後手動で保存する必要はありません。ただし、自動保存にしたくない場合は手動で保存することもできます。その場合は上部の「File」メニューから「Save」を選択するか、または Ctrl+S(Mac の場合は command-S)を押すと、今開いているファイルを保存できます。

ステップ 7: vscode-textlint 拡張機能の設定をする

  1. VS Code の左下にある歯車アイコンをクリックして、表示されるメニューから「Settings」を選択します。

  2. 上部にある検索バーに「textlint」と入力すると、vscode-textlint 拡張機能の設定が表示されます。

  3. 検索バーの下のタブが「User」になっていることを確認します。

  4. 「Textlint: Config Path」のテキストボックスに「.textlintrc.json」のパスを入力します(例:C:\Users\acha\textlint-work\.textlintrc.json)。

  5. textlint を使いたくないファイルがある場合は「Textlint: Ignore Path」のテキストボックスにファイルのパスを入力します(例:C:\Users\acha\Documents\ignore.txt)。

  6. 「Textlint: Languages」を設定します。青い「Edit in settings.json」のリンクをクリックすると、「settings.json」というファイルが開きます。

  7. 「settings.json」の "textlint.languages": [] の中に、次のように追記して保存します。

    {
        "files.autoSave": "afterDelay",
        "editor.fontSize": 16,
        "textlint.configPath": "C:\\Users\\acha\\textlint-work\\.textlintrc.json",
        "textlint.nodePath": "C:\\Users\\acha\\textlint-work\\node_modules",
        "textlint.languages": [
    +        "plaintext", "markdown", "novel"
        ]
    }
    
  8. 「Textlint: Node Path」のテキストボックスに「textlint-work」フォルダ内にある「node_modules」フォルダのパスを入力します(例:C:\Users\acha\textlint-work\node_modules)。なお、「textlint-work」外のフォルダで textlint を使用しない場合は、「Textlint: Config Path」と「Textlint: Node Path」を設定しなくても問題ありません。

  9. 「Textlint: Auto Fix On Save」のチェックボックスをオンにすると、保存したときにルールに従って自動的に修正されます。最初のうちはオフにしておいたほうが無難でしょう。

  10. 「Textlint: Run」のプルダウンメニューで「onSave」を選択すると、ファイルを保存したときに自動的に textlint のチェックが実行されます。「onType」を選択すると、入力したときに自動的に textlint のチェックが実行されます。デフォルトは「onSave」です。

これで必要な設定が完了しました。

ステップ 8: 動作確認をする

  1. テスト用のテキストファイルを作成しましょう。VS Code の「EXPLORER」内で右クリックして「New File...」を選択します。

  2. 適当なファイル名を入力します。この例では「test.md」という名前にします。

  3. 次の内容をコピーして「test.md」に貼り付けて保存します。

    textlintはルールを元に表記揺れや半角空白などをチェックするツールである。
    
    Vs code からルールを元に表記揺れや半角空白などをチェックするツールです。
    
    o(`ω´*)oプンスカ!!
    
    これくらいの量を食べれますか?
    
    手順 1: MacOS を起動します。
    
    手順 2:  mac OS をシャットダウンします。
    
    手順 3: Mac OS を再起動します。
    
  4. textlint が自動的に文章をチェックし、間違いや改善点のある部分に赤い下線が表示されます。また、下線にカーソルを合わせると(クリックせずにホバーする)詳細が表示されます。

  5. 詳細が表示されているダイアログの下にある青字の「Quick Fix」をクリックすると「Quick Fix」ダイアログが表示されます。「Fix this <ルール名> problem」を選択すると、問題が自動で修正されます。「Fix all <ルール名> problems」を選択すると、同じルールによって検出された問題がすべて修正されます。自動修正するのが心配な場合は手入力で修正しましょう。

  6. ここで上部の「Terminal」メニューから「New Terminal」を選択してみましょう。すると、画面下部にパネルが表示されます。

  7. パネルの左端にある「PROBLEMS」タブに間違いや改善点のある部分がすべて表示されます。

メモ:
textlint は下部のパネルの「TERMINAL」タブでコマンドを入力することでも実行できます。コマンドの形式は npx textlint <ファイルのパス> です。たとえば、上述の「test.md」をチェックするには、次のコマンドを実行します。

npx textlint C:\Users\acha\textlint-work\test.md

なお、このコマンドは textlint をインストールしたフォルダ内でしか実行できません。この例の場合は「textlint-work」フォルダです。

ステップ 9: ルールプリセットを調整する

「.textlintrc.json」ファイルの内容を変更することで、プリセット内の特定のルールの有効/無効を切り替えられます。

  1. VS Code で「.textlintrc.json」ファイルを開きます。

  2. 次のように修正して保存します。

    {
        "plugins": {},
        "filters": {},
        "rules": {
    -        "preset-ja-technical-writing": true
    +        "preset-ja-technical-writing": {
    +            "no-dropping-the-ra": false,
    +            "no-exclamation-question-mark": false,
    +            "no-hankaku-kana": false
    +        },
        }
    }
    

    修正後の「.textlintrc.json」ファイル:

    {
        "plugins": {},
        "filters": {},
        "rules": {
            "preset-ja-technical-writing": {
                "no-dropping-the-ra": false,
                "no-exclamation-question-mark": false,
                "no-hankaku-kana": false
            },
        }
    }
    
  3. 「test.md」ファイルをクリックして開いてみましょう。「.textlintrc.json」ファイルで「false」に設定したルールがチェックされなくなりました。

  4. 一部の「false」を「true」に変更すると、「true」にしたルールが有効になります。

  5. 「.textlintrc.json」ファイルの内容をステップ 6 の状態に戻すと、preset-ja-technical-writing のすべてのルールが再び有効になります。

メモ:
設定したルールが有効にならない場合は VS Code を一旦終了して再起動します。

ステップ 6 の状態に戻した「.textlintrc.json」ファイル:

{
    "plugins": {},
    "filters": {},
    "rules": {
        "preset-ja-technical-writing": true
    }
}

参考:
筆者は前述の textlint-rule-preset-ja-technical-writing の他に、次のルールやプリセットをよく使用しています。

ステップ 10: フィルタルールを使用する

フィルタルールを使用することでテキストの一部をチェック対象から除外できるようになります。たとえば、textlint-filter-rule-comments というフィルタルールを使用すると、<!-- textlint-disable --><!-- textlint-enable --> の間にあるテキストに限り、間違いがあっても無視されるようになります。次の手順に従って、実際に textlint-filter-rule-comments を使用してみましょう。

注:
このフィルタ機能は拡張子が「.md」のファイルでしか動作しません。

  1. VS Code の「Terminal」メニュー >「New Terminal」を選択します。

  2. 下部のパネルの「TERMINAL」タブが開くので、次のコマンドを入力してフィルタルールをインストールします。

    npm install -D textlint-filter-rule-comments
    
  3. 「.textlintrc.json」ファイルを開き、次のように修正して保存します。

    {
        "plugins": {},
    -    "filters": {},
    +    "filters": {
    +        "comments": true
    +    },
        "rules": {
            "preset-ja-technical-writing": true
        }
    }
    

    修正後の「.textlintrc.json」ファイル:

    {
        "plugins": {},
        "filters": {
            "comments": true
        },
        "rules": {
            "preset-ja-technical-writing": true
        }
    }
    
  4. フィルタルールの動作確認をするため、「test.md」ファイルを次のように変更して保存します。

    textlintはルールを元に表記揺れや半角空白などをチェックするツールである。
    
    Vs code からルールを元に表記揺れや半角空白などをチェックするツールです。
    
    +<!-- textlint-disable -->
    +
    o(`ω´*)oプンスカ!!
    +
    +<!-- textlint-enable -->
    
    これくらいの量を食べれますか?
    
    手順 1: MacOS を起動します。
    
    手順 2:  mac OS をシャットダウンします。
    
    手順 3: Mac OS を再起動します。
    

    修正後の「test.md」ファイル:

    textlintはルールを元に表記揺れや半角空白などをチェックするツールである。
    
    Vs code からルールを元に表記揺れや半角空白などをチェックするツールです。
    
    <!-- textlint-disable -->
    
    o(`ω´*)oプンスカ!!
    
    <!-- textlint-enable -->
    
    これくらいの量を食べれますか?
    
    手順 1: MacOS を起動します。
    
    手順 2:  mac OS をシャットダウンします。
    
    手順 3: Mac OS を再起動します。
    
  5. 「プンスカ!!」の部分に赤い下線が表示されなくなりました。

ステップ 11: 辞書ファイルを使用する

textlint-rule-prh というルールを使用すると、独自の辞書ファイルで表記揺れなどをチェックできるようになります。

  1. 下部のパネルの「TERMINAL」タブで、次のコマンドを入力して textlint-rule-prh をインストールします。

    npm install -D textlint-rule-prh
    
  2. 辞書ファイルを作成します。VS Code の「EXPLORER」内で右クリックして「New File...」を選択します。場所はどこでも良いのですが、この例では「.textlintrc.json」と同じ場所に作成します。

  3. 適当なファイル名を入力します。この例では「prh.yml」という名前にします。ファイル名は何でも良いのですが、拡張子は必ず「.yml」にする必要があります。

  4. 次の内容をコピーして「prh.yml」に貼り付けて保存します。

    version: 1
    rules:
    
      - expected: macOS
        pattern: /mac\s?OS|Mac\s?OS|MacOS|MAC\s?OS/
        specs:
          - from: "mac OS"
            to: "macOS"
          - from: "Mac OS"
            to: "macOS"
          - from: "MacOS"
            to: "macOS"
          - from: "MAC OS"
            to: "macOS"
    
      - expected: VS Code
        patterns:
          - VS CODE
          - VS code
          - Vs code
          - Vs Code
          - vs code
          - vs Code
    
      - expected: ステップ
        pattern:  /手順 \d/
        prh:      「手順 1」ではなく「ステップ 1」。
    
      - expected: スペースは 1 つだけ。
        pattern:  /(?<=\S)\s{2,}/
        prh:      スペースは 1 つだけ。
    
      - expected: 全角スペースは使用しない。
        pattern:  / /
        prh:      全角スペースは使用しない。
    

    メモ:
    辞書ファイルの書き方を簡単に説明します(詳しい設定方法は textlint-rule-prh の README で確認できます)。

    • expected: に正しい表記(または正しい表記についての説明文)を設定します。
    • patterns: に間違った表記を列挙します。
    • pattern: に間違った表記にマッチする正規表現を設定します。
    • specs: にテストケースを記述します。from: に入力テキスト、to: に期待される出力テキストを指定します。これによって pattern: に設定した正規表現が正しく機能するかどうか確認できます。省略可。
    • prh: に正しい表記の説明文を設定します。省略可。

    なお、正規表現について学びたい方には、ゲーム感覚で学べる楽しいサイト「正規表現パズル」をお勧めします。

  5. 「.textlintrc.json」ファイルを開き、次のように修正して保存します。

    {
        "plugins": {},
        "filters": {
            "comments": true
        },
        "rules": {
    -        "preset-ja-technical-writing": true
    +        "preset-ja-technical-writing": true,
    +        "prh": {
    +            "rulePaths": [
    +                "./prh.yml"
    +            ]
    +        }
        }
    }
    

    修正後の「.textlintrc.json」ファイル:

    {
        "plugins": {},
        "filters": {
            "comments": true
        },
        "rules": {
            "preset-ja-technical-writing": true,
            "prh": {
                "rulePaths": [
                    "./prh.yml"
                ]
            }
        }
    }
    
  6. 辞書ファイルに設定した間違いがチェックされているかどうか確認します。「test.md」を開いても変化がない場合は、一度 VS Code を終了して再起動します。

  7. 辞書ファイルに設定した間違いが検出されて赤い下線が表示されました。

  8. 複数の辞書ファイルを併用することもできます。たとえば、「prh1.yml」と「prh2.yml」という 2 つの辞書ファイルを使う場合は、それとは別に「prh-import.yml」という辞書ファイルを作成して次の内容を貼り付けます。

    version: 1
    
    imports:
        - prh1.yml
        - prh2.yml
    
  9. 次に、「.textlintrc.json」を次のように変更します。

    {
        "plugins": {},
        "filters": {
            "comments": true
        },
        "rules": {
            "preset-ja-technical-writing": true,
            "prh": {
                "rulePaths": [
                    "./prh-import.yml"
                ]
            }
        }
    }
    

textlint のメンテナンス

textlint は現在でも開発が続いているため、新バージョンがリリースされることがあります。常に最新バージョンを使いたい場合は、新バージョンがリリースされたかどうかを定期的に確認する必要があります。

  1. VS Code の「EXPLORER」で textlint をインストールしたフォルダを開いていることを確認します。この例の場合は「textlint-work」フォルダを開いていれば OK です。

  2. 新バージョンがリリースされたかどうかを確認するには、VS Code の下部のパネルの「TERMINAL」タブで次のコマンドを実行します。下部のパネルが開いていない場合は「Terminal」メニュー >「New Terminal」を選択するとパネルが開きます。

    npm outdated
    

    新バージョンがリリースされている場合、たとえば次のように表示されるはずです。

    Package   Current   Wanted   Latest  Location               Depended by
    textlint   12.1.1   14.4.2   14.4.2  node_modules/textlint  textlint-work
    

    上の例の場合は「Current」列の「12.1.1」が現在のバージョンで、「Latest」列の「14.4.2」が最新バージョンです。

  3. 最新バージョンにアップデートするには、まず次のコマンドで現在のバージョンをアンインストールします。

    npm uninstall textlint
    
  4. アンインストールが完了したら次のコマンドで再インストールすると、最新バージョンがインストールされます。

    npm install -D textlint
    
  5. インストールが完了したら、「package.json」を開き、"devDependencies": の中の "textlint": の行を確認します。

      "devDependencies": {
        "textlint": "^14.4.2",
        "textlint-rule-no-mixed-zenkaku-and-hankaku-alphabet": "^1.0.1",
        "textlint-rule-preset-ja-technical-writing": "^12.0.2"
      },
    

    "textlint": の行のバージョン番号が最新のものになっていれば成功です。

  6. 同じ方法でルールやルールプリセットも最新バージョンにすることができます。機能が増えていたり、設定方法が変更されたりすることがあるので、textlint の各種ルールのページから該当するルールのページを見て変更内容を確認し、必要に応じて設定を変更しましょう。

ヒント 1: AI を利用して楽に辞書ファイルを作成する方法

文字数の多い文書を校正する場合、自分で一から辞書ファイルを作成するのは非常に大変です。そういった場合は AI の助けを借りて辞書ファイルを生成してもらい、校正しながら調整していくと比較的楽に辞書ファイルを作成できます(joki_hirooka さん、ありがとうございました)。

  1. AI のファイルアップロード機能を使用して校正したいファイルをアップロードします。例として、この記事のファイル「textlint-setup-guide.md」を Claude 3.5 Sonnet にアップロードします。

  2. 次のプロンプトを入力して送信します。

    このファイルはZennで公開する技術ブログの記事です。この内容を調べて、textlintのtextlint-rule-prhルールによって表記揺れを検出するための.ymlファイルを作成してください。
    
  3. 次のような結果が返されました。必要に応じて各項目を修正しましょう。

    version: 1
    rules:
      # プラットフォーム名の表記
      - expected: macOS
        pattern: /mac\s?OS|Mac\s?OS|MacOS|MAC\s?OS/
        specs:
          - from: "mac OS"
            to: "macOS"
          - from: "Mac OS"
            to: "macOS"
          - from: "MacOS"
            to: "macOS"
          - from: "MAC OS"
            to: "macOS"
    
      # ソフトウェア名の表記
      - expected: VS Code
        patterns:
          - VS CODE
          - VS code
          - Vs code
          - Vs Code
          - vs code
          - vs Code
    
      # 用語の統一
      - expected: ステップ
        pattern: /手順 \d/
        prh: 「手順 1」ではなく「ステップ 1」を使用してください。
    
      # スペース関連
      - expected: スペースは 1 つだけ。
        pattern: /(?<=\S)\s{2,}/
        prh: スペースは 1 つだけ使用してください。
    
      - expected: 全角スペースは使用しない。
        pattern: / /
        prh: 全角スペースは使用せず、半角スペースを使用してください。
    
      # 技術用語の表記
      - expected: コマンドライン
        pattern: /コマンド ライン/
        specs:
          - from: "コマンド ライン"
            to: "コマンドライン"
    
      # プログラミング言語の表記
      - expected: JavaScript
        patterns:
          - javascript
          - Javascript
          - JAVASCRIPT
    
      - expected: TypeScript
        patterns:
          - typescript
          - Typescript
          - TYPESCRIPT
    
      # ハイフンとダッシュの統一
      - expected: ハイフン (-)
        pattern: /—||‐/
        prh: 技術文書では半角ハイフン (-) を使用してください。
    
      # 数値表記
      - expected: 数字は半角
        pattern: /[-]/
        prh: 数字は半角を使用してください。
    
      # カッコの統一
      - expected: 半角カッコを使用
        pattern: /(.*?)/
        prh: カッコは半角 () を使用してください。
    
      # 括弧の前後のスペース
      - expected: 括弧の前後に半角スペース
        pattern: /\S\(|\)\S/
        prh: 括弧の前後に半角スペースを入れてください。
    
      # 技術文書特有の用語
      - expected: デフォルト
        pattern: /ディフォルト/
        specs:
          - from: "ディフォルト"
            to: "デフォルト"
    
      # ファイル拡張子の表記
      - expected: ".md"
        pattern: /\.MD/
        prh: ファイル拡張子は小文字を使用してください。
    
      # プロンプト関連
      - expected: コマンドプロンプト
        pattern: /コマンド プロンプト/
        specs:
          - from: "コマンド プロンプト"
            to: "コマンドプロンプト"
    
      # クラウドサービス
      - expected: GitHub
        patterns:
          - github
          - Git Hub
          - GITHUB
    
      - expected: npm
        patterns:
          - NPM
          - Npm
    
    # 参考情報と追加のルール設定のためのコメント
    # さらに詳細なルールを追加する場合は、上記のテンプレートを参考にしてください。
    # 組織や文書の特性に応じてカスタマイズすることをお勧めします。
    

ヒント 2: HTML の文章を校正する方法

HTML ファイル(.html)の場合、そのままでは textlint で校正することができません。プラグインという機能を使えばできるようになるのですが、今回試しにプラグインをインストールしてみたところ、vscode-textlint 拡張機能が動作しなくなって泥沼にハマってしまいました。そのため、vscode-textlint でプラグインを使用することはお勧めできません。

尤も、HTML 内の文章を直接校正するのは、textlint を使用したとしても可読性が悪くて大変です。そのため、まず HTML ファイルをブラウザで表示してから全体をコピーし、textlint が機能するファイル(.txt や .md など)に貼り付けてから vscode-textlint で校正することをお勧めします。

2025/2/3 追記:
読者の方からの情報提供によると、プラグインをインストールした上で VS Code の設定の「Textlint: Languages」にファイル拡張子を正しく設定すれば、vscode-textlint でもプラグインが問題なく動作するとのことです(shibomb さん、ありがとうございました)。ただし、プラグインの設定はやや難易度が高いため、今のところこの記事では設定方法を説明しない方針です。

お疲れ様でした

これで VS Code で textlint を使用して文章校正ができるようになりました。

最後に、今後 textlint を活用していく際に役に立ちそうな Web ページをご紹介します。

https://taiyolab.com/ja/2025/01/31/textlint-and-novel-writer/

https://qiita.com/munieru_jp/items/83c2c44fcadb177d2806

Discussion