← Retour au blog

Visual Studio vers Mac en pratique : checklist jour 1, choix IDE et migration des raccourcis

Visual Studio vers Mac en pratique : checklist jour 1, choix IDE et migration des raccourcis

MacBook neuf mais vous faites encore <kbd>Ctrl+S</kbd> et cherchez la solution dans l'Explorateur—la mémoire musculaire migre plus mal que les SDK. Checklist : compiler jour 1, PR semaine 1, CI mois 1.

Vous venez de recevoir un MacBook et votre premier réflexe est encore d’ouvrir le « menu Démarrer » pour chercher Visual Studio, ou de double-cliquer un .sln dans l’Explorateur — signe que ce n’est pas le SDK qui coûte le plus à migrer, mais la mémoire musculaire. Cet article s’adresse aux développeurs .NET, C++ ou full-stack qui ont passé des années sur Visual Studio ou Visual Studio Code sous Windows. Il propose une checklist d’environnement reproductible en trois phases — « compiler le jour 1, ouvrir une PR la semaine 1, faire tourner la CI le mois 1 » — et explique quand déléguer les builds iOS à un Mac cloud.

Les deux premières heures : faire tourner terminal, Git et dotnet

N’installez pas tout de suite Xcode en entier. Dans l’ordre ci-dessous, vous retrouvez en général le chemin principal ouvrir la solution → F5 déboguer en 120 minutes.

1. Command Line Tools et Homebrew

xcode-select --install          # Confirmer la boîte de dialogue ; suffisant si vous n’avez besoin que de Git et clang
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
echo 'eval "$(/opt/homebrew/bin/brew shellenv)"' >> ~/.zprofile
eval "$(/opt/homebrew/bin/brew shellenv)"

Sur Apple Silicon, le préfixe Homebrew est /opt/homebrew (Intel : /usr/local). Après installation, lancez brew doctor pour vérifier l’absence d’erreurs.

2. SDK .NET et CLI courantes

brew install --cask dotnet-sdk
brew install git gh jq fzf ripgrep
dotnet --info                   # Vérifier version SDK et RID (osx-arm64)

Si l’équipe fige une version SDK, ajoutez global.json à la racine du projet :

{
  "sdk": {
    "version": "8.0.400",
    "rollForward": "latestFeature"
  }
}

3. Identité Git et fins de ligne

git config --global user.name "Votre nom"
git config --global user.email "you@company.com"
git config --global core.autocrlf input   # input recommandé sur Mac ; évite les diffs de fin de ligne sur tout le dépôt pour les collègues Windows

Piège fréquent : un dépôt cloné depuis Windows où « tous les fichiers sont modified » vient dans neuf cas sur dix d’un décalage entre core.autocrlf et .gitattributes. Harmonisez les règles d’équipe dès le jour 1 — moins cher que de réécrire l’historique plus tard.


Quel IDE choisir : Rider, VS Code ou garder Windows ?

Microsoft a arrêté le support de Visual Studio for Mac (08/2024). Options réalistes :

OutilPour quiCoût de migrationNotes
JetBrains RiderGros utilisateurs Visual Studio, fans ReSharperFaibleStructure solution, refactoring, NuGet, débogage les plus proches de VS ; payant
VS Code + C# Dev KitDéjà à l’aise avec VS Code, dépôts légersTrès faibleGratuit ; indexation et refactoring plus faibles que Rider sur grosses solutions
VS Code + CursorCodage assisté par IA en prioritéFaibleCompatible écosystème d’extensions VS Code ; l’Agent sollicite souvent le terminal
Xcode completCibles iOS / macOS / MAUI iOSMoyenNécessaire uniquement pour les plateformes Apple ; gros volume, mises à jour fréquentes
Parallels / Windows distantWinForms, WPF legacy, plugins VS spécifiquesÉlevéOK en urgence, pas comme poste principal au quotidien

