Visual Studio Code peut synchroniser les extensions, les paramètres et les extraits entre les appareils, mais tout cela passe par les serveurs de Microsoft, qui ne sont souvent pas accessibles derrière un pare-feu d'entreprise, dans des réseaux de bureau avec une filtration stricte ou dans des régions avec un accès limité. Le résultat est que le Marketplace des extensions se bloque, Settings Sync ne se connecte pas, et les mises à jour ne se téléchargent pas. Dans cet article, nous allons voir comment configurer correctement un proxy dans VS Code pour que tous ces problèmes disparaissent une fois pour toutes.
Pourquoi VS Code ne fonctionne pas sans proxy dans certains réseaux
Visual Studio Code n'est pas seulement un éditeur de texte. Sous le capot, il se connecte constamment à des serveurs externes : il télécharge des mises à jour d'extensions depuis marketplace.visualstudio.com, synchronise les paramètres via vscode.dev et les serveurs GitHub/Compte Microsoft, vérifie les mises à jour de l'éditeur lui-même, et envoie des télémétries (si elles ne sont pas désactivées).
Toutes ces requêtes passent par des connexions HTTPS standard. Et c'est là que commencent les problèmes :
- Réseaux d'entreprise — les administrateurs système bloquent l'accès direct à Internet, exigeant que tout le trafic passe par un serveur proxy d'entreprise. VS Code « ne sait pas » cela et ne peut tout simplement pas se connecter.
- Pare-feux de bureau avec liste blanche — seuls des domaines spécifiques sont autorisés, et
marketplace.visualstudio.comn'en fait pas partie. - Restrictions régionales — dans certains pays et régions, l'accès aux services Microsoft est limité ou instable. Un proxy avec une adresse IP du pays requis résout le problème.
- Conflits VPN — certains VPN d'entreprise interceptent le trafic, mais ne le transmettent pas correctement, ce qui fait que VS Code perd la connexion avec le Marketplace.
- Internet instable + proxy avec mise en cache — un serveur proxy peut mettre en cache les paquets d'extensions et accélérer l'installation dans des équipes avec un canal lent.
Les symptômes de tous ces problèmes sont similaires : les extensions ne s'installent pas ou se bloquent lors du téléchargement, Settings Sync renvoie une erreur d'autorisation ou « impossible de se connecter », les mises à jour de VS Code ne se téléchargent pas, et dans le panneau de sortie, on voit des erreurs ECONNREFUSED ou ETIMEDOUT.
Comment VS Code gère le proxy : ce qu'il faut savoir
VS Code est construit sur Electron, qui utilise le moteur Chromium pour les requêtes réseau. Cela signifie que les paramètres de proxy fonctionnent de manière similaire à ceux des navigateurs — l'éditeur prend en charge les proxies HTTP, HTTPS et SOCKS5.
Il est important de comprendre la hiérarchie par laquelle VS Code recherche les paramètres de proxy :
- Paramètres système de proxy — si un proxy système est configuré sous Windows/macOS/Linux, VS Code l'adoptera automatiquement (paramètre
http.systemProxy). - Variables d'environnement —
HTTP_PROXY,HTTPS_PROXY,NO_PROXY— méthode standard pour Linux/macOS. - Paramètres dans settings.json — spécification explicite du proxy via les paramètres
http.proxyet options associées. - Arguments de ligne de commande — il est possible de lancer VS Code avec des drapeaux de proxy directement.
Priorité : les paramètres explicites dans settings.json remplacent les variables d'environnement, qui à leur tour remplacent les paramètres système. Si quelque chose ne fonctionne pas, vérifiez dans cet ordre.
💡 Point important
VS Code utilise deux piles réseau distinctes : l'une pour l'éditeur lui-même (Electron/Chromium), l'autre pour les extensions, qui peuvent faire leurs propres requêtes HTTP via Node.js. La configuration du proxy dans settings.json couvre les deux piles, mais certaines extensions ignorent les paramètres système et nécessitent une configuration séparée.
Configuration du proxy via settings.json : étape par étape
C'est la méthode la plus fiable et recommandée. Les paramètres dans settings.json s'appliquent globalement à toutes les requêtes réseau de VS Code.
Étape 1 : Ouvrez settings.json
Appuyez sur Ctrl+Shift+P (ou Cmd+Shift+P sur Mac), tapez « Open User Settings (JSON) » et sélectionnez cet élément. Le fichier des paramètres utilisateur s'ouvrira.
Étape 2 : Ajoutez les paramètres de proxy
Insérez les lignes nécessaires à l'intérieur de l'objet JSON. Exemples pour différents types de proxy :
Proxy HTTP/HTTPS (sans authentification) :
{
"http.proxy": "http://192.168.1.100:3128",
"http.proxyStrictSSL": false
}
Proxy HTTP/HTTPS avec nom d'utilisateur et mot de passe :
{
"http.proxy": "http://username:password@proxy-host:3128",
"http.proxyStrictSSL": false
}
Proxy SOCKS5 :
{
"http.proxy": "socks5://username:password@proxy-host:1080",
"http.proxyStrictSSL": false
}
Étape 3 : Comprenez les paramètres
| Paramètre | Valeur | Quand l'utiliser |
|---|---|---|
http.proxy |
URL du proxy | Paramètre principal, obligatoire |
http.proxyStrictSSL |
true / false | false — si le proxy utilise un certificat auto-signé |
http.proxyAuthorization |
Chaîne Base64 | Méthode alternative pour transmettre le nom d'utilisateur/mot de passe |
http.noProxy |
Liste de domaines | Domaines qui doivent contourner le proxy (localhost, hôtes internes) |
http.systemProxy |
on / off / override | Gestion du proxy système (nouveau paramètre dans VS Code 1.87+) |
Étape 4 : Redémarrez VS Code
Après avoir enregistré settings.json, fermez complètement et rouvrez VS Code. Un redémarrage partiel (Reload Window) n'applique parfois pas les nouveaux paramètres réseau.
Proxy via des variables d'environnement (HTTP_PROXY / HTTPS_PROXY)
Cette méthode est particulièrement pratique sur Linux et macOS, ainsi que dans des équipes où le proxy est configuré au niveau système et doit s'appliquer à tous les outils de développement — pas seulement à VS Code, mais aussi à npm, pip, git, etc.
Linux / macOS — configuration permanente
Ajoutez dans ~/.bashrc, ~/.zshrc ou ~/.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"
Après cela, exécutez source ~/.bashrc (ou reconnectez-vous à la session) et lancez VS Code depuis le terminal avec la commande code . — les variables seront héritées.
Windows — via les variables système
Ouvrez « Paramètres système » → « Paramètres système avancés » → « Variables d'environnement ». Ajoutez les variables HTTP_PROXY et HTTPS_PROXY dans la section « Variables utilisateur » (ou « Variables système » pour s'appliquer à tous les utilisateurs). Après avoir enregistré, redémarrez VS Code.
Lancer VS Code avec un proxy directement depuis la ligne de commande
Si vous devez vérifier rapidement sans configuration permanente :
# 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 via proxy : diagnostic et résolution des problèmes
Settings Sync est une fonctionnalité intégrée de VS Code qui synchronise les paramètres, les extensions, les extraits, les raccourcis clavier et les profils entre les appareils via un compte Microsoft ou GitHub. Elle fonctionne via des requêtes HTTPS vers les serveurs Microsoft et GitHub, et c'est ici que le proxy est crucial.
Erreurs typiques de Settings Sync derrière un proxy
| Erreur | Cause | Solution |
|---|---|---|
| « Impossible de se connecter au serveur » | Le proxy n'est pas configuré ou est bloqué | Configurer http.proxy dans settings.json |
| « Échec de l'authentification » | Le proxy intercepte le jeton OAuth | Désactiver l'inspection SSL pour *.microsoft.com |
| « La synchronisation est activée mais ne synchronise pas » | Le proxy d'entreprise bloque WebSocket | Utiliser un proxy prenant en charge WebSocket |
| La synchronisation se bloque sur « Synchronisation... » | Délai d'attente de connexion via un proxy lent | Changer de proxy pour un plus rapide |
Diagnostic via Output
Ouvrez View → Output et dans le menu déroulant, sélectionnez « Settings Sync ». Vous y verrez toutes les tentatives de connexion et les codes d'erreur. Recherchez des lignes avec ECONNREFUSED, 407 Proxy Authentication Required ou CERT_UNTRUSTED — chacun de ces codes indique un problème spécifique avec le proxy.
Si vous voyez l'erreur 407 — le proxy nécessite une authentification, ajoutez le nom d'utilisateur et le mot de passe dans l'URL du proxy. Si CERT_UNTRUSTED — définissez "http.proxyStrictSSL": false ou ajoutez le certificat racine du CA d'entreprise.
Domaines qui doivent être accessibles pour Settings Sync
Assurez-vous que les hôtes suivants sont accessibles via votre proxy :
login.microsoftonline.com— authentification via Microsoft Accountgithub.com— authentification via GitHubapi.github.com— API GitHub pour la synchronisation via Gistvscode.dev— service de synchronisation de VS Code*.vscode-cdn.net— CDN pour les ressources de VS Code
Extensions Marketplace : pourquoi les extensions ne s'installent pas et comment corriger cela
Le Marketplace de VS Code fonctionne via le domaine marketplace.visualstudio.com et les serveurs CDN de Microsoft. Si le proxy est configuré correctement, l'installation des extensions fonctionne de manière transparente. Mais il y a plusieurs problèmes spécifiques.
L'extension s'installe, mais ne fonctionne pas
De nombreuses extensions effectuent leurs propres requêtes réseau lors du démarrage — par exemple, elles téléchargent des serveurs de langage (LSP), des dépendances binaires ou des mises à jour de bases de données. Ces requêtes passent par Node.js à l'intérieur de l'extension, et elles obéissent aux paramètres de proxy de VS Code, mais seulement si l'extension est écrite en tenant compte des variables HTTP_PROXY.
Si l'extension ne fonctionne toujours pas derrière un proxy — vérifiez sa documentation. De nombreuses extensions populaires ont leurs propres paramètres de proxy. Par exemple :
- Python (Pylance/Pylint) — utilise les variables d'environnement système
- ESLint, Prettier — fonctionnent localement, le proxy n'est pas nécessaire
- GitHub Copilot — nécessite un accès à
api.github.com, prend le proxy depuis settings.json - Remote - SSH — le proxy est nécessaire pour le tunnel SSH, configuré séparément dans le fichier de configuration SSH
- Docker — utilise le proxy système du démon Docker
Installation des extensions manuellement (hors ligne)
Si le proxy est inaccessible ou instable, les extensions peuvent être installées manuellement via un fichier .vsix. Téléchargez le fichier d'extension depuis marketplace.visualstudio.com sur une machine avec accès à Internet, puis dans VS Code : Extensions → ··· → Installer depuis VSIX.
Quel type de proxy choisir pour VS Code
Le choix du type de proxy dépend de la tâche. Examinons les principales options en rapport avec le développement.
| Type de proxy | Vitesse | Fiabilité | Quand convient-il à VS Code |
|---|---|---|---|
| Proxy de centre de données | ⚡ Élevée | ✅ Stables | Contourner les restrictions d'entreprise, télécharger des extensions, pipelines CI/CD |
| Proxies résidentiels | 🔄 Moyenne | ✅ Haute confiance | Accès à des ressources géo-restreintes, test depuis une région spécifique |
| Proxies mobiles | 🔄 Moyenne | ✅ Confiance maximale | Rarement nécessaires pour VS Code, mais utiles lors du développement d'applications mobiles avec tests géographiques |
| Proxy d'entreprise (Squid, ISA) | ⚡ Élevée | ⚠️ Dépend des paramètres | Environnement de bureau, requis par la politique de l'entreprise |
Pour la plupart des développeurs qui ont simplement besoin de contourner les restrictions d'entreprise ou de travailler depuis un pays avec un accès instable aux serveurs Microsoft, le choix optimal sera les proxies de centre de données — ils sont rapides, stables et conviennent bien aux tâches techniques comme le téléchargement de paquets et la synchronisation des paramètres.
Si la tâche est de tester une application depuis une région géographique spécifique (par exemple, vérifier comment votre service fonctionne pour les utilisateurs en Allemagne ou aux États-Unis), alors des proxies résidentiels avec de véritables IP d'utilisateurs domestiques du pays requis seront utiles.
Proxy d'entreprise avec inspection SSL : cas particulier
Les proxies d'entreprise avec fonction d'inspection SSL (man-in-the-middle) sont un véritable casse-tête pour les développeurs. Un tel proxy déchiffre le trafic HTTPS, le vérifie et le chiffre à nouveau, en le signant avec son certificat d'entreprise. En conséquence, VS Code voit un certificat « inconnu » et refuse de fonctionner.
Symptômes
- Erreur
CERT_UNTRUSTEDouunable to verify the first certificatedans Output - Les extensions ne s'installent pas, bien que le proxy soit correctement spécifié
- Settings Sync ne s'authentifie pas
- npm et pip se plaignent également des certificats
Solution 1 : Désactiver la vérification SSL (rapide, mais moins sécurisé)
{
"http.proxyStrictSSL": false
}
C'est une solution rapide qui désactive la vérification du certificat SSL du proxy. Convient pour un réseau d'entreprise interne où le proxy est de confiance.
Solution 2 : Ajouter le certificat CA d'entreprise (la bonne méthode)
Obtenez auprès de l'administrateur système le certificat racine d'entreprise (fichier .pem ou .crt) et ajoutez-le aux paramètres :
{
"http.proxy": "http://corporate-proxy:3128",
"http.proxyStrictSSL": true,
"http.proxyCertificates": true
}
Ajoutez également le certificat au magasin de certificats système — VS Code utilise les certificats système depuis la version 1.40. Sous Windows, il suffit d'installer le certificat dans « Autorités de certification racines de confiance » via certmgr.msc. Sous Linux, ajoutez le certificat dans /usr/local/share/ca-certificates/ et exécutez update-ca-certificates.
Solution 3 : Variable NODE_EXTRA_CA_CERTS
VS Code et ses extensions fonctionnent sur Node.js, il est donc possible de spécifier des certificats CA supplémentaires via une variable d'environnement :
# 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 fonctionne correctement
Utilisez cette checklist pour vous assurer que tout est configuré correctement, ou pour trouver rapidement la cause d'un problème.
✅ Configuration de base du proxy
- Dans
settings.json, le paramètrehttp.proxyest défini avec une URL correcte - L'URL du proxy inclut le schéma :
http://ousocks5:// - Si le proxy nécessite une authentification — le nom d'utilisateur et le mot de passe sont spécifiés dans l'URL
- VS Code a été complètement redémarré après la modification des paramètres
✅ SSL et certificats
- Si le proxy utilise l'inspection SSL — le certificat CA d'entreprise est installé
- Ou
"http.proxyStrictSSL": falseest défini comme solution temporaire - Il n'y a pas d'erreurs
CERT_UNTRUSTEDdans Output
✅ Settings Sync
- Les domaines
login.microsoftonline.cometvscode.devsont accessibles via le proxy - L'authentification via Microsoft Account ou GitHub réussit
- Il n'y a pas d'erreurs de connexion dans Output → Settings Sync
- Le statut de synchronisation dans la barre d'état montre une icône active
✅ Marketplace et extensions
- La recherche d'extensions dans le Marketplace fonctionne et affiche des résultats
- L'installation d'une extension se termine sans erreurs
- Les extensions nécessitant un accès réseau (Copilot, Remote) fonctionnent correctement
- Les mises à jour des extensions se téléchargent automatiquement
✅ Outils de développement supplémentaires
- npm est configuré pour fonctionner via proxy :
npm config set proxy http://proxy:3128 - git est configuré :
git config --global http.proxy http://proxy:3128 - pip (si Python est utilisé) : les variables
HTTP_PROXYsont définies
Conclusion
Configurer un proxy dans VS Code est une tâche qui se résout une fois pour toutes et élimine les problèmes de Marketplace bloqué, de Settings Sync non fonctionnel et d'extensions qui ne peuvent pas télécharger des dépendances. Voici les points clés de cet article :
- La méthode la plus fiable consiste à spécifier
http.proxydanssettings.json: cela fonctionne pour l'éditeur lui-même et pour la plupart des extensions. - Les variables d'environnement (
HTTP_PROXY,HTTPS_PROXY) sont pratiques pour unifier les paramètres de proxy pour tout l'environnement de développement. - Le proxy d'entreprise avec inspection SSL nécessite soit la désactivation de
proxyStrictSSL, soit l'installation du certificat CA d'entreprise. - Settings Sync fonctionne via proxy sans configurations supplémentaires — tant que les domaines Microsoft et GitHub sont accessibles.
- Le diagnostic commence toujours par Output → Settings Sync et Output → Extensions — où toutes les erreurs réseau avec les codes sont visibles.
Si vous travaillez dans un environnement avec un accès Internet limité ou si vous devez tester une application depuis une région géographique spécifique, nous vous recommandons d'utiliser des proxies de centre de données pour un fonctionnement stable et rapide avec les outils de développement — ils offrent une vitesse de connexion élevée et conviennent parfaitement aux tâches techniques telles que le téléchargement de paquets, la synchronisation des paramètres et le travail avec des dépôts distants.
```