Przejdź do głównej zawartości

Koordynacja IDE i CLI polega na uruchomieniu Claude Code CLI obok edytora: agent zmienia pliki na dysku, a edytor pokazuje, sprawdza i pozwala przejrzeć te zmiany. W terminalu VS Code, Cursora lub JetBrains CLI łączy się z IDE automatycznie; z każdego innego terminala łączy je polecenie /ide. Taki układ działa tylko przy jednej zasadzie: jeden autor na plik.

Ta strona jest dla programistów, którzy mają już działające Claude Code i chcą pracować z nim obok edytora, a nie zamiast niego. Typowe popołudnie: Claude refaktoryzuje warstwę danych w terminalu, ty ręcznie kończysz CheckoutForm.tsx, a podpowiedzi edytora proponują linie w tym samym pliku. Potem twój zapis nadpisuje edycję Claude’a albo Claude nadpisuje twój niezapisany bufor i nikt tego nie zauważa, dopóki nie padnie test. Jeśli nie masz jeszcze rozszerzenia ani wtyczki, zacznij od integracji Claude Code z IDE.

  • Układ dla twojego edytora (VS Code lub Cursor, JetBrains, Neovim z tmux), w którym zmiany Claude’a pojawiają się w edytorze od razu po zapisie.
  • Zasadę własności plików i wzorzec z worktree, dzięki którym ty, AI edytora i Claude nigdy nie piszecie jednocześnie do tego samego pliku.
  • Hook PostToolUse, który lintuje każdy plik edytowany przez Claude’a i odsyła mu błędy, zanim ty na nie spojrzysz.
  • Trzy prompty do skopiowania: przekazanie zadania z wyraźną granicą plików, przebieg weryfikacji z diagnostyką edytora i wskazówki, gdzie patrzeć w diffie.
  • Sposoby wyjścia z sześciu najczęstszych awarii tego układu.

Polecenia i flagi na tej stronie sprawdzono 26 września 2026 r. w Claude Code 2.1.283 (claude --help) oraz w oficjalnych przewodnikach VS Code, JetBrains, hooków i worktree.

To połączenie decyduje, co edytor może dla ciebie zrobić. Połączone IDE pokazuje diffy Claude’a we własnej przeglądarce różnic, wysyła zaznaczenie jako kontekst i pozwala Claude’owi czytać diagnostykę przez narzędzie mcp__ide__getDiagnostics. Niepołączony edytor tylko przeładowuje pliki z dysku.

EdytorJak łączy się CLICo zyskujeszJak zmiany trafiają do bufora
VS Code, Cursor, inne forki VS CodeAutomatycznie w zintegrowanym terminalu; /ide z zewnętrznego terminala; claude --ide łączy przy starcie, gdy dostępne jest dokładnie jedno IDEPrzeglądarka diffów IDE, kontekst zaznaczenia, diagnostykaWbudowany mechanizm obserwacji plików
IntelliJ IDEA, PyCharm, WebStorm i inne IDE JetBrainsAutomatycznie w terminalu IDE z wtyczką Claude Code; /ide z zewnętrznego terminalaPrzeglądarka diffów IDE (ustaw Diff tool na auto w /config), kontekst zaznaczenia, diagnostykaPrzeładowanie po powrocie do okna lub Reload All from Disk
Neovim, Emacs, Helix i pozostałeBrak oficjalnego połączeniaWszystkie funkcje CLI, bez narzędzi IDEautoread plus :checktime (Neovim) albo polecenie przywrócenia pliku w edytorze
  1. Otwórz folder projektu, a potem zintegrowany terminal skrótem Ctrl+` (Cmd+` na macOS).

  2. Podziel terminal (Terminal: Split Terminal). W jednym panelu uruchom claude, w drugim serwer deweloperski albo testy w trybie watch, np. npm run test -- --watch.

  3. Przenieś panel terminala na prawą stronę okna (prawy klik na tytule panelu, Panel Position → Right), aby edytor i panel Claude’a stały obok siebie na pełnej wysokości.

  4. Uruchom /ide w Claude. Polecenie pokazuje stan połączenia z IDE i pozwala wybrać okno edytora, jeśli Claude nie jest jeszcze połączony.

