Przejdź do treści
← Kurs M03L02 · Chat - rodzaje i kiedy który 📘
📘 Podstawowy M03L02 M03 · Lekcja 2 z 4 11 min Ćwiczenie

Inline Chat: skalpel w edytorze (Ctrl+I)

Jak używać Inline Chat do edytowania kodu bezpośrednio w miejscu - bez przełączania kontekstu do panelu Chat.

Czego się nauczysz

  • Kiedy Inline Chat jest szybszy niż Chat View
  • Jak pracować z zaznaczeniem, diffem i follow-upami bez wychodzenia z edytora
  • Jak rozumieć różnicę między regularnym Inline Chat i Ask in Chat w aktywnej sesji

Inline Chat to narzędzie do precyzyjnych zmian

Jeśli Chat View jest miejscem do rozmowy o problemie, to Inline Chat jest miejscem do zrobienia lokalnej zmiany bez wychodzenia z kodu.

To bardzo ważne rozróżnienie.

Inline Chat nie ma być centrum sterowania całym projektem. Ma być szybkim, precyzyjnym narzędziem do pracy tam, gdzie właśnie patrzysz.

Dlatego najlepiej sprawdza się przy zadaniach typu:

  • uprość ten fragment
  • wyjaśnij ten blok
  • przepisz to na inny styl
  • dodaj walidację
  • popraw ten warunek

Kiedy używać Inline Chat

Oficjalna dokumentacja mówi wprost: używaj go do szybkich, lokalnych zmian w widocznym kodzie. Jeśli zadanie jest wieloetapowe, obejmuje wiele plików albo wymaga szerszej eksploracji projektu, lepszy będzie Chat View.

To jest świetny filtr praktyczny.

Jeżeli problem mieści się w granicach tego, co widzisz w aktywnym edytorze, Inline Chat zwykle jest szybszy. Jeśli wymaga rozmowy o architekturze, zależnościach i planie zmian, przechodzisz do pełnej sesji.

Jak działa Inline Chat w edytorze

Workflow jest prosty:

  1. otwierasz plik
  2. wciskasz Ctrl+I
  3. wpisujesz prośbę
  4. dostajesz propozycję zmian jako diff inline
  5. akceptujesz albo odrzucasz wynik

To daje bardzo niski koszt wejścia. Nie musisz zmieniać widoku. Nie musisz otwierać osobnej rozmowy. Nie musisz ręcznie opisywać całego świata. System już wie, nad jakim plikiem pracujesz.

Zaznaczenie to najprostszy sposób zawężenia zadania

Dokumentacja słusznie podpowiada, żeby zaznaczyć blok kodu, jeśli chcesz ograniczyć zakres promptu dokładnie do tego fragmentu.

To jeden z najprostszych nawyków, które poprawiają trafność.

Zamiast liczyć, że system domyśli się, której funkcji dotyczy prośba, po prostu zaznaczasz ją i pracujesz na niej bez szumu z reszty pliku.

To szczególnie dobrze działa przy:

  • refaktorze pojedynczej funkcji
  • wyjaśnianiu trudnego fragmentu
  • poprawianiu warunku albo pętli
  • zamianie jednej implementacji na inną

Follow-upy są ważniejsze, niż się wydaje

Inline Chat nie kończy się na jednym promptcie.

Po pierwszej propozycji możesz dopytać, doprecyzować albo zawęzić wynik. To ważne, bo często pierwszy output jest już dobry kierunkowo, ale wymaga jednej lub dwóch korekt.

W praktyce bardzo dobrze działa sekwencja:

  1. zrób zmianę
  2. uprość ją
  3. dopasuj do stylu projektu

Bez przechodzenia do pełnego chatu.

To daje szybki, lokalny loop edycji.

Inline Chat w aktywnej sesji edycyjnej zachowuje się inaczej

To jest detal, który łatwo przeoczyć, a potem wygląda jak niespójność produktu.

