Visual Studio Code dapat menyinkronkan ekstensi, pengaturan, dan snippet antar perangkat — tetapi semua ini bekerja melalui server Microsoft, yang sering kali tidak dapat diakses di balik firewall perusahaan, di jaringan kantor dengan penyaringan ketat, atau dari wilayah dengan akses terbatas. Hasilnya — Extensions Marketplace terhenti, Settings Sync tidak terhubung, pembaruan tidak diunduh. Dalam artikel ini, kita akan membahas cara mengatur proxy dengan benar di VS Code agar semua masalah ini hilang selamanya.
Mengapa VS Code tidak berfungsi tanpa proxy di beberapa jaringan
Visual Studio Code bukan hanya editor teks. Di balik layar, ia terus-menerus berkomunikasi dengan server eksternal: mengunduh pembaruan ekstensi dari marketplace.visualstudio.com, menyinkronkan pengaturan melalui vscode.dev dan server Akun GitHub/Microsoft, memeriksa pembaruan editor itu sendiri, mengirimkan telemetri (jika tidak dinonaktifkan).
Semua permintaan ini dilakukan melalui koneksi HTTPS standar. Dan di sinilah masalah dimulai:
- Jaringan perusahaan — administrator sistem memblokir akses langsung ke internet, mengharuskan semua lalu lintas melewati server proxy perusahaan. VS Code "tidak tahu" tentang ini dan hanya tidak dapat terhubung.
- Firewall kantor dengan daftar putih — hanya domain tertentu yang diizinkan, dan
marketplace.visualstudio.comtidak termasuk dalam daftar ini. - Pembatasan regional — di beberapa negara dan wilayah, akses ke layanan Microsoft dibatasi atau tidak stabil. Proxy dengan IP negara yang diperlukan menyelesaikan masalah ini.
- Konflik VPN — beberapa VPN perusahaan menangkap lalu lintas, tetapi tidak meneruskannya dengan benar, menyebabkan VS Code kehilangan koneksi dengan Marketplace.
- Internet tidak stabil + proxy dengan caching — server proxy dapat menyimpan paket ekstensi dan mempercepat instalasi di tim dengan saluran lambat.
Gejala dari semua masalah ini mirip: ekstensi tidak terinstal atau terhenti saat memuat, Settings Sync memberikan kesalahan otorisasi atau "tidak dapat terhubung", pembaruan VS Code tidak diunduh, dan di panel Output terlihat kesalahan ECONNREFUSED atau ETIMEDOUT.
Bagaimana VS Code menangani proxy: apa yang penting untuk diketahui
VS Code dibangun di atas Electron, yang menggunakan mesin Chromium untuk permintaan jaringan. Ini berarti pengaturan proxy bekerja mirip dengan pengaturan di browser — editor mendukung proxy HTTP, HTTPS, dan SOCKS5.
Penting untuk memahami hierarki di mana VS Code mencari pengaturan proxy:
- Pengaturan proxy sistem — jika di Windows/macOS/Linux telah diatur proxy sistem, VS Code akan secara otomatis mengambilnya (parameter
http.systemProxy). - Variabel lingkungan —
HTTP_PROXY,HTTPS_PROXY,NO_PROXY— cara standar untuk Linux/macOS. - Pengaturan di settings.json — penentuan eksplisit proxy melalui parameter
http.proxydan opsi terkait. - Argumen baris perintah — Anda dapat menjalankan VS Code dengan flag proxy secara langsung.
Prioritas: pengaturan eksplisit di settings.json menimpa variabel lingkungan, yang pada gilirannya menimpa pengaturan sistem. Jika sesuatu tidak berfungsi — periksa dalam urutan ini.
💡 Catatan Penting
VS Code menggunakan dua tumpukan jaringan terpisah: satu untuk editor itu sendiri (Electron/Chromium), yang lainnya — untuk ekstensi, yang dapat melakukan permintaan HTTP mereka sendiri melalui Node.js. Pengaturan proxy di settings.json mencakup kedua tumpukan, tetapi beberapa ekstensi mengabaikan pengaturan sistem dan memerlukan konfigurasi terpisah.
Pengaturan proxy melalui settings.json: langkah demi langkah
Ini adalah cara yang paling dapat diandalkan dan direkomendasikan. Pengaturan di settings.json diterapkan secara global untuk semua permintaan jaringan VS Code.
Langkah 1: Buka settings.json
Tekan Ctrl+Shift+P (atau Cmd+Shift+P di Mac), ketik “Open User Settings (JSON)” dan pilih opsi ini. File pengaturan pengguna akan terbuka.
Langkah 2: Tambahkan parameter proxy
Tempelkan baris yang diperlukan ke dalam objek JSON. Contoh untuk berbagai jenis proxy:
Proxy HTTP/HTTPS (tanpa otorisasi):
{
"http.proxy": "http://192.168.1.100:3128",
"http.proxyStrictSSL": false
}
Proxy HTTP/HTTPS dengan login dan password:
{
"http.proxy": "http://username:password@proxy-host:3128",
"http.proxyStrictSSL": false
}
Proxy SOCKS5:
{
"http.proxy": "socks5://username:password@proxy-host:1080",
"http.proxyStrictSSL": false
}
Langkah 3: Pahami parameter
| Parameter | Nilai | Kapan digunakan |
|---|---|---|
http.proxy |
URL proxy | Parameter utama, wajib |
http.proxyStrictSSL |
true / false | false — jika proxy menggunakan sertifikat self-signed |
http.proxyAuthorization |
String Base64 | Cara alternatif untuk mengirimkan login/password |
http.noProxy |
Daftar domain | Domain yang harus melewati proxy (localhost, host internal) |
http.systemProxy |
on / off / override | Mengelola proxy sistem (parameter baru di VS Code 1.87+) |
Langkah 4: Restart VS Code
Setelah menyimpan settings.json, tutup sepenuhnya dan buka kembali VS Code. Restart sebagian (Reload Window) kadang tidak menerapkan pengaturan jaringan baru.
Proxy melalui variabel lingkungan (HTTP_PROXY / HTTPS_PROXY)
Cara ini sangat nyaman di Linux dan macOS, serta di tim di mana proxy diatur di tingkat sistem dan harus diterapkan ke semua alat pengembangan — tidak hanya untuk VS Code, tetapi juga untuk npm, pip, git, dll.
Linux / macOS — pengaturan permanen
Tambahkan ke ~/.bashrc, ~/.zshrc atau ~/.profile:
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"
Setelah itu, jalankan source ~/.bashrc (atau masuk kembali ke sesi) dan jalankan VS Code dari terminal dengan perintah code . — variabel akan diwarisi.
Windows — melalui variabel sistem
Buka “Pengaturan Sistem” → “Pengaturan Sistem Lanjutan” → “Variabel Lingkungan”. Tambahkan variabel HTTP_PROXY dan HTTPS_PROXY di bagian “Variabel Pengguna” (atau “Variabel Sistem” untuk diterapkan ke semua pengguna). Setelah menyimpan, restart VS Code.
Menjalankan VS Code dengan proxy langsung dari baris perintah
Jika perlu cepat memeriksa tanpa pengaturan permanen:
# 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 .
Settings Sync melalui proxy: diagnosis dan pemecahan masalah
Settings Sync — fitur bawaan VS Code yang menyinkronkan pengaturan, ekstensi, snippet, pintasan keyboard, dan profil antar perangkat melalui akun Microsoft atau GitHub. Ini bekerja melalui permintaan HTTPS ke server Microsoft dan GitHub, dan di sinilah proxy sangat penting.
Kesalahan umum Settings Sync melalui proxy
| Kesalahan | Penyebab | Solusi |
|---|---|---|
| “Cannot connect to the server” | Proxy tidak diatur atau diblokir | Atur http.proxy di settings.json |
| “Authentication failed” | Proxy menangkap token OAuth | Nonaktifkan inspeksi SSL untuk *.microsoft.com |
| “Sync is turned on but not syncing” | Proxy perusahaan memblokir WebSocket | Gunakan proxy yang mendukung WebSocket |
| Sinkronisasi terhenti di “Syncing...” | Timeout koneksi melalui proxy lambat | Ganti proxy dengan yang lebih cepat |
Diagnosis melalui Output
Buka View → Output dan di menu dropdown pilih “Settings Sync”. Di sini terlihat semua upaya koneksi dan kode kesalahan. Cari baris dengan ECONNREFUSED, 407 Proxy Authentication Required atau CERT_UNTRUSTED — setiap kode ini menunjukkan masalah spesifik dengan proxy.
Jika Anda melihat kesalahan 407 — proxy memerlukan otorisasi, tambahkan login dan password ke URL proxy. Jika CERT_UNTRUSTED — atur "http.proxyStrictSSL": false atau tambahkan sertifikat root CA perusahaan.
Domain yang harus dapat diakses untuk Settings Sync
Pastikan proxy Anda dapat mengakses host berikut:
login.microsoftonline.com— otorisasi melalui Microsoft Accountgithub.com— otorisasi melalui GitHubapi.github.com— API GitHub untuk sinkronisasi melalui Gistvscode.dev— layanan sinkronisasi VS Code*.vscode-cdn.net— CDN untuk sumber daya VS Code
Extensions Marketplace: mengapa ekstensi tidak terinstal dan cara memperbaikinya
Marketplace VS Code bekerja melalui domain marketplace.visualstudio.com dan server CDN Microsoft. Jika proxy diatur dengan benar, instalasi ekstensi bekerja secara transparan. Namun, ada beberapa masalah spesifik.
Ekstensi terinstal, tetapi tidak berfungsi
Banyak ekstensi melakukan permintaan jaringan mereka sendiri saat diluncurkan — misalnya, mengunduh server bahasa (LSP), ketergantungan biner, atau pembaruan basis data. Permintaan ini dilakukan melalui Node.js di dalam ekstensi, dan mereka tunduk pada pengaturan proxy VS Code, tetapi hanya jika ekstensi ditulis dengan mempertimbangkan variabel HTTP_PROXY.
Jika ekstensi tetap tidak berfungsi di belakang proxy — periksa dokumentasinya. Banyak ekstensi populer memiliki pengaturan proxy mereka sendiri. Misalnya:
- Python (Pylance/Pylint) — menggunakan variabel lingkungan sistem
- ESLint, Prettier — bekerja secara lokal, proxy tidak diperlukan
- GitHub Copilot — memerlukan akses ke
api.github.com, mengambil proxy dari settings.json - Remote - SSH — proxy diperlukan untuk tunnel SSH, diatur terpisah di konfigurasi SSH
- Docker — menggunakan proxy sistem Docker daemon
Instalasi ekstensi secara manual (offline)
Jika proxy tidak tersedia atau tidak stabil, ekstensi dapat diinstal secara manual melalui file .vsix. Unduh file ekstensi dari marketplace.visualstudio.com di mesin dengan akses internet, kemudian di VS Code: Extensions → ··· → Install from VSIX.
Jenis proxy apa yang dipilih untuk VS Code
Pemilihan jenis proxy tergantung pada tugas. Mari kita lihat opsi utama yang relevan untuk pengembangan.
| Jenis proxy | Kecepatan | Keandalan | Kapan cocok untuk VS Code |
|---|---|---|---|
| Proxy data center | ⚡ Tinggi | ✅ Stabil | Menghindari batasan perusahaan, mengunduh ekstensi, pipeline CI/CD |
| Proxy residensial | 🔄 Sedang | ✅ Kepercayaan tinggi | Akses ke sumber daya yang dilindungi secara geografis, pengujian dari wilayah tertentu |
| Proxy seluler | 🔄 Sedang | ✅ Kepercayaan maksimum | Jarang diperlukan untuk VS Code, tetapi berguna saat mengembangkan aplikasi seluler dengan pengujian geografis |
| Proxy perusahaan (Squid, ISA) | ⚡ Tinggi | ⚠️ Tergantung pada pengaturan | Lingkungan kantor, diwajibkan oleh kebijakan perusahaan |
Untuk sebagian besar pengembang yang hanya perlu menghindari batasan perusahaan atau bekerja dari negara dengan akses tidak stabil ke server Microsoft, pilihan optimal adalah proxy data center — mereka cepat, stabil, dan sangat cocok untuk tugas teknis seperti mengunduh paket dan menyinkronkan pengaturan.
Namun, jika tugasnya adalah menguji aplikasi dari wilayah geografis tertentu (misalnya, memeriksa bagaimana layanan Anda berfungsi untuk pengguna di Jerman atau AS), maka proxy residensial dengan IP nyata dari pengguna rumah di negara yang diperlukan akan berguna.
Proxy perusahaan dengan inspeksi SSL: kasus khusus
Proxy perusahaan dengan fungsi inspeksi SSL (man-in-the-middle) adalah masalah tersendiri bagi pengembang. Proxy semacam ini mendekripsi lalu lintas HTTPS, memeriksanya, dan kemudian mengenkripsi kembali, menandatangani dengan sertifikat perusahaan mereka. Akibatnya, VS Code melihat sertifikat "tidak dikenal" dan menolak untuk berfungsi.
Gejala
- Kesalahan
CERT_UNTRUSTEDatauunable to verify the first certificatedi Output - Ekstensi tidak terinstal, meskipun proxy diatur dengan benar
- Settings Sync tidak terautorisasi
- npm dan pip juga mengeluh tentang sertifikat
Solusi 1: Nonaktifkan pemeriksaan SSL (cepat, tetapi kurang aman)
{
"http.proxyStrictSSL": false
}
Ini adalah solusi cepat yang menonaktifkan pemeriksaan sertifikat SSL proxy. Cocok untuk jaringan perusahaan internal di mana proxy dapat dipercaya.
Solusi 2: Tambahkan sertifikat CA perusahaan (jalan yang benar)
Dapatkan sertifikat root perusahaan dari administrator sistem (file .pem atau .crt) dan tambahkan ke pengaturan:
{
"http.proxy": "http://corporate-proxy:3128",
"http.proxyStrictSSL": true,
"http.proxyCertificates": true
}
Juga tambahkan sertifikat ke penyimpanan sistem OS — VS Code menggunakan sertifikat sistem mulai dari versi 1.40. Di Windows, cukup instal sertifikat di “Root Certification Authorities” melalui certmgr.msc. Di Linux, tambahkan sertifikat ke /usr/local/share/ca-certificates/ dan jalankan update-ca-certificates.
Solusi 3: Variabel NODE_EXTRA_CA_CERTS
VS Code dan ekstensi-nya berjalan di Node.js, jadi Anda dapat menentukan sertifikat CA tambahan melalui variabel lingkungan:
# Linux/macOS export NODE_EXTRA_CA_CERTS="/path/to/corporate-ca.pem" # Windows PowerShell $env:NODE_EXTRA_CA_CERTS="C:\certs\corporate-ca.pem"
Checklist: VS Code + proxy berfungsi dengan benar
Gunakan checklist ini untuk memastikan bahwa semuanya diatur dengan benar, atau cepat menemukan penyebab masalah.
✅ Pengaturan dasar proxy
- Di
settings.jsonterdapat parameterhttp.proxydengan URL yang benar - URL proxy mencakup skema:
http://atausocks5:// - Jika proxy memerlukan otorisasi — login dan password dicantumkan di URL
- VS Code sepenuhnya di-restart setelah perubahan pengaturan
✅ SSL dan sertifikat
- Jika proxy dengan inspeksi SSL — sertifikat CA perusahaan telah diinstal
- Atau
"http.proxyStrictSSL": falsediatur sebagai solusi sementara - Tidak ada kesalahan
CERT_UNTRUSTEDdi Output
✅ Settings Sync
- Domain
login.microsoftonline.comdanvscode.devdapat diakses melalui proxy - Otorisasi melalui Microsoft Account atau GitHub berhasil
- Tidak ada kesalahan koneksi di Output → Settings Sync
- Status sinkronisasi di bilah status menunjukkan ikon aktif
✅ Marketplace dan ekstensi
- Pencarian ekstensi di Marketplace berfungsi dan menampilkan hasil
- Instalasi ekstensi selesai tanpa kesalahan
- Ekstensi yang memerlukan akses jaringan (Copilot, Remote) berfungsi dengan baik
- Pembaruan ekstensi diunduh secara otomatis
✅ Alat pengembang tambahan
- npm diatur untuk bekerja melalui proxy:
npm config set proxy http://proxy:3128 - git diatur:
git config --global http.proxy http://proxy:3128 - pip (jika menggunakan Python): variabel
HTTP_PROXYtelah diatur
Kesimpulan
Mengatur proxy di VS Code adalah tugas yang diselesaikan sekali dan selamanya menghilangkan masalah dengan Marketplace yang terhenti, Settings Sync yang tidak berfungsi, dan ekstensi yang tidak dapat mengunduh ketergantungan. Kesimpulan kunci dari artikel ini:
- Cara paling dapat diandalkan — menuliskan
http.proxydisettings.json: berfungsi untuk editor itu sendiri dan sebagian besar ekstensi. - Variabel lingkungan (
HTTP_PROXY,HTTPS_PROXY) — nyaman untuk menyatukan pengaturan proxy untuk seluruh lingkungan pengembang. - Proxy perusahaan dengan inspeksi SSL memerlukan baik penonaktifan
proxyStrictSSL, atau pemasangan sertifikat CA perusahaan. - Settings Sync berfungsi melalui proxy tanpa pengaturan tambahan — yang penting adalah domain Microsoft dan GitHub dapat diakses.
- Diagnosis selalu dimulai dari Output → Settings Sync dan Output → Extensions — di sana terlihat semua kesalahan jaringan dengan kode.
Jika Anda bekerja di lingkungan dengan akses internet terbatas atau perlu menguji aplikasi dari wilayah geografis tertentu, kami merekomendasikan menggunakan proxy data center untuk kinerja yang stabil dan cepat dengan alat pengembangan — mereka menyediakan kecepatan koneksi tinggi dan sangat cocok untuk tugas teknis seperti mengunduh paket, menyinkronkan pengaturan, dan bekerja dengan repositori jarak jauh.
```