Jeśli wolisz panel graficzny, rozszerzenie VS Code dzieli historię z CLI: claude --resume w terminalu kontynuuje rozmowę z panelu. Przewodnik po integracji z IDE porównuje obie drogi.

Najdroższe awarie tego układu biorą się z dwóch autorów w jednym pliku. Edytor trzyma bufor w pamięci, a Claude czyta i zapisuje plik na dysku. Jeśli masz niezapisane zmiany, gdy Claude edytuje plik, jedna z wersji przepada. Ustal własność przed zadaniem, a nie po konflikcie.

PracaWłaścicielDlaczego
Zmiana w kilku plikach z testami uruchamianymi i poprawianymi w pętliClaude CodeCzyta, edytuje, uruchamia testy i ponawia próbę bez przełączania okien
Praca w powłoce: git, instalacja pakietów, migracje, czytanie logówClaude CodeWynik trafia do jego kontekstu, więc może na niego zareagować
Poprawka dwóch linii w pliku, w którym już jesteśTy, z podpowiedziami edytoraSzybciej niż pisanie promptu
Przegląd diffu Claude’a, debugger krok po kroku, sprawdzenie UITy, w edytorzeEdytor lepiej pokazuje zmiany; Claude nie ma ekranu
Drugi agent, np. własny agent Cursora albo tryb agenta CopilotaTraktuj go jak kolejnego Claude’aTa sama zasada: własne pliki albo własna kopia robocza

Zasadę utrzymują dwa nawyki:

  • Zapisz, zanim przekażesz. W VS Code File → Save All, w Neovimie :wa. Ustawienie rozszerzenia VS Code claudeCode.autosave (domyślnie true) zapisuje otwarte pliki, zanim Claude je przeczyta lub zapisze, ale CLI w zwykłym terminalu tego nie robi.
  • Wyznacz granicę zadania. Powiedz Claude’owi, których plików może dotykać, a które edytujesz ty. Robi to poniższy prompt.

Gdy Claude potrzebuje więcej niż kilku minut albo dotyka plików, których też potrzebujesz, wyprowadź go z twojego drzewa roboczego. --worktree tworzy osobną kopię w .claude/worktrees/<name>/ na nowej gałęzi worktree-<name>, więc edycje Claude’a nie sięgną twoich otwartych buforów:

Okno terminala
claude --worktree pricing-refactor

Otwórz ten folder w drugim oknie edytora, aby obserwować i przeglądać pracę (w VS Code: code .claude/worktrees/pricing-refactor). Dodaj .claude/worktrees/ do .gitignore, aby kopia nie pojawiała się jako nieśledzone pliki w głównym drzewie. Worktree to świeży checkout, więc nie ma node_modules ani .env, dopóki nie zainstalujesz zależności albo nie wypiszesz ignorowanych plików w .worktreeinclude. claude --worktree NAME --tmux dodatkowo otwiera sesję we własnej sesji tmux (albo w panelach iTerm2, gdy są dostępne). Gałąź scalasz, gdy przejdą kontrole z następnej sekcji.

Jak sprawdzić zmiany Claude’a bez czytania każdej linii?

Dział zatytułowany „Jak sprawdzić zmiany Claude’a bez czytania każdej linii?”

Dowody pojawiają się w edytorze: w panelu Problems, w wynikach testów w drugim panelu i w widoku diffu. Ustaw wszystko tak, aby Claude zobaczył te same dowody pierwszy i naprawił, co się da, zanim ty spojrzysz.

Hook PostToolUse uruchamia się po każdym wywołaniu narzędzia. Przy kodzie wyjścia 2 jego stderr wraca do Claude’a, więc błąd lintera staje się kolejnym zadaniem Claude’a, a nie twoim komentarzem w review. Dodaj to do .claude/settings.json, aby udostępnić hook zespołowi (zakłada projekt TypeScript z ESLintem i jq w PATH):

.claude/settings.json
{
"hooks": {
"PostToolUse": [
{
"matcher": "Edit|Write",
"hooks": [
{
"type": "command",
"command": "f=$(jq -r '.tool_input.file_path // empty'); case \"$f\" in *.ts|*.tsx) npx eslint --max-warnings=0 \"$f\" 1>&2 || exit 2 ;; esac"
}
]
}
]
}
}