Jeśli plik należy do aktywnej sesji chat editing, wciśnięcie Ctrl+I może otworzyć nie regularny Inline Chat, tylko Ask in Chat w Chat View. To po to, żeby prompt korzystał z pełnego kontekstu istniejącej rozmowy.

Czyli ten sam skrót może działać trochę inaczej zależnie od stanu pliku i sesji.

Jeśli chcesz zawsze używać regularnego Inline Chat, dokumentacja wskazuje ustawienie inlineChat.askInChat.

To ważne z perspektywy mental modelu: nie każde Ctrl+I oznacza dokładnie ten sam tryb pracy.

Model dla Inline Chat możesz ustawić osobno

Dokumentacja przypomina też, że Inline Chat może mieć własny domyślny model przez inlineChat.defaultModel.

To praktyczne, bo Inline Chat i Chat View nie zawsze służą do tego samego typu zadań.

W Inline Chat częściej liczy się:

  • szybka odpowiedź
  • lokalna edycja
  • mały koszt przełączenia

Nie zawsze potrzebujesz tu tego samego modelu co do planowania albo agentowej pracy w pełnym Chat View.

Visual hints są dodatkiem, nie fundamentem

VS Code ma też eksperymentalne hinty na zaznaczeniu, które mogą podpowiadać start Inline Chat.

To może być wygodne, ale nie warto budować workflow wokół tego dodatku. Fundamentem nadal jest dobre zawężenie kontekstu, sensowny prompt i szybka ocena diffu.

Hint może pomóc. Nie zastąpi dobrego użycia funkcji.

Inline Chat w terminalu to kuzyn, nie to samo narzędzie

Ta sama dokumentacja obejmuje też terminal inline chat. Warto o nim pamiętać, ale nie mieszać go z edytorem.

W terminalu chodzi bardziej o:

  • podpowiedź komendy
  • wytłumaczenie polecenia
  • wstawienie lub uruchomienie wyniku

W edytorze chodzi o diff i zmianę kodu w miejscu. W obu przypadkach chodzi o niski koszt wejścia, ale materiał pracy jest inny.

Kiedy Inline Chat wygrywa z Chat View

Inline Chat jest lepszy, gdy:

  • pracujesz na jednym fragmencie kodu
  • chcesz natychmiast zobaczyć diff
  • nie chcesz opuszczać edytora
  • nie potrzebujesz szerokiej historii rozmowy

Chat View wygrywa, gdy:

  • temat wymaga większego kontekstu
  • chcesz eksplorować repo
  • planujesz większą zmianę
  • potrzebujesz wielu kroków i odwołań do wcześniejszych odpowiedzi

To najprostszy i najlepszy filtr wyboru.

Ćwiczenie praktyczne

Weź jedną funkcję w swoim repo i wykonaj trzy próby:

  1. Uruchom Ctrl+I bez zaznaczenia i poproś o małą zmianę.
  2. Powtórz to samo z dokładnie zaznaczonym blokiem kodu.
  3. Po pierwszym wyniku dopytaj follow-upem, żeby uprościć albo dopasować implementację.

Na końcu oceń:

  • czy zaznaczenie poprawiło trafność
  • czy diff był łatwy do oceny
  • czy zadanie nadal mieściło się w Inline Chat, czy jednak prosiło się o pełny Chat View

Kluczowe wnioski

  • Inline Chat jest najlepszy do szybkich, lokalnych zmian w aktywnym edytorze.
  • Zaznaczenie fragmentu kodu to najprostszy sposób poprawy trafności wyniku.
  • Inline Chat wspiera follow-upy, więc dobrze nadaje się do krótkiej pętli doprecyzowania.
  • Ctrl+I może routować do Ask in Chat, jeśli plik należy do aktywnej sesji edycyjnej.
  • Model dla Inline Chat można ustawić osobno od modelu dla pełnego Chat View.

Co dalej

Skoro masz już pełny chat i lokalny chat w edytorze, pora na najmniejszą powierzchnię rozmowy, czyli Quick Chat do pytań, które mają kosztować prawie nic.