mirror of
https://github.com/prime31/FNA-VSCode-Template.git
synced 2025-10-31 21:50:44 +07:00
Template, build tasks, and easy-install scripts for making FNA + Nez games with VSCode
| project_name | ||
| .gitignore | ||
| getFNA.sh | ||
| project_name.code-workspace | ||
| project_name.sln | ||
| README.md | ||
FNA VSCode Template
Start new FNA projects with Nez quickly and easily with handy setup scripts, a versatile boilerplate project, and convenient Visual Studio Code integration.
Features
- Super simple setup scripts that download and install Nez, FNA and its native libraries for you
- Boilerplate project already included -- no need to wrestle with MSBuild configurations or writing yet another Game1 class
- Visual Studio Code tasks for building and running your game, cleaning/restoring your project, compiling .fx files and building content with the MonoGame Pipeline tool
- In-editor debugging support with the Mono Debugger
Prerequisites
- Visual Studio Code
- C# Extension
- Mono Debugger Extension (required for macOS debugging -- Windows can use
clrinstead)
- Mono (required for MacOS)
- Git
- 7-Zip (required for Windows to decompress fnalibs)
- Microsoft DirectX SDK (June 2010) (required for building effects -- on Mac, you can use Wine to run this)
Setup Instructions
- Download and unzip the ZIP archive (don't clone the repo!)
- Copy+paste the resulting folder to your desired project directory
- Run
./getFNA.sh(macOS) to download the latest Nez, FNA and fnalibs to the directory. You can run this script again if you want to update either FNA or the libraries at a later point. Nez is setup as a submodule so you can update it in the normal fashion. - Open the newly-created and named
code-workspacefile (or open the project folder in Visual Studio Code or the top-level sln in Visual Studio)
That's it! Now you're ready to build and run the base project!
Build Tasks
- Restore Project: Restores the .csproj. Run this before building for the first time, and run it again whenever you change the .csproj file.
- Build (Debug/Release): Builds the project with the specified configuration but does not run it. This also copies over everything in the Content/ subdirectory and the fnalibs.
- Build and Run (Debug/Release): Builds and runs the project. On MacOS, it runs the output with Mono. On Windows, it runs the output with .NET Framework.
- Clean Project: Cleans the output directories and all their subdirectories.
- Build Effects: Runs
fxc.exeon all of the.fxfiles found in the Content/ subdirectories and outputs corresponding.fxbfiles that can be loaded through the Content Manager at runtime. - Build Content: Runs good old MGCB.exe on the Content.mgcb file
- Force Build Content: Force builds the content (MGCB.exe -r)
- Open Pipeline Tool: Opens the MonoGame Pipeline tool
License and Credits
FNA VSCode Template is released under the Microsoft Public License. Many thanks to Andrew Russell for his FNA Template, from which I learned a lot (and borrowed a little).