Hook lintuje tylko plik, który Claude właśnie zmienił, więc pozostaje szybki nawet w dużym repozytorium. Jeśli twój edytor nie pokazuje zewnętrznych zmian, osobisty wariant w .claude/settings.local.json może zamiast tego otwierać każdy edytowany plik: zamień polecenie na f=$(jq -r '.tool_input.file_path // empty'); [ -n "$f" ] && code -r "$f" || true (w Cursorze cursor -r). Przewodnik po automatyzacji hookami opisuje formatery, hooki blokujące i pełną listę zdarzeń.

W połączonej sesji VS Code lub JetBrains Claude może wywołać mcp__ide__getDiagnostics, aby odczytać błędy zgłaszane przez serwer języka. Nie licz na to, że Claude wywoła je po każdej edycji; poproś o to razem z testami i sprawdzeniem typów.

W niepołączonym edytorze, takim jak Neovim, zastąp krok 1 poleceniem kompilatora lub lintera. Potem sprawdzaj dowody, nie kod: panel Problems jest pusty dla zmienionych plików, panel z testami pokazuje ten sam wynik, który zgłosił Claude, a git diff --stat wymienia tylko pliki z wyznaczonej granicy. Przy fragmentach, które mają znaczenie, niech Claude wskaże ci, gdzie patrzeć.

Otwórz te fragmenty w widoku diffu edytora i tam je akceptuj lub odrzucaj. W zespole ostatecznym zatwierdzeniem jest bramka CI na pull requeście, a nie lokalny zielony wynik; przewodnik po pakiecie dowodów pokazuje, co do niego dołączyć. Uważaj na jeden wzorzec: test, który zzieleniał, bo Claude poprawił test zamiast kodu. Ochrona wyroczni wyjaśnia, jak temu zapobiec.

Edytor nie pokazuje zmian Claude’a. VS Code domyślnie obserwuje przestrzeń roboczą; jeśli plik się nie odświeża, uruchom z palety poleceń File: Revert File i sprawdź, czy ścieżka nie jest w files.watcherExclude. W JetBrains użyj Reload All from Disk. W Neovimie uruchom :checktime i dodaj blok autoread z góry strony.

Twoja edycja i edycja Claude’a nadpisały się nawzajem. Zapisałeś stary bufor, nadpisując zmianę Claude’a, albo Claude zapisał plik, gdy miałeś niezapisaną pracę. Uruchom git diff na tym pliku, aby zobaczyć, która wersja przetrwała. Aby cofnąć stronę Claude’a, uruchom /rewind (albo dwa razy naciśnij Esc przy pustym prompcie) i wybierz punkt kontrolny sprzed edycji. Punkty kontrolne śledzą tylko narzędzia edycji plików Claude’a, a nie polecenia Bash ani twoje własne zmiany, więc do nich użyj git restore albo lokalnej historii edytora. Potem wyznacz granicę zadania lub przenieś je do worktree.

Claude zgłasza „File has been modified since read”. Coś zmieniło plik po tym, jak Claude go przeczytał: ty, formatowanie przy zapisie albo inny agent. Claude musi przeczytać plik ponownie, co kosztuje turę i kontekst. Nie edytuj tego pliku, gdy Claude nad nim pracuje, albo wyłącz formatowanie przy zapisie na czas zadania i zostaw lintowanie hookowi.

Diffy pojawiają się w terminalu, a nie w IDE. Sesja nie jest połączona. Uruchom /ide; w JetBrains ustaw też Diff tool na auto w /config. Jeśli /ide odpowiada „No available IDEs detected”, przejdź listę kontrolną z przewodnika po integracji z IDE.

Hook spowalnia każdą edycję albo blokuje Claude’a w pętli. Polecenie lintuje cały projekt albo istniejący wcześniej błąd lintera wciąż zwraca kod 2. Ogranicz polecenie do $f, jak w przykładzie, i napraw istniejące błędy albo zapisz je jako stan bazowy, zanim włączysz hook.

Panel terminala jest za wąski, by cokolwiek przeczytać. Diffy i tabele zawijają się w wąskim podziale. Daj panelowi Claude’a połowę okna, przenieś panel na bok zamiast na dół albo uruchom Claude’a w osobnym oknie tmux i przełączaj się klawiszem prefiksu.