※この記事は、VS Codeでtextlintを設定したにもかかわらず「リアルタイムの波線が出ない」問題に実際にハマった体験をもとに書いています。CLIでは動くのにエディタでは反応しない――その原因は、設定ではなくworkspaceの開き方でした。
VS Codeで日本語文章をリアルタイムに校正できるtextlintは非常に便利なツールですが、実際に使ってみると「なぜか動かない」「波線が一切出ない」といった状況に陥ることがあります。私自身も、設定を一通り終えたはずなのにまったく反応せず、かなりの時間を溶かしました。
結論から言うと、原因はtextlintそのものではなく、VS Codeのworkspaceの開き方と、node_modulesの置き場所でした。この記事では、その失敗談と、再現性の高い解決策をまとめます。
なぜVS Codeでtextlintが動かなくなるのか
textlintのCLI(npx textlint *.mdなど)は正常に動くのに、VS Code上ではリアルタイムの波線が一切出ない。この現象は珍しくありません。
原因は、VS Codeのtextlint拡張が**「ワークスペースのルート」を基準に設定ファイルとnode_modulesを探す**という仕様にあります。
たとえば、次のような構成です。
メインフォルダ/
├ 他の作業フォルダ
└ サブフォルダ/
├ node_modules/
├ .textlintrc
└ *.md
この状態でVS Codeを「メイン」フォルダごと開いてしまうと、textlint拡張はルート直下に設定やnode_modulesを見つけられず、結果として何も起きません。CLIはカレントディレクトリ基準で動くため、ここで挙動が分かれます。
実際にやってしまった失敗
私の場合、textlint関連の設定やインストールはすべてサブフォルダ側で行っていました。ところがVS Codeでは、無意識にさらに上位のフォルダを開いたまま作業していました。
その結果、
- CLIでは動く
- VS Codeでは波線が出ない
- 設定を見直しても原因が分からない
という状態に陥りました。

解決策:確実に直す方法
対処法1:textlintを入れたフォルダをそのまま開く
もっとも確実なのは、node_modulesと.textlintrcが存在するフォルダを、VS Codeのワークスペースとして直接開くことです。
VS Codeのメニューから「フォルダーを開く」を選び、textlintをインストールしたフォルダを指定します。これだけで、リアルタイムの波線が復活するケースがほとんどです。
対処法2:Multi-root Workspaceを使う
上位フォルダ全体も見渡したい場合は、Multi-root Workspaceが有効です。
- 上位フォルダを追加
- textlintを入れたサブフォルダも追加
- ワークスペースとして保存
この構成にすると、VS Codeはtextlint用フォルダを正しく認識しつつ、他の作業フォルダも同時に扱えます。
設定は最小構成から始める
動作確認の段階では、.textlintrcはできるだけシンプルにするのがおすすめです。
{<br>"rules": {<br>"preset-jtf-style": true<br>}<br>}オプションや個別ルールの調整は、リアルタイム動作を確認してから段階的に行う方が安全です。
まとめ
VS Codeでtextlintが動かない原因の多くは、設定ミスではなくworkspaceとフォルダ構成のズレです。
textlintは強力ですが、VS Code拡張としてはやや繊細な面があります。まずは「どのフォルダをワークスペースとして開いているか」を疑うことで、無駄な試行錯誤を避けられます。

でも結局、校正判断は人間ですから・・・。ということで以下の本がおすすめです。

『みんなの校正教室』大西寿男 著、2025年1月10日、創元社 刊
https://amzn.to/3XTH4qc