Guide de décision :

  • Pur ASP.NET Core / API / console → Rider ou VS Code, l’un des deux suffit.
  • .NET MAUI avec livraison iOS → en local Rider + Xcode (ou VS Code + Xcode CLI) ; l’émulateur Android tourne directement sur Mac.
  • Règles ReSharper unifiées en équipe → aligner la licence Rider sur le compte JetBrains entreprise.

Raccourcis et gestion des fenêtres : basculer les réflexes Ctrl en trois jours

Sur Mac, remplace Ctrl Windows pour enregistrer, copier, coller et annuler. Imprimez ce tableau et collez-le au bord de l’écran :

ActionWindows (VS)macOS
EnregistrerCtrl+S+S
AnnulerCtrl+Z+Z
Commenter une ligneCtrl+K, Ctrl+C+/ (modifiable dans VS Code/Rider)
DéboguerF5+ ou F5 (activer les touches fonction)
Recherche solution entièreCtrl+Shift+F+Shift+F
Changer d’appAlt+Tab+Tab

Gestion des fenêtres, second point douloureux : installez Rectangle (gratuit) ou Magnet, et utilisez ++flèches pour un agencement type Win11. Sur plusieurs écrans : Réglages système → Moniteurs → Les moniteurs ont des Spaces distincts, pour éviter que les apps plein écran sautent d’un écran à l’autre.


Terminal, shell et Docker : de PowerShell à zsh

Kit minimal recommandé

brew install starship eza bat fd
# extrait ~/.zshrc
eval "$(starship init zsh)"
alias ls='eza --icons'
alias cat='bat'
Utilisateurs PowerShell
`brew install powershell` est possible, mais les scripts d’équipe sont souvent bash/zsh ; à long terme, migrez vos alias personnels vers zsh.
Docker Desktop
Proche de la version Windows ; sur Apple Silicon, attention à l’architecture des images (linux/arm64 vs amd64). Après conteneurisation des bases, localhost dans les chaînes de connexion fonctionne pareil sur Mac.
GUI bases de données
Azure Data Studio, DBeaver et TablePlus existent sur macOS ; pas de SSMS natif Mac — Azure Data Studio en remplacement.

.NET MAUI et iOS : dev local, builds séparés

Répartition typique d’un projet MAUI multiplateforme sur Mac :

  1. Rider / VS Code : éditer l’UI partagée et la logique métier.
  2. Simulateurs locaux : déboguer l’UI iOS/Android (Xcode + émulateur Android Studio requis).
  3. Archive release : dotnet publish déclenche la chaîne Xcode ; sur la CI, un nœud macOS fixe est plus fiable.

Si vous venez de Visual Studio uniquement sous Windows, le premier package iOS bloquera longtemps sur signature et profils d’approvisionnement — workflow Apple, pas choix d’IDE. Voir Apple Developer — prise en charge Xcode pour l’alignement SDK / macOS.

Workflow hybride : MacBook 16–24 Go pour le codage quotidien ; archives complètes nocturnes et CI multi-branches sur Mac mini cloud, pour éviter ventilateur toute la nuit et DerivedData qui remplit le disque. Scripts en SSH ; VNC si souci de certificats — voir le centre d’aide.

Checklist semaine 1 : ne rien oublier en équipe

Catégorie Point de contrôle
Identité et clés Clé SSH sur GitHub/GitLab ; gh auth login ou SSO entreprise
Sources de packages nuget.config vers le feed interne ; dotnet nuget list source
Certificats Exporter le certificat dev Apple en .p12 ou secret Base64 en CI
Variables d’environnement direnv ou .env hors dépôt ; 1Password / coffre entreprise
Formatage editorconfig + dotnet format alignés avec les collègues Windows
Pre-commit husky / pre-commit tournent aussi sur Mac

Où atterrissent les habitudes Visual Studio sur Mac

Habitude VS (Windows)Équivalent Mac
Explorateur de solutionsFenêtre Solution Rider / Explorer VS Code
UI Gestionnaire de packages NuGetFenêtre outil NuGet Rider ; ou CLI dotnet add package
Explorateur de serveurs / SQLAzure Data Studio, outils base Rider
IIS Expressdotnet run Kestrel ; reverse proxy Docker
Concepteur WinFormsPas de concepteur Mac natif → VM Windows ou réécriture Web/MAUI
Explorateur de testsFenêtre tests Rider ; dotnet test
Profileurdotnet-trace, Instruments (natif), JetBrains dotTrace

