ANTIGRAVITY LABEN
記事一覧/Editor View
Editor View/2026-05-04中級

Antigravity で ESLint と TypeScript の赤波線が消えた時に確認する5つのポイント

Antigravity でエディタの赤波線エラーが急に出なくなる現象の原因を、症状別に5つの視点で診断する手順をまとめました。TypeScript Server再起動から AI が触った tsconfig の復元まで実用本位で解説します。

antigravity436typescript27eslinttroubleshooting88editor28

「さっきまで出ていた赤波線が、いつの間にか出なくなっている」— Antigravity で開発していると、ある瞬間からエディタが何も指摘してくれなくなることがあります。コードは明らかに壊れているのに、Problems パネルも空、保存しても何も起きありません。私自身、AI エージェントに大きめのリファクタを依頼したあとにこの状態に陥り、原因を切り分けるのに半日溶かしたことがあります。

ここではその経験から得た「先に確認すべき順番」を5つにまとめました。原因の8割は最初の2つで解決します。残りの3つは、AI エージェントを多用する開発スタイルだからこそ起きやすい落とし穴です。

まず症状を切り分ける(5秒で済む確認)

赤波線が出ないと一口に言っても、原因によって出方が違います。最初に下記のどれに当てはまるか確認してください。

  • TypeScript の型エラーだけ消えた(number に文字列を代入しても無反応)
  • ESLint の警告だけ消えた(未使用変数や console.log が指摘されない)
  • 両方とも消えた
  • 特定のファイルだけ消えた(他のファイルでは正常)

切り分けの一番早い方法は、わざとシンタックスエラーを書くことです。const x: number = "abc" と書いて赤波線が出るかを確認します。出なければ TypeScript 側、出るなら ESLint 側の問題です。両方消えていれば、エディタの言語サーバそのものが落ちているか、設定ファイルが壊れています。

「特定のファイルだけ消えた」場合は、後述する4番目のポイント(include 設定)が原因のことが多いので、そこから読み進めてください。

1. TypeScript Server を再起動する

体感で6割の症状は、これで治ります。Antigravity は VS Code 系のエディタなので、コマンドパレット(macOS なら Cmd+Shift+P、Windows/Linux なら Ctrl+Shift+P)から TypeScript: Restart TS Server を実行してください。

なぜこれで治るかと言うと、TS Server は内部にプロジェクト全体の型情報をキャッシュしているのですが、長時間の編集や AI エージェントによる大量のファイル書き換えがあると、そのキャッシュが現実のファイルとずれることがあるからです。再起動するとファイルを読み直し、整合性が取れた状態に戻ります。

// .vscode/settings.json — TS Server をやや頑丈に運用したい時の設定例
{
  // 大規模プロジェクトで TS Server が落ちにくくなる
  "typescript.tsserver.maxTsServerMemory": 4096,
  // モノレポやワークスペース機能を使うときは true 推奨
  "typescript.enablePromptUseWorkspaceTsdk": true,
  // 編集中の自動キャッシュ更新が効かない時のフォールバック
  "typescript.tsserver.experimental.enableProjectDiagnostics": false
}

maxTsServerMemory を 4096 MB まで上げると、ファイル数が数千を超えるプロジェクトでもクラッシュしにくくなります。逆にメモリを取りすぎる場合は 2048 MB あたりまで下げて、頻繁に再起動する運用にする方が安定することもあります。私はノート PC では 2048、デスクトップでは 4096 と分けています。

2. ESLint 拡張機能の Output を見る

ESLint 側の波線が消えた時は、まず ESLint 拡張機能のログを開きます。下部パネルの「出力(Output)」タブを開き、ドロップダウンから ESLint を選択してください。

赤い [Error] 行があれば、たいていそこに原因が書かれています。よく見るのはこの3パターンです。

  • Failed to load config xxx: .eslintrc.* で読み込んでいる共有設定が壊れているか、依存パッケージが入っていありません。npm install で解決することが多い
  • Parsing error: Cannot find module 'typescript': モノレポでルートに TypeScript が入っていないケース。各パッケージで個別に typescript を入れているとこうなる
  • Rule '...' was not found: 使っていないプラグインの extends が残っています。設定ファイルから該当行を削除する
# プロジェクトルートで依存関係をきれいに作り直す
rm -rf node_modules package-lock.json
npm install
# その後、Antigravity を再起動するか「Developer: Reload Window」を実行

ESLint v9 系に上げた直後の症状なら、Flat Config(eslint.config.js)への移行が原因かもしれません。旧来の .eslintrc.json と Flat Config が両方プロジェクトに存在すると、ESLint 拡張機能が混乱して何も検知しなくなる挙動を確認しています。どちらか片方に統一してください。

3. ステータスバーの言語インジケータを確認する

エディタの右下にある言語名(TypeScript JSX など)の表示部分が、思ったより重要です。ここをクリックすると現在のファイルがどの言語モードで認識されているかが分かります。

たまに Plain Text になっていて、それが原因で全く診断が走っていないことがあります。.tsx ファイルが Plain Text 扱いになる典型的な原因は、ファイル冒頭にある // @ts-nocheck コメントや、files.associations の設定漏れです。

