Claude Code VS Code Eklentisi Rehberi: Kurulum, Diff İnceleme, Plan Modu, Ayarlar ve JetBrains Karşılaştırması
Claude Code'u çoğu kişi terminalde tanır. Oysa Anthropic'in resmi VS Code eklentisi, aynı motoru editörün içine grafik bir panel olarak taşır: planı kabul etmeden önce Markdown belge olarak okuyup yorum yazarsınız, her düzenlemeyi diff'te tek tek onaylarsınız, plugin ve MCP sunucularını diyaloglardan yönetirsiniz. Bu yazı eklentiyi kurulumdan güvenlik modeline kadar anlatıyor ve sonunda JetBrains plugin'iyle karşılaştırıyor; tüm bilgiler Anthropic'in resmi dokümantasyonundan doğrulanmıştır. Terminal temelini Claude Code kurulum rehberinde bulabilirsiniz.
VS Code Eklentisi Nedir ve CLI'dan Farkı Ne?
Anthropic, VS Code içinde Claude Code kullanmanın önerilen yolunun eklenti olduğunu belirtir. Eklenti, sohbet paneli için CLI'nın kendi kopyasını paketler; ama bu kopya PATH'e eklenmez, entegre terminalde claude yazmak için bağımsız CLI kurulumu şarttır.
İki yüzeyin yetenek farkı resmi dokümanda şöyle özetlenir:
| Özellik | CLI | VS Code eklentisi |
|---|---|---|
| Komutlar ve skill'ler | Tamamı | Alt küme (/ yazınca listelenir) |
| MCP sunucu yapılandırması | Evet | Evet (/mcp diyaloğu ile ekleme/yönetme) |
| Checkpoint (geri sarma) | Evet | Evet |
! Bash kısayolu | Evet | Hayır |
| Tab ile tamamlama | Evet | Hayır |
Eklenti ile CLI aynı konuşma geçmişini paylaşır; panelde başladığınız konuşmayı terminalde claude --resume ile sürdürebilirsiniz. Claude Code Desktop ise ayrı bir uygulamadır, eklenti editörünüzün içinde yaşar.
Ön Koşullar ve Kurulum
İki şey gerekir:
- VS Code 1.94.0 veya üzeri. Daha eski bir sürümde eklenti kurulmaz ya da Spark ikonu görünmez.
- Bir Anthropic hesabı. Ücretli Claude aboneliği (Pro, Max, Team, Enterprise) veya Claude Console hesabı yeterlidir; API anahtarı gerekmez. Bedrock, Google Cloud Agent Platform veya Microsoft Foundry üzerinden erişiyorsanız üçüncü taraf sağlayıcı adımlarını (aşağıda) izlersiniz.
Kurulum için VS Code'da Cmd+Shift+X / Ctrl+Shift+X ile Extensions görünümünü açın, "Claude Code" arayın ve Install'a basın; doğrudan bağlantı vscode:extension/anthropic.claude-code, Cursor için cursor:extension/anthropic.claude-code. Eklenti Devin Desktop ve Kiro gibi VS Code çatallarında da çalışır ve Open VSX kaydından kurulabilir. Kurulumdan sonra görünmüyorsa Developer: Reload Window çalıştırın.
Önemli ayrıntı: eklentinin sürüm numarası, paketlediği Claude Code sürümüdür. "v2.1.286 veya üzeri gerektirir" diyen bir özellik, Extensions görünümünde 2.1.286 ve üzeri bir eklenti sürümü ister; bu yazıdaki sürüm notları da böyle okunmalıdır.
İlk Açılış: Spark İkonu, Giriş ve İlk Prompt
VS Code'un her yerinde Claude Code'u Spark ikonu temsil eder. Paneli açmanın dört yolu vardır:
- Editor Toolbar: editörün sağ üst köşesindeki Spark ikonu. Yalnızca bir dosya açıkken görünür; sadece klasör açık olması yetmez.
- Activity Bar: sol kenardaki Spark ikonu oturum listesini açar; bir oturuma tıklayarak tercih ettiğiniz konumda açar ya da yenisini başlatırsınız. Bu ikon her zaman görünür.
- Command Palette:
Cmd+Shift+P/Ctrl+Shift+P, "Claude Code" yazıp örneğin Open in New Tab seçersiniz. - Status Bar: sağ alttaki ✻ Claude Code öğesi. Hiç dosya açık değilken bile çalışır; 2.1.286 ile birlikte her pencerede gösterilir.
Paneli ilk açtığınızda Sign in'e basıp tarayıcıda yetkilendirmeyi tamamlarsınız. Kabuğunuzda ANTHROPIC_API_KEY tanımlı olduğu hâlde giriş istenmeye devam ediyorsa VS Code kabuk ortamını devralmamıştır: VS Code'u terminalden code . ile başlatın ya da Claude hesabınızla giriş yapın. Girişten sonra gelen Learn Claude Code kontrol listesini Hide Onboarding ayarıyla gizler ya da geri getirirsiniz.
İlk prompt'unuzu yazarken şunu bilin: Claude, editörde seçili metni otomatik görür. Option+K (Mac) / Alt+K (Windows/Linux) ile prompt'a @dosya.ts#5-10 biçiminde bir referans eklersiniz; böylece sorunuz tam olarak o satırlara bağlanır.
Değişiklikleri İnceleme: Diff Görünümü ve Değişiklik Başına Onay
Auto veya Edit automatically modunda Claude çalışma alanındaki çoğu dosyayı sormadan düzenler. Manual modda ise özgün içerikle önerilen içeriği yan yana gösterir ve izin ister; kabul edebilir, reddedebilir ya da yerine ne yapmasını istediğinizi yazabilirsiniz.
Burada iki ince özellik var:
- Diff içinde düzenleme: önerilen içeriği kabul etmeden önce diff görünümünde doğrudan değiştirirseniz Claude'a bunu değiştirdiğiniz söylenir; böylece dosyanın kendi önerisine eşit olduğunu varsaymaz.
- Değişiklik başına inceleme (v2.1.275+): her değişikliğin altındaki Accept this change / Reject this change düğmeleriyle tek tek karar verirsiniz. Reddetmek o parçayı önerilen içerikte geri alır, kabul etmek incelendi olarak işaretler. Dosyanın tamamını kabul ya da reddetmek incelemeyi yine bitirir. 100'den fazla değişiklik içeren bir diff bu düğmeler olmadan açılır; onu bütün olarak incelersiniz. Aynı işlemler editörün sağ tık menüsünden ve Command Palette'teki Claude Code: Accept Change at Cursor / Reject Change at Cursor komutlarından da yapılabilir.
İzin Modları: Auto, Manual, Plan ve Edit Automatically
Mod göstergesine tıklayarak mod değiştirirsiniz. Eklentinin etiketleri ile yapılandırma değerleri şöyle eşleşir:
| Arayüz etiketi | Yapılandırma değeri | Davranış |
|---|---|---|
| Manual | default | Dosya düzenlemeleri ve çoğu kabuk komutu için izin ister |
| Edit automatically | acceptEdits | Düzenlemeleri sormadan yapar |
| Plan | plan | Ne yapacağını anlatır, onay bekler; VS Code planı Markdown belge olarak açar |
| Auto | auto | Eylemlerin çoğunu siz yerine bir sınıflandırıcı inceler |
| Bypass permissions | bypassPermissions | Yalnızca Allow dangerously skip permissions ayarı açıkken listelenir |
Claude Code v2.1.283 ve sonrasında Auto, yerleşik başlangıç modudur; daha eski sürümlerde yalnızca Pro, Max ve Team planlarında varsayılandı. Auto modun sınıflandırıcısının neyi engellediğini Auto Mode rehberinde ayrıntılı anlattım.
Eklenti yeni bir konuşmaya hangi modda başlar?
Bu sıra terminaldekinden farklıdır ve çok kişiyi şaşırtır. Eklenti her yeni konuşmada aşağıdakilerden ilk uygulananı seçer:
- VS Code kullanıcı ayarlarındaki
claudeCode.initialPermissionMode. Kabul ettiği değerlerdefault,manual,acceptEdits,planvebypassPermissions;autokabul etmez. - Mod göstergesinden en son seçtiğiniz mod, eğer Manual, Edit automatically veya Auto ise. Plan ve Bypass permissions seçimleri yalnızca o konuşmayı etkiler.
- Yönetilen ayarlardaki veya
~/.claude/settings.jsoniçindekipermissions.defaultMode. - Planınıza, sağlayıcınıza ve organizasyon ayarlarınıza göre yerleşik varsayılan.
Eklenti, başlangıç modunu belirlerken projenin .claude/settings.json ve .claude/settings.local.json dosyalarını hiç okumaz. Bir projede plan moduyla başlamak istiyorsanız bunu VS Code kullanıcı ayarlarına yazarsınız:
{
"claudeCode.initialPermissionMode": "plan"
}
Auto ile başlamak içinse ayarı boş bırakıp göstergeden bir kez Auto seçmek yeterlidir; eklenti bunu hatırlar. claudeCode.claudeProcessWrapper tanımlıysa 3. ve 4. maddeler uygulanmaz. Bypass seçeneği eklenti ayarındaki geçiş açık değilse göstergede görünmez ve ayarlardan gelen bir bypassPermissions değeri konuşmayı Manual başlatır.
/plan komutu
Plan moduna yalnızca göstergeden değil, prompt kutusuna yazarak da geçebilirsiniz (v2.1.280+):
/plan: plan moduna geçer; zaten plan modundaysanız mevcut planı gösterir./plan fix the auth bug: plan moduna geçer ve o görevi planlamaya başlar./plan open: plan modundayken plan dosyasını editörde açar.
VS Code'un plan modundaki asıl avantajı, planı tam bir Markdown belge olarak açıp satır içi yorumlarla geri bildirim verebilmenizdir; Claude bu yorumları okuduktan sonra işe başlar. Plan modunda bitmiş bir konuşmayı sürdürdüğünüzde eklenti plan modunu geri yükler (v2.1.246+).
Prompt Kutusu: Model, Effort, Komut Menüsü ve Diğer Araçlar
Prompt kutusunun altındaki küçük satır, eklentinin kontrol merkezidir.
Model ve effort
Prompt kutusunun altındaki model adına tıklayarak ya da /model yazarak (v2.1.284+) model seçiciyi açarsınız. Mevcut model effort seviyelerini destekliyorsa seçicide bir Effort satırı belirir ve model düğmesi seçili seviyeyi gösterir. max dışındaki bir seviyeyi seçtiğinizde Claude Code bunu o model için varsayılan olarak kullanıcı ayarlarındaki modelSettings altına kaydeder; max yalnızca o oturum için geçerlidir. Dinamik workflow'lar açıksa Effort satırının altında bir Ultracode anahtarı da görünür (v2.1.284+); açıkken model düğmesinde seviyenin ardından · Ultracode yazar.
Komut menüsü ve Customize bölümü
/ yazınca açılan menü, CLI'daki pek çok diyaloğun grafik karşılığıdır. Customize bölümünde şunlar var:
- Slash commands ve
/skills: komutları filtreleyip çalıştırır, skill'lerin görünürlüğünü (On, Name only) kilitli olmayan satırlarda değiştirirsiniz (v2.1.280+). - Output styles: hazır ya da özel çıktı stili; Build a custom style stil dosyasını sizin için yazar (v2.1.261+).
- Hooks ve Permissions: oturumdaki hook'ları olaya, izin kurallarını Allow/Ask/Deny'a göre gruplanmış görür; kullanıcı, proje ve yerel ayar dosyalarındakileri düzenlersiniz, yönetilen ayarlardan gelenler salt okunurdur (v2.1.269+).
- Memory ve Instructions: auto memory'yi açıp kapatır, kayıtlı hafızaları okuyup düzenler; CLAUDE.md dosyalarını seçip editörde açarsınız, dosya yoksa oluşturulur (v2.1.274+).
- Status (
/status), Sandbox (/sandbox) ve Claude in Chrome (/chrome): sürüm/hesap/model/MCP bilgisi, Bash sandbox durumu ve Chrome bağlantısı (v2.1.280+).
Context bölümündeki Export conversation (/export) konuşmayı düz metin olarak kopyalar ya da dosyaya kaydeder. Settings bölümünde Enable Remote Control for all sessions (remoteControlAtStartup ayarını yazar), Focus view (araç çağrılarını ve thinking'i katlanabilir satırların arkasına gizler; Ctrl+Option+F / Ctrl+Alt+F) ve Sign out (/logout) bulunur. Menünün altındaki Report a problem (/bug veya /feedback) birinci taraf bağlantıda raporu Anthropic'e gönderir; üçüncü taraf sağlayıcıda hiçbir şey gönderilmez, rapor gizli kalıpları temizlenmiş olarak ~/.claude/feedback-bundles/ altına kaydedilir (v2.1.284+).
Küçük ama kullanışlı araçlar
- Yan soru (
/btw): konuşmaya eklemeden oturum hakkında soru sorarsınız; yanıt sohbetin yanında ayrı bir panelde açılır ve pencere yenilense de kalır (v2.1.227+). - Yanıt kopyalama ve yer imleri:
/copyson yanıtı,/copy 2sondan ikinciyi kopyalar (v2.1.277+); Bookmark response ile kaydedilen yanıtlar/bookmarkspanelinde toplanır (v2.1.286+). - Bağlam göstergesi: context penceresinin ne kadarını kullandığınızı gösterir; gerekince otomatik sıkıştırma olur, isterseniz
/compactçalıştırırsınız. - Prompt cache saati: bağlam göstergesinin yanındaki saat ikonu, konuşmanın prompt cache'inin dolmasına kalan süreyi tahmin eder; cache'i kullanan her yanıt sayacı yeniden başlatır. Süre bitince ikon kırmızıya döner ve sonraki mesaj cache yeniden kurulana kadar daha yavaş ve pahalı olur; sıkıştırmadan hemen sonra da aynı nedenle kırmızıdır.
- Agent map: konuşmada subagent varsa prompt kutusunun altında 2 agents gibi bir sayaç belirir; tıklayınca subagent'lar ana ajanın altında durum, geçen süre ve token sayısıyla ağaç olarak çizilir. Bir subagent'a tıklayıp prompt'unu görür, salt okunur transkriptini açar ya da onu durdurursunuz (v2.1.269+). Harita arka plan kabuk komutlarını ve Monitor'ları da listeler;
/tasksyazarak da açılır (v2.1.277+). v2.1.286'dan itibaren Stop veyaEscyalnızca mevcut turu bitirir; arka plan ajanları haritadan durdurulana kadar çalışır. - Extended thinking
/menüsünden açılır;Ctrl+Otüm thinking bloklarını açıp kapatır.Shift+Entergöndermeden yeni satır ekler.
Dosya ve Bağlam: @-mention, Seçim Paylaşımı ve Ekler
@ yazıp dosya ya da klasör adı girdiğinizde Claude o içeriği okur. Bulanık eşleme vardır: @auth, auth.js veya AuthService.ts gibi dosyaları bulur; klasör için sona eğik çizgi eklersiniz. Büyük PDF'lerde belirli sayfaları isteyebilirsiniz; bu, makinede poppler-utils gerektirir.
Editörde metin seçtiğinizde Claude bunu otomatik görür; prompt kutusunun altında kaç satır seçili olduğu yazar. Seçimin gitmesini istemiyorsanız göstergedeki X'e basarsınız. Claude hiçbir şey seçili değilken bile hangi dosyanın açık olduğunu görür; yalnızca seçili metin gitsin istiyorsanız Attach Open File ayarını kapatırsınız (v2.1.271+).
Gizlilik açısından önemli bir filtre var: çalışma alanı içindeki bir dosya files.exclude veya search.exclude ayarlarınızla eşleşiyorsa Claude en fazla dosyanın yolunu alır, seçili metni almaz. VS Code'un search.useIgnoreFiles ayarı ile eklentinin respectGitIgnore ayarı açıkken (ikisi de varsayılan) git'in yok saydığı dosyalar için de aynı şey geçerlidir. Bu filtre yalnızca sohbet panelini kapsar: entegre terminaldeki CLI, dosya ne olursa olsun seçili metni gönderir. .env gibi dosyaları orada da korumak için bir Read deny kuralı eklersiniz; eşleşen kural hem seçili metnin hem açık dosya bildiriminin Claude'a ulaşmasını engeller.
Görsel eklemek için panoya kopyalayıp prompt kutusuna yapıştırırsınız; dosya eklemek için Shift basılı tutup sürüklersiniz. Terminal çıktısını kopyalamadan paylaşmak için @terminal:ad yazarsınız; ad, terminalin başlığıdır.
Oturum Yönetimi: Geçmiş, Arşiv, Gruplar ve Bulut Oturumları
Panelin üstündeki Session history düğmesi konuşma geçmişini açar; anahtar kelimeyle arar ya da zamana göre gezersiniz. Yeni oturumlar ilk mesajınıza göre üretilmiş bir başlık alır; üzerine gelince Rename ve Archive çıkar. 14 gün hareketsiz kalan bir oturum, açık, okunmamış ya da bir grupta değilse otomatik olarak Archived sessions altına taşınır (v2.1.265+); süreyi archiveInactiveSessions ayarından 1, 2, 7, 14 gün yapar ya da Never ile kapatırsınız. Arşivdekiler tek tek ya da başlıktaki ikonla topluca geri alınır.
Konuşma başka bir Claude Code sürecinde açıksa prompt kutusunun yerinde This conversation is still open somewhere else. uyarısı görürsünüz; diğer yerde kapatıp Open here anyway demek doğru yoldur.
Bulut oturumlarını VS Code'da sürdürme
Claude.ai Subscription ile giriş yaptıysanız (Console değil), Session history'deki Web sekmesi claude.ai'daki bulut oturumlarınızı listeler; birine tıklayınca konuşma yerelde devam eder. Açık klasör bir GitHub deposuysa yalnızca o deponun oturumları görünür; eklenti geçmişin bir kopyasını indirir, değişiklikler claude.ai'a geri senkronlanmaz. Aynı sekme Remote Control oturumlarını da gösterir.
Gruplar ve filtreler
Activity Bar'daki oturum listesinde oturumları sağ tık ile adlandırılmış, katlanabilir gruplara toplarsınız (v2.1.229+); gruplar çalışma alanı klasörü başına kaydedilir. Listenin üstündeki Active anahtarı yalnızca girdi bekleyen, çalışan ya da okunmamış oturumları gösterir; huni ikonu Needs input, Working, Completed, Open ve Closed durumlarına göre süzer (v2.1.271+).
Pencere yenilendikten sonra
Editör sekmesindeki bir konuşma, yeniden yükleme sonrası sekmesiyle geri gelir; kenar çubuğundaki konuşma yalnızca son 10 dakikada mesaj alışverişi olduysa gelir. Yenileme Claude'u bir adımın ortasında kestiyse konuşma geri geldiğinde Claude o adıma devam eder ve sohbete not düşülür (v2.1.274+); bunu continueAfterReload ayarıyla kapatırsınız. Panelde CLAUDE_CODE_RESUME_INTERRUPTED_TURN gibi değişkenlerin etkisi yoktur; eklenti oturumları başlatmadan önce bunları kaldırır.
Çalışma Alanını Düzenleme
Claude panelini sürükleyerek secondary sidebar'a (sağ), primary sidebar'a (sol) ya da editör alanına taşırsınız; Anthropic ana oturumu kenar çubuğunda tutup yan işler için sekme açmayı önerir. Claude yeni bir editör grubunda sekme açtığında o grubu kilitler; bunu lockEditorGroups ayarıyla kapatabilirsiniz (v2.1.274+).
Command Palette'teki Open in New Tab ve Open in New Window ile paralel konuşmalar açarsınız. Sekmelerde Spark ikonundaki nokta durumu söyler: mavi bekleyen izin isteği, turuncu sekme gizliyken işin bittiği anlamına gelir. CLI arayüzünü tercih ediyorsanız Use Terminal ayarıyla terminal moduna geçersiniz.
Plugin, MCP ve Chrome
Plugin yönetimi
/plugins yazınca Manage plugins arayüzü açılır. Plugins sekmesinde yüklü plugin'ler anahtarlarıyla üstte, marketplace'lerden gelenler altta listelenir. Kurarken kapsam seçersiniz: Install for you (kullanıcı, tüm projeler), Install for this project (ekiple paylaşılır) ve Install locally (yalnızca siz, yalnızca bu depo). Kurulum bitince plugin'in ayarlanmamış seçenekleri için bir form çıkar; hassas alanlar maskelenir. Projenin paylaşılan .claude/settings.json dosyasının açtığı bir plugin'i kapatmaya kalkarsanız eklenti Disable for me ile Disable for everyone arasında seçim yaptırır. Marketplaces sekmesinde GitHub deposu, URL ya da yerel yol ekler, yeniler ya da silersiniz; marketplace silmek ondan kurulan tüm plugin'leri kaldırır. Değişiklikler o penceredeki açık oturumlara hemen uygulanır ve arka planda aynı CLI komutları çalıştığından CLI'da da görünür.
Birine belirli bir plugin'i kurdurmak için eklentinin install-plugin bağlantısını verirsiniz:
vscode://anthropic.claude-code/install-plugin?plugin=code-review&marketplace=anthropics/claude-plugins-official
Bağlantı VS Code'u açar, Claude panelini ve kapsam seçimini gösterir; kişi kapsam seçene kadar hiçbir şey kurulmaz. marketplace atlanırsa anthropics/claude-plugins-official varsayılır; GitHub owner/repo, https:// URL ya da git SSH adresi kabul eder, yerel yol kabul etmez. Dal ya da etikete sabitlemek için kaynağın sonuna %23 ile ref eklenir; kurallara uymayan bağlantı Invalid plugin installation URL hatası verir. GitHub README'leri vscode:// şemasını düz metne çevirdiğinden bağlantıyı oralarda kod bloğuna koyun. Plugin sisteminin tamamı için Plugin ve Marketplace rehberine bakabilirsiniz.
MCP sunucuları
/mcp yazınca açılan diyalogdan sunucu ekler, local/user/project kapsamındakileri siler, açıp kapatır, yeniden bağlanır ve OAuth kimlik doğrulamasını yönetirsiniz (ekleme ve silme v2.1.261+). Entegre terminalden de aynı yapılandırmaya yazarsınız; resmi dokümandaki örnek GitHub'ın uzak MCP sunucusunu kişisel erişim token'ıyla ekler:
claude mcp add --transport http github https://api.githubcopilot.com/mcp/ \
--header "Authorization: Bearer YOUR_GITHUB_PAT"
claude mcp add kimlik bilgisini doğrulamadan kaydeder; doğrulamak için yeni bir konuşmada /mcp yazın: sağlıklı sunucu Connected, bozuk kimlik bilgisi Failed gösterir.
Chrome ile tarayıcı otomasyonu
Claude in Chrome uzantısının 1.0.36 veya üzeri sürümüyle, prompt kutusuna @browser yazarak tarayıcı görevleri verirsiniz:
@browser go to localhost:3000 and check the console for errors
Claude tarayıcı görevleri için yeni sekmeler açar ve oturum açma durumunuzu paylaşır; ayrıntılar Chrome entegrasyonu rehberinde.
Checkpoint'ler, Git ve Arka Plan Görevleri
Eklenti checkpoint'leri destekler: bir mesajın üzerine gelince çıkan geri sarma düğmesi Fork conversation from here (kod kalır, yeni dal), Rewind code to here (dosyalar o noktaya döner, konuşma kalır) ve Fork conversation and rewind code seçeneklerini sunar. Sınırlar için Checkpoint ve /rewind rehberine bakın.
Git tarafında "commit my changes with a descriptive message" ya da "create a pr for this feature" gibi doğal dil istekleri yeterlidir. İzole bir worktree'de başlamak için CLI'daki claude --worktree feature-auth komutu, worktree'yi depo kökündeki .claude/worktrees/feature-auth/ altında worktree-feature-auth dalında oluşturur.
Uzun süren bir komut ya da subagent'ı beklemek istemiyorsanız araç çağrısının altındaki Run in background düğmesine basarsınız (v2.1.287+): Claude beklemeyi bırakıp tura devam eder, iş arka planda sürer ve bitince Claude'a haber verir. Durumu görmek ya da durdurmak için /tasks ile agent map'i açarsınız; arka plan komutunun kartı son çıktıyı gösterir.
Klavye Kısayolları ve Komutlar
Bazı kısayollar hangi panelin odakta olduğuna bağlıdır; Cmd+Esc / Ctrl+Esc editör ile Claude arasında geçiş yapar.
| Komut | Kısayol | Açıklama |
|---|---|---|
| Focus Input | Cmd+Esc / Ctrl+Esc | Editör ile Claude arasında odak değiştirir |
| Open in New Tab | Cmd+Shift+Esc / Ctrl+Shift+Esc | Yeni konuşmayı editör sekmesi olarak açar |
| New Conversation | Cmd+N / Ctrl+N | Claude odaktayken ve enableNewConversationShortcut açıkken yeni konuşma |
| Reopen Closed Session | Cmd+Shift+T / Ctrl+Shift+T | Son kapatılan Claude sekmesini yeniden açar; son kapanan Claude değilse VS Code'un normal davranışına düşer |
| Insert @-Mention Reference | Option+K / Alt+K | Geçerli dosya ve seçime referans ekler (editör odakta olmalı) |
| Accept / Reject Change at Cursor | - | Değişiklik başına incelemede imleçteki değişikliği kabul eder ya da geri alır (v2.1.275+) |
| Toggle Focus view | Ctrl+Option+F / Ctrl+Alt+F | Araç etkinliğini gizler ya da gösterir (v2.1.221+) |
| Rename Session Tab / Add Session Tab to Group / Mark Session as Unread | - | Etkin sekmedeki oturumu yeniden adlandırır, gruba ekler ya da okunmamış işaretler (v2.1.257+) |
Eklenti ayrıca vscode://anthropic.claude-code/open adresinde bir URI işleyici kaydeder; kabuk takma adı ya da bookmarklet ile yeni bir Claude sekmesi açabilirsiniz. prompt parametresi (URL kodlanmış) kutuyu önceden doldurur ama göndermez; session parametresi açık çalışma alanına ait bir oturumu sürdürür.
Eklenti Ayarları
İki ayar türü vardır. Eklenti ayarları VS Code içinde (Extensions → Claude Code ya da / menüsündeki General config…) eklentinin davranışını belirler. Claude Code ayarları ise ~/.claude/settings.json dosyasındadır, eklenti ile CLI arasında paylaşılır ve izinli komutlar, ortam değişkenleri, hook'lar ve MCP sunucuları için kullanılır. Bu dosyaya "$schema": "https://json.schemastore.org/claude-code-settings.json" eklerseniz VS Code tüm ayarlar için otomatik tamamlama ve satır içi doğrulama sunar.
Eklenti, initialPermissionMode değerini yalnızca kullanıcı ayarlarından okur, çalışma alanı değerlerini yok sayar. Önemli ayarlar:
| Ayar | Varsayılan | Ne yapar |
|---|---|---|
useTerminal | false | Grafik panel yerine terminal modunda başlatır |
initialPermissionMode | - | Yeni konuşmaların başlangıç modu: default, manual, plan, acceptEdits, bypassPermissions |
preferredLocation | panel | Claude'un açıldığı yer: sidebar ya da panel (yeni sekme) |
autosave | true | Claude okuyup yazmadan önce dosyaları kaydeder |
attachOpenFile | true | Açık dosyayı mesaja ekler; kapalıysa yalnızca seçili metin gider (v2.1.271+) |
enableNewConversationShortcut | false | Cmd/Ctrl+N ile yeni konuşma |
archiveInactiveSessions | 14 | Hareketsiz oturumu kaç gün sonra arşivleyeceği: 1, 2, 7, 14; 0 kapatır (v2.1.265+) |
continueAfterReload | true | Pencere yenilemesinin kestiği adımı sürdürür (v2.1.274+) |
respectGitIgnore | true | .gitignore kalıplarını dosya aramasından ve seçim bağlamından dışlar |
environmentVariables | [] | Claude sürecine ortam değişkeni verir; CLAUDE_CONFIG_DIR yalnızca mutlak yolsa uygulanır, ~ açılmaz |
disableLoginPrompt | false | Kimlik doğrulama istemlerini atlar (üçüncü taraf sağlayıcılar için) |
allowDangerouslySkipPermissions | false | Mod seçicisine Bypass permissions ekler; yalnızca internetsiz sandbox'larda |
claudeProcessWrapper | - | Claude sürecini başlatan yürütülebilir; platformunuz için paketlenmiş ikili yoksa ayrı kurulan claude ikilisini gösterir |
Güvenlik Modeli: Yerleşik IDE MCP Sunucusu
Claude Code kodunuzu modelleri eğitmek için kullanmaz. Yine de otomatik düzenleme izinleriyle VS Code'un otomatik çalıştırabileceği settings.json ya da tasks.json gibi dosyaları değiştirebilir; güvenmediğiniz kodda resmi öneri Restricted Mode, Manual mod ve dikkatli inceleme.
Eklenti etkinken yerel bir MCP sunucusu çalıştırır; CLI buna otomatik bağlanır. Diff'lerin VS Code'un yerel diff görüntüleyicisinde açılması, @-mention için seçimin okunması ve Jupyter hücresi çalıştırılması bu kanaldan geçer. Sunucunun adı ide'dir ve /mcp listesinde gizlidir; organizasyonunuz MCP araçlarını bir PreToolUse hook'uyla allowlist'e alıyorsa varlığını bilmeniz gerekir. Bağlıyken CLI her prompt'a seçiminizi ve etkin dosyanın yolunu ekler; transkriptte ⧉ Selected N lines from <file> satırı görürsünüz.
Sunucu 127.0.0.1 üzerinde 10000–65535 aralığında rastgele bir porta bağlanır; port yapılandırılamaz ve aktarım şifresiz ws://'dir, çünkü soket yalnızca loopback'tedir. Her eklenti etkinleşmesinde yeni bir rastgele token üretilir, ~/.claude/ide/<port>.lock dosyasına (0700 dizinde 0600 izinle) yazılır ve CLI bağlanmak için bunu X-Claude-Code-Ide-Authorization başlığıyla sunar. CLAUDE_CONFIG_DIR tanımlıysa kilit dosyası $CLAUDE_CONFIG_DIR/ide/ altına gider.
Sunucu bir düzine araç barındırır ama modele yalnızca ikisi görünür; gerisi CLI'nın kendi arayüzü için iç RPC'dir ve araç listesi Claude'a ulaşmadan süzülür:
| Araç adı (hook'ların gördüğü) | Ne yapar | Salt okunur |
|---|---|---|
mcp__ide__getDiagnostics | Dil sunucusu teşhislerini, yani Problems panelindeki hata ve uyarıları döndürür; isteğe bağlı tek dosyaya daraltılır | Evet |
mcp__ide__executeCode | Etkin Jupyter not defterinin çekirdeğinde Python kodu çalıştırır | Hayır |
Sohbet panelinde ise (v2.1.285+) Claude, Problems panelini claude-vscode adlı ayrı bir yerleşik sunucudan okur; hook'lar ve izin kuralları bu aracı mcp__claude-vscode__getDiagnostics olarak görür. Hem CLI'yı hem paneli kapsamak için ikisini de adlandırmanız gerekir. Read deny kuralı bu araçları kapsamaz; adlarıyla engellersiniz:
{
"permissions": {
"deny": [
"mcp__ide__getDiagnostics",
"mcp__claude-vscode__getDiagnostics"
]
}
}
Jupyter çalıştırma her zaman önce sorar. mcp__ide__executeCode her çağrıda kodu etkin not defterinin sonuna yeni hücre olarak ekler ve yerel bir Quick Pick Execute ya da Cancel seçtirir; iptal Claude'a hata döndürür. Etkin not defteri yoksa, ms-toolsai.jupyter uzantısı yoksa ya da çekirdek Python değilse araç reddeder. Bu onay PreToolUse hook'larından bağımsızdır: allowlist'teki bir girdi Claude'un hücre çalıştırmayı önermesine izin verir, gerçekten çalıştıran VS Code'daki Quick Pick'tir. İzin kurallarının sözdizimi için Permissions rehberine bakın.
Üçüncü Taraf Sağlayıcılar ve Kullanım Takibi
Organizasyonunuz Claude'a Amazon Bedrock, Google Cloud Agent Platform ya da Microsoft Foundry üzerinden erişiyorsa eklenti ayarlarında Disable Login Prompt'u işaretler, sonra sağlayıcınızın rehberine göre ~/.claude/settings.json dosyasını yapılandırırsınız; dosya CLI ile paylaşıldığından ayar bir kez yapılır. Bu sağlayıcılarda claude.ai hesabı gerektiren plan kullanım çubukları, sesli dikte ve bulut oturumları için Web sekmesi sunulmaz.
/usage ile açılan Account & usage diyaloğu claude.ai planında oturum ve hafta limitlerinin çubuklarını, sıfırlanmaya kalan süreyi ve son kullanımın %10 veya fazlasını oluşturan davranışları (cache kaçırma, uzun bağlam, subagent ağırlıklı oturumlar) ipuçlarıyla gösterir; üçüncü taraf sağlayıcı ya da API anahtarıyla girişte bunun yerine oturumun kendi maliyeti ve token kullanımı görünür (v2.1.277+).
VS Code Eklentisi ile JetBrains Plugin'i Arasındaki Farklar
JetBrains kullanıcıları için (IntelliJ IDEA, PyCharm, Android Studio, WebStorm, PhpStorm, GoLand) ayrı bir plugin vardır ve mimarisi farklıdır: CLI'yı paketlemez, IDE'nin entegre terminalinde claude komutunu çalıştırıp ona bağlanır. Önce CLI'yı, sonra JetBrains Marketplace'ten plugin'i kurar ve IDE'yi yeniden başlatırsınız; claude PATH'te değilse tam yolu plugin'in Claude command ayarına yazarsınız. Dış bir terminalden /ide komutuyla bağlanırsınız; çalışan IDE'de plugin yoksa /ide onu kurar ve IDE'yi yeniden başlatmanızı ister.
| Konu | VS Code eklentisi | JetBrains plugin'i |
|---|---|---|
| Arayüz | Grafik sohbet paneli (isteğe bağlı terminal modu) | Entegre terminalde CLI |
| CLI gereksinimi | Panel için gerekmez; terminalde claude için gerekir | Her zaman gerekir |
| Dosya referansı kısayolu | Option+K / Alt+K | Cmd+Option+K / Alt+Ctrl+K |
| Diff görüntüleme | Yerel diff, değişiklik başına onay | IDE diff görüntüleyicisi; /config içindeki Diff tool ayarıyla auto/terminal |
| İzin modu değiştirme | Mod göstergesi | CLI'daki gibi Shift+Tab ya da --permission-mode |
| Modele açık IDE araçları | getDiagnostics + executeCode (Jupyter) | Yalnızca getDiagnostics; kod çalıştırma aracı yok |
| IDE MCP sunucusu portu | 127.0.0.1, 10000–65535 | İşletim sisteminin verdiği geçici port; isteğe bağlı tüm arayüzlerden dinleme |
JetBrains'te iki özel durum önemlidir. Remote Development kullanıyorsanız plugin'i yerel istemciye değil, Settings → Plugin (Host) üzerinden uzak sunucuya kurmalısınız. WSL2'de "No available IDEs detected" görüyorsanız neden genellikle NAT ağı ya da Windows Güvenlik Duvarı'dır: ya WSL2 alt ağı için PowerShell'de New-NetFirewallRule ile bir gelen kuralı tanımlarsınız ya da .wslconfig dosyasına networkingMode=mirrored yazıp wsl --shutdown ile yeniden başlatırsınız (Windows 11 22H2+). IDE MCP portunu tüm arayüzlere açan ayar yalnızca loopback çalışmadığında ve şifresiz trafiğin ağa çıkacağı bilinerek açılmalıdır.
Gerçek Dünya Senaryosu: Seçili Fonksiyondan PR'a
Bir Node.js projesinde token yenileme fonksiyonunun hatalı olduğunu düşünüyorsunuz. Akış şöyle ilerler:
src/auth/refresh.tsdosyasında şüpheli 40-75. satırları seçin veOption+K/Alt+Kile prompt'a@src/auth/refresh.ts#40-75referansını ekleyin.- Mod göstergesinden Plan'ı seçin ya da
/planile başlayın: "Bu fonksiyonda süresi dolmuş token'ların neden yenilenmediğini araştır ve bir düzeltme planı yaz." VS Code planı Markdown belge olarak açar; "testi de ekle" gibi satır içi yorumlar yazıp onaylarsınız. - Onayla birlikte Claude düzenlemeye başlar. Manual moddaysanız her dosya için yan yana diff gelir; büyük bir dosyada yalnızca istediğiniz parçaları Accept this change ile alıp gerisini reddedersiniz. Önerilen içerikte bir değişken adını kendiniz düzeltirseniz Claude bunu bilir.
- Test komutu uzun sürüyorsa araç çağrısının altındaki Run in background'a basın; Claude devam ederken
/tasksile kartı açıp son çıktıyı izleyin. - Problems panelinde yeni bir tip hatası belirdiyse Claude'a kontrol ettirin; panel teşhisleri
claude-vscodesunucusundan okur. - Çalışmayı beğenmediyseniz ilgili mesajın üzerindeki geri sarma düğmesinden Rewind code to here ile dosyaları plana döndürüp farklı bir yaklaşım isteyin.
- Sonunda "create a pr for this fix" deyin; Claude değişikliklere dayanan bir açıklama yazar.
Sorun Giderme
- Spark ikonu görünmüyor: bir dosya açın (yalnızca klasör yetmez), VS Code sürümünü kontrol edin, Developer: Reload Window çalıştırın, diğer yapay zekâ eklentilerini geçici olarak kapatın ve Restricted Mode'da olmadığınızı doğrulayın. Alternatif olarak Status Bar'daki ✻ Claude Code öğesini kullanın.
- macOS'ta Cmd+Esc çalışmıyor: macOS Tahoe ve sonrasında sistemin Game Overlay kısayolu
Cmd+Esc'e bağlıdır. System Settings → Keyboard → Keyboard Shortcuts → Game Controllers altında Game Overlay'i kapatın ya da VS Code'da "Claude Code: Focus input" için başka bir tuş atayın. - Claude hiç yanıt vermiyor: bağlantıyı kontrol edin, yeni bir konuşma deneyin, terminalde
claudeçalıştırarak ayrıntılı hata mesajı alın. - Eklentiyi kaldırdım ama geri geldi: entegre terminalde
claudeçalıştırmak eklentiyi otomatik yeniden kurar. Kalıcı kaldırmak için/configiçinde Auto-install IDE extension'ı kapatın,autoInstallIdeExtensionayarınıfalseyapın ya daCLAUDE_CODE_IDE_SKIP_AUTO_INSTALL=1tanımlayın. Eklenti verisini de silmek için macOS'ta:
rm -rf ~/Library/"Application Support"/Code/User/globalStorage/anthropic.claude-code
Sıkça Sorulan Sorular
VS Code eklentisini kurunca terminalde claude komutu da gelir mi?
Hayır. Eklenti, sohbet paneli için CLI'nın özel bir kopyasını kendi içinde taşır ama claude komutunu PATH'e eklemez. Entegre terminalde claude yazmak, claude mcp add veya claude --resume çalıştırmak için bağımsız CLI kurulumunu ayrıca yapmanız gerekir. Kurulumdan sonra claude hâlâ bulunamıyorsa PATH ayarınızı kontrol edin.
Eklentinin sürüm numarası ne anlama geliyor?
Eklentinin sürüm numarası, içinde paketlediği Claude Code sürümüdür. Dokümantasyonda bir özellik için "Claude Code v2.1.286 veya üzeri gerekir" yazıyorsa, Extensions görünümünde gördüğünüz eklenti sürümünün de 2.1.286 veya üzeri olması gerekir.
VS Code eklentisinde Auto modu nasıl varsayılan yaparım?
claudeCode.initialPermissionMode ayarı auto değerini kabul etmez. Auto ile başlamak için bu ayarı boş bırakın ve mod göstergesinden bir kez Auto'yu seçin; eklenti Manual, Edit automatically veya Auto seçimlerini sonraki konuşmalar için hatırlar. Plan ve Bypass permissions seçimleri yalnızca o konuşma için geçerlidir. Claude Code v2.1.283 ve üzerinde Auto zaten yerleşik başlangıç modudur.
Proje klasöründeki .claude/settings.json dosyasındaki defaultMode neden VS Code'da işe yaramıyor?
Eklenti, başlangıç izin modunu belirlerken projenin .claude/settings.json ve .claude/settings.local.json dosyalarını hiç okumaz. Sıra şöyledir: claudeCode.initialPermissionMode, mod göstergesinden son seçtiğiniz mod, yönetilen ayarlar veya ~/.claude/settings.json içindeki permissions.defaultMode ve son olarak yerleşik varsayılan. Proje bazında plan modu istiyorsanız VS Code kullanıcı ayarlarında claudeCode.initialPermissionMode değerini plan yapın.
Claude seçili kodumu ve açık dosyamı görüyor mu? Bunu nasıl kısıtlarım?
Evet. Sohbet paneli seçili metni ve açık dosyanın yolunu her mesajla gönderir. Seçim göstergesindeki X ile seçimi kaldırabilir, Attach Open File ayarını kapatarak yalnızca seçili metnin gitmesini sağlayabilirsiniz. files.exclude veya search.exclude ile eşleşen ve git'in yok saydığı dosyalardan panel yalnızca yolu gönderir, metni göndermez. Entegre terminaldeki CLI bu filtreyi uygulamadığı için .env gibi dosyalar için bir Read deny kuralı eklemeniz gerekir.
VS Code eklentisi ile JetBrains plugin'i arasındaki temel fark nedir?
VS Code eklentisi grafik bir sohbet paneli sunar ve CLI'yı kendi içinde paketler. JetBrains plugin'i ise IDE'nin entegre terminalinde claude komutunu çalıştırıp ona bağlanır; CLI'yı paketlemez, ayrıca kurulması gerekir. Her ikisinde de IDE diff görüntüleyicisi, seçim paylaşımı, @ dosya referansı kısayolu ve getDiagnostics aracı vardır. JetBrains'te izin modları CLI'daki gibi Shift+Tab ile değişir; Jupyter hücresi çalıştırma aracı yalnızca VS Code'da bulunur.
Özet
Claude Code VS Code eklentisi, terminaldeki motoru editörün içine grafik bir panel olarak taşır: VS Code 1.94.0 ve ücretli bir Claude hesabı yeter, CLI paketlenmiş gelir ama PATH'e eklenmez. Değişiklik başına diff onayı, Markdown olarak düzenlenebilen planlar, /plan komutu ve kendine özgü başlangıç modu sırası (kullanıcı ayarı → son seçim → ~/.claude/settings.json → yerleşik varsayılan; proje ayarları okunmaz) eklentiyi CLI'dan ayırır. Prompt kutusu model, effort, Customize menüsü, /btw, yer imleri, prompt cache saati ve agent map ile donatılmıştır; oturumlar gruplanır, arşivlenir ve bulut oturumları yerelde sürdürülür. Güvenlik tarafında yerleşik ide MCP sunucusu loopback'te token korumalı çalışır; modele yalnızca getDiagnostics ve her zaman onay soran executeCode açılır. JetBrains plugin'i ise CLI'yı terminalde çalıştıran farklı bir mimaridir.
Devam etmek için: eklentinin varsayılan modunu anlamak isterseniz Auto Mode rehberi, terminal tarafındaki otomasyon için CLI ve print mode rehberi, masaüstü uygulamasıyla karşılaştırmak için Claude Code Desktop rehberi iyi birer sonraki adımdır.
Bu yazı Ahmet Bilgiç tarafından ahmetbilgic.com için yazılmıştır. Diğer yazılar için: medium.com/@ahmet_bilgic07