Koordynacja IDE i CLI: Claude Code obok edytora
ENKoordynacja 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.
Co daje dobrze zgrany układ IDE i CLI
Dział zatytułowany „Co daje dobrze zgrany układ IDE i CLI”- 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.
Jaki układ pasuje do twojego edytora?
Dział zatytułowany „Jaki układ pasuje do twojego edytora?”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.
| Edytor | Jak łączy się CLI | Co zyskujesz | Jak zmiany trafiają do bufora |
|---|---|---|---|
| VS Code, Cursor, inne forki VS Code | Automatycznie w zintegrowanym terminalu; /ide z zewnętrznego terminala; claude --ide łączy przy starcie, gdy dostępne jest dokładnie jedno IDE | Przeglądarka diffów IDE, kontekst zaznaczenia, diagnostyka | Wbudowany mechanizm obserwacji plików |
| IntelliJ IDEA, PyCharm, WebStorm i inne IDE JetBrains | Automatycznie w terminalu IDE z wtyczką Claude Code; /ide z zewnętrznego terminala | Przeglądarka diffów IDE (ustaw Diff tool na auto w /config), kontekst zaznaczenia, diagnostyka | Przeładowanie po powrocie do okna lub Reload All from Disk |
| Neovim, Emacs, Helix i pozostałe | Brak oficjalnego połączenia | Wszystkie funkcje CLI, bez narzędzi IDE | autoread plus :checktime (Neovim) albo polecenie przywrócenia pliku w edytorze |
-
Otwórz folder projektu, a potem zintegrowany terminal skrótem
Ctrl+`(Cmd+`na macOS). -
Podziel terminal (Terminal: Split Terminal). W jednym panelu uruchom
claude, w drugim serwer deweloperski albo testy w trybie watch, np.npm run test -- --watch. -
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.
-
Uruchom
/idew 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.
-
Otwórz okno narzędzia Terminal (
Alt+F12, na macOSOption+F12) w katalogu głównym projektu i uruchomclaude. -
Uruchom
/configi ustaw Diff tool naauto. Ta pozycja pojawia się tylko wtedy, gdy IDE jest połączone, więc przy okazji sprawdza połączenie. -
Przeciągnij okno narzędzia Terminal do prawej krawędzi IDE, aby kod i Claude były widoczne jednocześnie.
-
Jeśli zewnętrzna zmiana się nie pojawia, użyj File → Reload All from Disk (
Ctrl+Alt+Yna Windows i Linuksie,Cmd+Option+Yna macOS).
Neovim nie ma oficjalnej integracji z Claude Code (sprawdzone w dokumentacji Claude Code 2.1.283), więc CLI działa w podziale okna, a Neovim przeładowuje bufory z dysku. Dodaj to do konfiguracji, aby bufory odświeżały się po powrocie do nich:
set autoreadautocmd FocusGained,BufEnter,CursorHold * checktimeDo krótkiej sesji otwórz terminal w podziale wewnątrz Neovima:
:vsplit | terminal claudePrzy dłuższej pracy daj każdemu narzędziu osobny panel tmux (uruchom w powłoce):
tmux new-session -d -s dev -c "$PWD"tmux send-keys -t dev "nvim ." C-mtmux split-window -h -t dev -c "$PWD"tmux send-keys -t dev "claude" C-mtmux select-pane -t dev -Ltmux attach -t devWtyczka społeczności coder/claudecode.nvim implementuje ten sam protokół WebSocket co oficjalne rozszerzenia, więc daje diffy i kontekst zaznaczenia w Neovimie. To projekt zewnętrzny, oznaczony w README jako beta (stan z 26 września 2026 r.), a nie produkt Anthropic, więc przypnij wersję, zanim na nim oprzesz pracę. Aby zainstalować ją przez lazy.nvim, dodaj tę specyfikację (z sekcji Installation w README; pełny przykład w README mapuje też cmd i keys):
{ "coder/claudecode.nvim", dependencies = { "folke/snacks.nvim" }, config = true,}Kto pisze do którego pliku?
Dział zatytułowany „Kto pisze do którego pliku?”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.
| Praca | Właściciel | Dlaczego |
|---|---|---|
| Zmiana w kilku plikach z testami uruchamianymi i poprawianymi w pętli | Claude Code | Czyta, edytuje, uruchamia testy i ponawia próbę bez przełączania okien |
| Praca w powłoce: git, instalacja pakietów, migracje, czytanie logów | Claude Code | Wynik 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 edytora | Szybciej niż pisanie promptu |
| Przegląd diffu Claude’a, debugger krok po kroku, sprawdzenie UI | Ty, w edytorze | Edytor lepiej pokazuje zmiany; Claude nie ma ekranu |
| Drugi agent, np. własny agent Cursora albo tryb agenta Copilota | Traktuj go jak kolejnego Claude’a | Ta 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 CodeclaudeCode.autosave(domyślnietrue) 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.
Daj długim zadaniom osobną kopię roboczą
Dział zatytułowany „Daj długim zadaniom osobną kopię roboczą”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:
claude --worktree pricing-refactorOtwó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.
Lintuj każdy plik edytowany przez Claude’a hookiem
Dział zatytułowany „Lintuj każdy plik edytowany przez Claude’a hookiem”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):
{ "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ń.
Poproś o weryfikację, zanim zaczniesz przegląd
Dział zatytułowany „Poproś o weryfikację, zanim zaczniesz przegląd”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.
Kiedy koordynacja IDE i CLI zawodzi
Dział zatytułowany „Kiedy koordynacja IDE i CLI zawodzi”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.
Co dalej z pracą w edytorze i terminalu
Dział zatytułowany „Co dalej z pracą w edytorze i terminalu”- Integracja Claude Code z IDE: instalacja rozszerzenia VS Code lub wtyczki JetBrains i naprawa problemów z połączeniem.
- Mistrzostwo terminala: powłoka, skróty i konfiguracja terminala do długich sesji.
- Praca na wielu plikach: planowanie i weryfikacja zmian obejmujących wiele plików.
- Automatyzacja hookami: zamień kolejne kontrole w hooki.
- Aplikacja desktopowa Claude Code: osobne okno, gdy nie chcesz mieć Claude’a w edytorze.
- Agenci równolegle: wiele worktree i agentów naraz, z pułapkami portów i współdzielonego stanu.
- W pozostałych narzędziach: punkty kontrolne i gałęzie w Cursorze oraz worktree w Codeksie.