// .vscode/settings.json — 言語の関連付けを明示する
{
  "files.associations": {
    "*.tsx": "typescriptreact",
    "*.ts": "typescript",
    "*.mdx": "mdx"
  }
}

@ts-nocheck は AI エージェントが「型エラーを早く消したい」時に勝手に追加することがあります。ファイル冒頭にこの行が入っていないかは、診断が動かないファイルでまず確認したいポイントです。

4. tsconfig.json と eslintrc の include 設定を見直す

「特定のファイルだけ波線が出ない」症状の主犯は、ほぼこれです。tsconfig.jsoninclude / exclude、または .eslintrcignorePatterns に該当ファイルが含まれてしまっています。

// tsconfig.json — よくある「気づかない exclude」の例
{
  "compilerOptions": { "strict": true },
  "include": ["src/**/*"],
  // ↓ これが原因で src 外のファイルは型チェックされない
  "exclude": ["node_modules", "dist", "scripts/**"]
}

scripts/ 以下に書いた .ts ファイルが診断されない、というケースで何度かハマりました。include/exclude は明示しなければデフォルトで全 .ts ファイルが含まれますが、書き始めた瞬間に他のファイルが暗黙的に除外されていきます。

新規ディレクトリを追加した時は、両方の設定ファイルで対象範囲を確認するクセをつけておくと安全です。

5. AI エージェントが触った設定ファイルを git で復元する

最後の関門です。AI エージェントに「型エラーを直して」とお願いしたあと、なぜか他のファイルでも診断が出なくなる現象。これは、エージェントが tsconfig.jsonstrictfalse にしたり、noImplicitAny を消したり、.eslintrcextends を削ったりしているケースが疑われます。

# 直近の設定ファイル変更を確認する
git log --oneline -10 tsconfig.json .eslintrc.json eslint.config.js
# 直前のコミット時点に戻す
git checkout HEAD -- tsconfig.json .eslintrc.json

エージェントの差分は便利ですが、設定ファイルへの変更だけは PR を分けて目視レビューする運用に切り替えるのが、長期的にはおすすめです。私は tsconfig.*.eslintrc*eslint.config.*.cursorignore ならぬ「エージェント自動編集対象外」として運用しています。

エディタ系のトラブルでは、Antigravity の Language Server (LSP) が応答しない時の修正手順Antigravity の Format on Save が動かない時の対処Antigravity のタブ補完が効かない時の修正 もあわせて読むと、診断・補完・整形の3点セットで対処の引き出しが揃います。

tsconfig の各オプションが何を意味するかを腹落ちさせておくと、こうしたトラブルの切り分けが速くなります。

今日できる一歩

赤波線が出ない状態でコードを書き続けるのは、ヘルメットなしで自転車に乗るくらい怖い行為です。今日はまず、Cmd+Shift+PTypeScript: Restart TS Server のキーバインドを覚えるところから始めてみてください。これだけで、明日からのデバッグ時間が確実に短くなります。

シェア

お読みいただきありがとうございます

Antigravity Lab は広告なしで運営しており、サーバー費用などの運営コストはメンバーシップのご支援で賄っています。実装コード・ベンチマーク・本番設計パターンなど、実務でお役立ていただける記事を毎日更新しています。もし読んでよかったと感じていただけましたら、ぜひご覧ください。

  • コピー&ペーストで使える実装コード付き
  • 毎日新しい上級ガイドを追加
  • ¥580/月 または ¥1,480 の永久アクセス
メンバーシップを見る →

もしこの記事がお役に立ちましたら、チップ(¥150)で応援いただけると大変励みになります。広告なしでの運営を続けるため、皆さまのご支援が大きな力になっています。

関連記事

Editor View2026-05-07
Antigravity で「参照の検索(Find References)」が抜ける・空になる時の修正手順
Antigravity IDE の Find References が空のまま結果を返さない、あるいは一部のファイルだけ抜ける現象を、TypeScript・Python・モノレポの典型パターン別に診断して直す手順をまとめました。
Editor View2026-05-05
Antigravity で TypeScript のパスエイリアスが効かないときの原因と直し方
AntigravityでTypeScriptの@/パスエイリアスが解決されずCannotfindmoduleエラーが出る問題を解決します。tsconfig.jsonの設定からAntigravityのワークスペース設定まで、実際に動く手順で解説します。
Editor View2026-05-02
AntigravityでCmd+Zを押したらAI生成コードが思った以上に消える問題の防ぎ方
AIが書いてくれた100行を残したいのにCmd+Zで一気に巻き戻った、その経験を持つ人へ。Antigravityで起きる「Undoのまとめ消し」を、原因と防止策と復旧手順の3段階で整理します。
📚RECOMMENDED BOOKS
大規模言語モデル入門
山田育矢
LLM開発
生成AIプロンプトエンジニアリング入門
我妻幸長
プロンプト
Claude CodeによるAI駆動開発入門
平川知秀
AI駆動開発
※ アフィリエイトリンクを含みます
もっと見る →