Visual Studio Code, uzantıları, ayarları ve snippet'leri cihazlar arasında senkronize edebilir — ancak tüm bunlar, kurumsal güvenlik duvarı arkasında, katı filtreleme ile ofis ağlarında veya sınırlı erişime sahip bölgelerde sıkça erişilemeyen Microsoft sunucuları üzerinden çalışır. Sonuç olarak — Uzantılar Marketplace'i takılır, Ayar Senkronizasyonu bağlanamaz, güncellemeler indirilemez. Bu yazıda, VS Code'da proxy'yi doğru bir şekilde nasıl yapılandıracağımızı inceleyeceğiz, böylece bu sorunlar bir daha asla ortaya çıkmasın.
Neden bazı ağlarda VS Code proxy olmadan çalışmaz
Visual Studio Code, sadece bir metin editörü değildir. Arka planda sürekli olarak dış sunuculara erişir: uzantı güncellemelerini marketplace.visualstudio.com'dan indirir, ayarları vscode.dev ve GitHub/Microsoft Hesabı sunucuları üzerinden senkronize eder, editörün güncellemelerini kontrol eder ve telemetri gönderir (eğer kapatılmamışsa).
Tüm bu istekler standart HTTPS bağlantıları üzerinden yapılır. İşte burada sorunlar başlar:
- Kurumsal ağlar — sistem yöneticileri doğrudan internete çıkışı engeller, tüm trafiğin kurumsal proxy sunucusu üzerinden geçmesini talep eder. VS Code bunun "farkında" değildir ve sadece bağlanamaz.
- Beyaz listeye sahip ofis güvenlik duvarları — yalnızca belirli alan adlarına izin verilir ve
marketplace.visualstudio.combu listeye dahil değildir. - Bölgesel kısıtlamalar — bazı ülkelerde ve bölgelerde Microsoft hizmetlerine erişim sınırlıdır veya istikrarsızdır. Gerekli ülkenin IP'si ile proxy bu sorunu çözer.
- VPN çatışmaları — bazı kurumsal VPN'ler trafiği yakalar, ancak doğru bir şekilde iletmez, bu nedenle VS Code Marketplace ile bağlantısını kaybeder.
- İstikrarsız internet + önbellekli proxy — proxy sunucusu uzantı paketlerini önbelleğe alabilir ve yavaş bağlantıya sahip ekiplerde kurulumu hızlandırabilir.
Tüm bu sorunların belirtileri benzerdir: uzantılar yüklenmez veya yükleme sırasında takılır, Ayar Senkronizasyonu yetkilendirme hatası verir veya "bağlanılamıyor" der, VS Code güncellemeleri indirilemez ve Çıktı panelinde ECONNREFUSED veya ETIMEDOUT hataları görünür.
VS Code proxy'yi nasıl işler: bilmeniz gerekenler
VS Code, ağ istekleri için Chromium motorunu kullanan Electron üzerine inşa edilmiştir. Bu, proxy ayarlarının tarayıcı ayarlarıyla benzer şekilde çalıştığı anlamına gelir — editör HTTP, HTTPS ve SOCKS5 proxy'lerini destekler.
VS Code'un proxy ayarlarını aradığı hiyerarşiyi anlamak önemlidir:
- Sistem proxy ayarları — Windows/macOS/Linux'ta sistem proxy ayarı yapılandırılmışsa, VS Code bunu otomatik olarak alır (parametre
http.systemProxy). - Çevresel değişkenler —
HTTP_PROXY,HTTPS_PROXY,NO_PROXY— Linux/macOS için standart yöntem. - settings.json'daki ayarlar —
http.proxyve ilgili seçenekler aracılığıyla proxy'yi açıkça belirtmek. - Komut satırı argümanları — proxy bayrakları ile doğrudan VS Code'u başlatabilirsiniz.
Öncelik: settings.json içindeki açık ayarlar, çevresel değişkenleri geçersiz kılar, çevresel değişkenler de sistem ayarlarını geçersiz kılar. Eğer bir şey çalışmıyorsa — bu sırayla kontrol edin.
💡 Önemli bir nokta
VS Code, iki ayrı ağ yığını kullanır: biri editör için (Electron/Chromium), diğeri ise Node.js üzerinden kendi HTTP isteklerini yapabilen uzantılar içindir. settings.json içindeki proxy ayarı her iki yığını da kapsar, ancak bazı uzantılar sistem ayarlarını göz ardı eder ve ayrı bir yapılandırma gerektirir.
settings.json üzerinden proxy yapılandırması: adım adım
Bu, en güvenilir ve önerilen yöntemdir. settings.json içindeki ayarlar, VS Code'un tüm ağ isteklerine global olarak uygulanır.
Adım 1: settings.json'u açın
Ctrl+Shift+P (veya Mac'te Cmd+Shift+P) tuşlarına basın, “Open User Settings (JSON)” yazın ve bu seçeneği seçin. Kullanıcı ayarları dosyası açılacaktır.
Adım 2: Proxy parametrelerini ekleyin
Gerekli satırları JSON nesnesinin içine yapıştırın. Farklı proxy türleri için örnekler:
HTTP/HTTPS proxy (yetkilendirme olmadan):
{
"http.proxy": "http://192.168.1.100:3128",
"http.proxyStrictSSL": false
}
HTTP/HTTPS proxy ile kullanıcı adı ve şifre:
{
"http.proxy": "http://username:password@proxy-host:3128",
"http.proxyStrictSSL": false
}
SOCKS5 proxy:
{
"http.proxy": "socks5://username:password@proxy-host:1080",
"http.proxyStrictSSL": false
}
Adım 3: Parametreleri anlayın
| Parametre | Değer | Ne zaman kullanılmalı |
|---|---|---|
http.proxy |
Proxy URL'si | Ana parametre, zorunlu |
http.proxyStrictSSL |
true / false | false — proxy kendine imzalı sertifika kullanıyorsa |
http.proxyAuthorization |
Base64 dizesi | Kullanıcı adı/şifre iletmenin alternatif yolu |
http.noProxy |
Alan adı listesi | Proxy'yi atlaması gereken alan adları (localhost, dahili hostlar) |
http.systemProxy |
on / off / override | Sistem proxy'sini yönetme (VS Code 1.87+ için yeni parametre) |
Adım 4: VS Code'u yeniden başlatın
settings.json dosyasını kaydettikten sonra, VS Code'u tamamen kapatıp tekrar açın. Kısmi yeniden yükleme (Pencereyi Yenile) bazen yeni ağ ayarlarını uygulamaz.
Çevresel değişkenler aracılığıyla proxy (HTTP_PROXY / HTTPS_PROXY)
Bu yöntem, Linux ve macOS'ta özellikle kullanışlıdır ve proxy'nin sistem düzeyinde yapılandırıldığı ve tüm geliştirme araçlarına uygulanması gerektiği durumlarda idealdir — sadece VS Code için değil, npm, pip, git vb. için de.
Linux / macOS — kalıcı yapılandırma
Aşağıdakileri ~/.bashrc, ~/.zshrc veya ~/.profile dosyasına ekleyin:
export HTTP_PROXY="http://username:password@proxy-host:3128" export HTTPS_PROXY="http://username:password@proxy-host:3128" export NO_PROXY="localhost,127.0.0.1,*.local,*.internal"
Bundan sonra source ~/.bashrc (veya oturumu yeniden başlatın) komutunu çalıştırın ve terminalden VS Code'u code . komutuyla başlatın — değişkenler miras alınacaktır.
Windows — sistem değişkenleri aracılığıyla
"Sistem Ayarları" → "Gelişmiş Sistem Ayarları" → "Ortam Değişkenleri"ni açın. HTTP_PROXY ve HTTPS_PROXY değişkenlerini "Kullanıcı Değişkenleri" bölümüne (veya tüm kullanıcılar için "Sistem Değişkenleri"ne) ekleyin. Kaydettikten sonra VS Code'u yeniden başlatın.
VS Code'u doğrudan komut satırından proxy ile başlatma
Hızlı bir şekilde kontrol etmek istiyorsanız, sürekli bir yapılandırma olmadan:
# Linux/macOS HTTP_PROXY=http://proxy-host:3128 HTTPS_PROXY=http://proxy-host:3128 code . # Windows PowerShell $env:HTTP_PROXY="http://proxy-host:3128"; $env:HTTPS_PROXY="http://proxy-host:3128"; code .
Proxy üzerinden Ayar Senkronizasyonu: teşhis ve sorun çözme
Ayar Senkronizasyonu — ayarları, uzantıları, snippet'leri, kısayolları ve profilleri Microsoft veya GitHub hesabı aracılığıyla cihazlar arasında senkronize eden yerleşik bir VS Code özelliğidir. Microsoft ve GitHub sunucularına HTTPS istekleri aracılığıyla çalışır ve burada proxy kritik öneme sahiptir.
Proxy üzerinden Ayar Senkronizasyonu ile ilgili yaygın hatalar
| Hata | Sebep | Çözüm |
|---|---|---|
| “Sunucuya bağlanılamıyor” | Proxy yapılandırılmamış veya engellenmiş | settings.json'da http.proxy'yi yapılandırın |
| “Kimlik doğrulama başarısız” | Proxy OAuth token'ını yakalıyor | *.microsoft.com için SSL denetimini devre dışı bırakın |
| “Senkronizasyon açık ama senkronize olmuyor” | Kurumsal proxy WebSocket'i engelliyor | WebSocket desteği olan bir proxy kullanın |
| Senkronizasyon “Senkronize ediliyor...”da takılıyor | Yavaş proxy üzerinden bağlantı zaman aşımına uğruyor | Daha hızlı bir proxy ile değiştirin |
Çıktı üzerinden teşhis
Görünüm → Çıktı seçeneğini açın ve açılır listeden “Ayar Senkronizasyonu” seçin. Burada tüm bağlantı denemeleri ve hata kodları görünür. ECONNREFUSED, 407 Proxy Authentication Required veya CERT_UNTRUSTED içeren satırları arayın — bu kodların her biri proxy ile ilgili belirli bir sorunu gösterir.
Eğer 407 hatasını görüyorsanız — proxy kimlik doğrulama gerektiriyor, proxy URL'sine kullanıcı adı ve şifre ekleyin. Eğer CERT_UNTRUSTED hatası alıyorsanız — "http.proxyStrictSSL": false ayarını yapın veya kurumsal CA'nın kök sertifikasını ekleyin.
Ayar Senkronizasyonu için erişilebilir olması gereken alan adları
Proxy'niz üzerinden aşağıdaki hostların erişilebilir olduğundan emin olun:
login.microsoftonline.com— Microsoft Hesabı ile kimlik doğrulamagithub.com— GitHub ile kimlik doğrulamaapi.github.com— Gist üzerinden senkronizasyon için GitHub API'sivscode.dev— VS Code senkronizasyon hizmeti*.vscode-cdn.net— VS Code kaynakları için CDN
Uzantılar Marketplace: neden uzantılar yüklenmiyor ve nasıl düzeltilir
VS Code Marketplace, marketplace.visualstudio.com alanı ve Microsoft'un CDN sunucuları üzerinden çalışır. Eğer proxy doğru yapılandırılmışsa, uzantıların yüklenmesi şeffaf bir şekilde çalışır. Ancak birkaç özel sorun vardır.
Uzantı yükleniyor ama çalışmıyor
Birçok uzantı, başlatıldığında kendi ağ isteklerini yapar — örneğin, dil sunucularını (LSP), ikili bağımlılıkları veya veritabanı güncellemelerini indirir. Bu istekler, uzantının içindeki Node.js üzerinden yapılır ve VS Code'un proxy ayarlarına tabidir, ancak yalnızca uzantı HTTP_PROXY değişkenlerini dikkate alıyorsa.
Eğer uzantı hala proxy arkasında çalışmıyorsa — belgelerini kontrol edin. Birçok popüler uzantının kendi proxy ayarları vardır. Örneğin:
- Python (Pylance/Pylint) — sistem çevresel değişkenlerini kullanır
- ESLint, Prettier — yerel çalışır, proxyye ihtiyaç yoktur
- GitHub Copilot —
api.github.com'a erişim gerektirir, settings.json'dan proxy alır - Remote - SSH — SSH tüneli için proxy gereklidir, SSH yapılandırmasında ayrı olarak ayarlanır
- Docker — sistem proxy'sini kullanır Docker daemon
Uzantıları manuel olarak yükleme (çevrimdışı)
Eğer proxy erişilemez veya istikrarsızsa, uzantıları .vsix dosyası aracılığıyla manuel olarak yükleyebilirsiniz. Proxy erişimi olan bir makineden marketplace.visualstudio.com'dan uzantı dosyasını indirin, ardından VS Code'da: Uzantılar → ··· → VSIX'ten Yükle.
VS Code için hangi proxy türünü seçmelisiniz
Proxy türünün seçimi, amaca bağlıdır. Geliştirme için temel seçenekleri inceleyelim.
| Proxy Türü | Hız | Güvenilirlik | VS Code için ne zaman uygundur |
|---|---|---|---|
| Veri merkezi proxy'leri | ⚡ Yüksek | ✅ Kararlı | Kurumsal kısıtlamaların üstesinden gelmek, uzantıları indirmek, CI/CD boru hatları |
| Konut proxy'leri | 🔄 Orta | ✅ Yüksek güven | Coğrafi olarak korunan kaynaklara erişim, belirli bir bölgeden test etme |
| Mobil proxy'ler | 🔄 Orta | ✅ Maksimum güven | VS Code için nadiren gereklidir, ancak coğrafi test ile mobil uygulama geliştirme sırasında faydalıdır |
| Kurumsal proxy (Squid, ISA) | ⚡ Yüksek | ⚠️ Ayarlara bağlı | Ofis ortamı, şirket politikası gereği zorunludur |
Kurumsal kısıtlamaları aşmak veya Microsoft sunucularına istikrarsız erişim olan bir ülkeden çalışmak zorunda kalan çoğu geliştirici için en uygun seçim veri merkezi proxy'leridir — hızlı, kararlıdır ve paket indirme ve ayar senkronizasyonu gibi teknik görevler için iyi bir şekilde uygundur.
Eğer amacınız belirli bir coğrafi bölgeden uygulamanızı test etmekse (örneğin, hizmetinizin Almanya veya ABD'deki kullanıcılar için nasıl çalıştığını kontrol etmek), o zaman gerekli ülkenin gerçek IP'lerine sahip konut proxy'leri faydalı olacaktır.
SSL denetimi olan kurumsal proxy: özel durum
SSL denetimi (man-in-the-middle) olan kurumsal proxy'ler, geliştiriciler için ayrı bir baş ağrısıdır. Bu tür bir proxy, HTTPS trafiğini şifreler, kontrol eder ve tekrar şifreler, kendi kurumsal sertifikasıyla imzalar. Sonuç olarak, VS Code "bilinmeyen" bir sertifika görür ve çalışmayı reddeder.
Belirtiler
- Çıktıda
CERT_UNTRUSTEDveyailk sertifika doğrulanamıyorhatası - Proxy doğru belirtilmiş olmasına rağmen uzantılar yüklenmiyor
- Ayar Senkronizasyonu yetkilendirme yapamıyor
- npm ve pip de sertifikalarla ilgili hatalar veriyor
Çözüm 1: SSL denetimini devre dışı bırakın (hızlı, ancak daha az güvenli)
{
"http.proxyStrictSSL": false
}
Bu, proxy'nin SSL sertifika denetimini devre dışı bırakan hızlı bir çözümdür. Güvenilir bir kurumsal ağda uygundur.
Çözüm 2: Kurumsal CA sertifikasını ekleyin (doğru yol)
Sistem yöneticinizden kurumsal kök sertifikasını (bir .pem veya .crt dosyası) alın ve ayarlara ekleyin:
{
"http.proxy": "http://corporate-proxy:3128",
"http.proxyStrictSSL": true,
"http.proxyCertificates": true
}
Ayrıca sertifikayı işletim sisteminin sertifika deposuna ekleyin — VS Code, 1.40 sürümünden itibaren sistem sertifikalarını kullanır. Windows'ta, sertifikayı "Güvenilir Kök Sertifika Otoriteleri"ne certmgr.msc aracılığıyla yüklemek yeterlidir. Linux'ta, sertifikayı /usr/local/share/ca-certificates/ dizinine ekleyin ve update-ca-certificates komutunu çalıştırın.
Çözüm 3: NODE_EXTRA_CA_CERTS değişkeni
VS Code ve uzantıları Node.js üzerinde çalıştığı için, ek CA sertifikalarını çevresel değişken aracılığıyla belirtebilirsiniz:
# Linux/macOS export NODE_EXTRA_CA_CERTS="/path/to/corporate-ca.pem" # Windows PowerShell $env:NODE_EXTRA_CA_CERTS="C:\certs\corporate-ca.pem"
Kontrol listesi: VS Code + proxy düzgün çalışıyor
Her şeyin doğru yapılandırıldığından emin olmak veya sorunun nedenini hızlıca bulmak için bu kontrol listesini kullanın.
✅ Temel proxy yapılandırması
settings.jsondosyasındahttp.proxyparametresi doğru URL ile belirtilmiştir- Proxy URL'si şemayı içerir:
http://veyasocks5:// - Eğer proxy kimlik doğrulama gerektiriyorsa — kullanıcı adı ve şifre URL'de belirtilmiştir
- VS Code ayar değişikliklerinden sonra tamamen yeniden başlatılmıştır
✅ SSL ve sertifikalar
- Proxy SSL denetimi yapıyorsa — kurumsal CA sertifikası yüklenmiştir
- Ya da geçici bir çözüm olarak
"http.proxyStrictSSL": falseayarı yapılmıştır - Çıktıda
CERT_UNTRUSTEDhatası yoktur
✅ Ayar Senkronizasyonu
- Proxy üzerinden
login.microsoftonline.comvevscode.devalan adları erişilebilir olmalıdır - Microsoft Hesabı veya GitHub ile kimlik doğrulama başarılı bir şekilde geçmektedir
- Çıktı → Ayar Senkronizasyonu bölümünde bağlantı hatası yoktur
- Senkronizasyon durumu durum çubuğunda aktif simgeyi göstermektedir
✅ Marketplace ve uzantılar
- Marketplace'de uzantı arama çalışıyor ve sonuçları gösteriyor
- Uzantı yükleme işlemi hatasız tamamlanıyor
- Ağ erişimi gerektiren uzantılar (Copilot, Remote) düzgün çalışıyor
- Uzantı güncellemeleri otomatik olarak indiriliyor
✅ Ek geliştirici araçları
- npm proxy üzerinden çalışacak şekilde yapılandırılmıştır:
npm config set proxy http://proxy:3128 - git yapılandırılmıştır:
git config --global http.proxy http://proxy:3128 - pip (eğer Python kullanılıyorsa):
HTTP_PROXYdeğişkenleri ayarlanmıştır
Sonuç
VS Code'da proxy yapılandırmak, bir kez çözülmesi gereken bir görevdir ve Marketplace'in takılması, çalışmayan Ayar Senkronizasyonu ve bağımlılıkları indiremeyen uzantılar gibi sorunlardan kurtulmanızı sağlar. Bu yazıdan çıkarılacak ana noktalar:
- En güvenilir yöntem —
http.proxy'yisettings.jsondosyasına yazmak: hem editör hem de çoğu uzantı için çalışır. - Çevresel değişkenler (
HTTP_PROXY,HTTPS_PROXY) — geliştirici ortamı için proxy ayarlarını birleştirmek için kullanışlıdır. - SSL denetimi olan kurumsal proxy, ya
proxyStrictSSL'yi devre dışı bırakmayı ya da kurumsal CA sertifikasını yüklemeyi gerektirir. - Ayar Senkronizasyonu, ek ayarlar olmadan proxy üzerinden çalışır — önemli olan Microsoft ve GitHub alan adlarının erişilebilir olmasıdır.
- Teşhis her zaman Çıktı → Ayar Senkronizasyonu ve Çıktı → Uzantılar ile başlar — burada tüm ağ hataları kodlarla görünür.
Eğer sınırlı internet erişimi olan bir ortamda çalışıyorsanız veya belirli bir coğrafi bölgeden uygulamanızı test etmeniz gerekiyorsa, veri merkezi proxy'lerini kullanmanızı öneririz — bu, geliştirme araçları ile hızlı ve istikrarlı bir çalışma sağlar; yüksek bağlantı hızı sunar ve paket indirme, ayar senkronizasyonu ve uzak depolarla çalışma gibi teknik görevler için mükemmel bir şekilde uygundur.
```