Utiliser Monogame avec VSCode
Introduction
Il n'est pas obligatoire d'utiliser Visual Studio Community Edition pour développer des jeux avec le framework open-cource Monogame.
En effet, le framework .Net et Monogame sont accessible depuis le terminal et il est donc possible d'exécuter des commandes depuis VS Code.
Extension C# pour VS Code
Pour utiliser le langage C# dans VS Code, il est conseillé d'installer l'extension C# for Visual Studio Code. Cette extension est basée sur OmniSharp, un projet Open Source permettant d'utiliser .NET avec n'importe quelle éditeur de code (VS Code, Atom, Vim).
Exécuter, compiler et déboger C# dans VS Code
Création d'un nouveau projet
dotnet new console -o App1
cd App1
Lancement de VS Code
code .
Exécuter le code
Pour exécuter le projet, on passe par .NET Core en ligne de commande :
dotnet run
Déboger le code
Grâce à l'extension C# et en utilisant la palette de commande (Ctrl+Maj+P
), il est possible de préparer le projet à la compilation et à l'exécution :
Il est maintenant possible de procéder au débogage du projet si nécessaire :
Compiler le code
Toujorus avec .NET Core en ligne de commande :
dotnet build
Installation du framework .Net
Monogame repose sur le langage C#, il faut donc d'abord installer le framework .NET. Contrairement à Visual Studio Community Edition, nous allons installer uniquement les composants nécessaires pour compiler les projets écrits avec le framework Monogame.
- .NET SDK 5.x
- .NET Core SDK 3.x
- .NET Runtime 5.x
Malgré la sortie de .NET version 6, il est conseillé d'installer la version 5 du framework. Tous les téléchargements sont disponibles sur le site .NET de Microsoft ou directement ici.
Après installation, vous pouvez lancer une fenêtre du terminal et saisir dotnet
pour vérifier que .NET est bien installé :
Il faut télécharger la version 64 bits du framework .NET, le framework Monogame ne fonctionne pas avec une version 32 bits.
Désactivation de la télémétrie
Comme beaucoup d'outils de Microsoft, le .NET Core collecte aussi des données d'usage, il est possible de ésactiver la collecte des données comme suit (de manière définitive):
setx DOTNET_CLI_TELEMETRY_OPTOUT 1
Installation du framework MonoGame
Certains utilitaires sont requis pour pouvoir utiliser le framework MonoGame notamment l'éditeur MGCB qui servira à gérer les ressources d'un projet.
dotnet tool install --global dotnet-mgcb-editor
Dans certains cas, il faudra préciser la version du paquet :
dotnet tool install --global dotnet-mgcb-editor --version 3.8.0.1641
Si l'installation échoue, cela peut provenir d'une mauvaise configuration de Nuget. Il faut alors vérifier sa configuration.
Dans %USERPROFILE%\AppData\Roaming\NuGet\nuget.config
, vérifiez que la source des paquets est correctement renseignée :
<packageSources>
<add key="nuget.org" value="https://api.nuget.org/v3/index.json" />
</packageSources>
Il faut ensuite enregistrer l'application MGCB :
mgcb-editor --register
Enfin, il faut installer les différents modèles :
dotnet new --install MonoGame.Templates.CSharp
Ici aussi, il faudra préciser la la version des modèles en cas de problème :
dotnet new --install MonoGame.Templates.CSharp::3.8.0.1641
Création d'un nouveau projet
On utilisera le modèle mgdesktopgl qui permet de faire des jeux multi-plateformes.
dotnet new mgdesktopgl -o ProjectName
cd ProjectName
dotnet add package MonoGame.Framework.DesktopGL --version 3.8.0.1641
Lancement de VS Code
code .
Test du programme
dotnet run Program.cs
Import d'un projet existant
Il est possible de récupérer sur le github de Monogame plusieurs exemples de jeu multi-plaforme. Ouvrir un de ces projets dans VS Code est une bonne manière de tester votre configuration et voir si tout fonctionne :