FNA-VSCode-Template/README.md
2019-02-10 22:04:48 -08:00

45 lines
3.3 KiB
Markdown

# 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](https://code.visualstudio.com)
- [C# Extension](https://marketplace.visualstudio.com/items?itemName=ms-vscode.csharp)
- [Mono Debugger Extension](https://marketplace.visualstudio.com/items?itemName=ms-vscode.mono-debug) (required for macOS debugging -- [Windows can use `clr` instead](https://github.com/OmniSharp/omnisharp-vscode/wiki/Desktop-.NET-Framework))
- [Mono](https://www.mono-project.com/docs/getting-started/install/mac/) (required for MacOS)
- [Git](https://git-scm.com)
- [7-Zip](https://www.7-zip.org) (required for Windows to decompress fnalibs)
- [Microsoft DirectX SDK (June 2010)](https://www.microsoft.com/en-us/download/details.aspx?id=6812) (required for building effects -- on Mac, [you can use Wine to run this](https://github.com/AndrewRussellNet/FNA-Template#linuxmacos-installing-the-directx-sdk-on-wine))
## Setup Instructions ##
1. Download and unzip the ZIP archive (don't clone the repo!)
2. Copy+paste the resulting folder to your desired project directory
3. 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.
4. Open the newly-created and named `code-workspace` file (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.exe` on all of the `.fx` files found in the Content/ subdirectories and outputs corresponding `.fxb` files 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](https://github.com/AndrewRussellNet/FNA-Template), from which I learned a lot (and borrowed a little).