fna_vscode_template
fna_vscode_template copied to clipboard
Template, build tasks, and easy-install scripts for making FNA games with VSCode!
trafficstars
FNA VSCode Template
Start new FNA projects 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 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, and compiling .fx files!
- In-editor debugging support with the Mono Debugger.
- Supports Windows and macOS!
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.
- Copy+paste the resulting folder to your desired project directory.
- Run
./getFNA.sh(macOS) or./win_getFNA.ps1(Windows PowerShell) to download the latest 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.) - Rename
project_nameto your project's name. - Open the newly-renamed project folder in Visual Studio Code.
- Do a Find+Replace for "project_name" to the new name of your project.
- Run the "Restore Project" build task.
- In
.vscode/preferences.json, changeomnisharp.autoStarttotrue. (This will enable autocompletion and Intellisense for your project!)
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.
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).