Quand utiliser un Mac cloud plutôt qu’empiler la config locale

Scénarios fréquents chez les équipes qui passent de Visual Studio au Mac :

  • Windows reste le poste standard, seul le mobile a besoin de builds macOS → louer un Mac dédié, déclencher la pipeline en SSH depuis Windows.
  • Matrice de versions Xcode (clients iOS 16/17/18 en parallèle) → plusieurs Xcode mangent le disque local ; séparer les nœuds dans le cloud est plus propre.
  • Projet client court, livrable iOS dans trois mois → location journalière/hebdomadaire rentabilise plus vite qu’acheter un Mac mini.

En cas de doute, avant d’acheter un second Mac « build only », faites tourner xcodebuild archive sur un vrai dépôt en location journalière et comparez le TCO sur 36 mois. À lire aussi : coût des nœuds GitHub Actions macOS Runner.


En bref : migrer le workflow, pas un seul IDE

Développeur Visual Studio sur Mac : jour 1 Homebrew, dotnet, Git et choix d’IDE ; semaine 1 fins de ligne, clés et scripts d’équipe ; mois 1 détacher la CI iOS et les grosses compilations du portable vers des nœuds macOS stables. Les outils changent (Rider, VS Code, Cursor), mais le rythme compiler, déboguer, livrer ne doit pas casser.

Si vous montez des pipelines MAUI + iOS, gardez la machine locale légère et confiez les archives au Mac cloud — mettez la puissance dans la compilation, pas dans un tiroir inutilisé.

Coder en local, build iOS sur Mac cloud

Après Visual Studio, le .NET quotidien reste sur votre MacBook ; Archive MAUI / iOS natif et CI vont mieux sur un Mac mini cloud dédié. SSH, facturation jour/semaine/mois—pas de deuxième machine pour des builds rares.

Pas sûr que l'environnement suffise ? Testez un vrai `xcodebuild` en location journalière avant de décider du Xcode local.

Pour aller plus loin

FAQ

Visual Studio existe-t-il encore sur Mac ?

Microsoft a arrêté Visual Studio for Mac (fin du support août 2024). Les développeurs .NET utilisent JetBrains Rider ou VS Code + C# Dev Kit ; Parallels/Windows distant seulement pour des toolchains Windows legacy—not comme machine quotidienne.

Comment s'habituer vite à Ctrl vs Cmd ?

Réglages Système → Clavier ; installer IntelliJ IDEA Keymap ou Visual Studio Keymap dans Rider/VS Code. Trois jours avec une antisèche Ctrl→⌘ sur le clavier externe—plus efficace qu'apprendre par cœur.

Les projets .NET tournent-ils tels quels sur Mac ?

ASP.NET Core, console et bibliothèques de classes : souvent dotnet restore && dotnet run. Attention aux séparateurs, fins de ligne (core.autocrlf) et API Windows only (WMI). MAUI iOS exige macOS + Xcode ; Android se développe entièrement sur Mac.

Faut-il Xcode complet ?

Pour .NET / web / backend seulement : non—les Xcode Command Line Tools (xcode-select --install) suffisent pour Git et dépendances natives. Xcode complet (30 Go+) pour simulateur iOS, Archive ou interop Swift.

iTerm ou Terminal ?

Les deux conviennent. Habitués de PowerShell : iTerm2 + Homebrew zsh + starship avec alias lseza. Scripts bash : #!/usr/bin/env bash dans le shebang.

Quand louer un Mac cloud plutôt qu'un setup local ?

Pour CI iOS 24h/24, plusieurs versions Xcode, ou PC Windows principal avec signature occasionnelle. Mac mini dédié pour xcodebuild/runner—moins cher qu'un Mac de build par développeur.

Offre limitée →