├── .vscode ├── launch.json └── tasks.json └── README.md /.vscode/launch.json: -------------------------------------------------------------------------------- 1 | { 2 | "version": "2.0.0", 3 | "configurations": [ 4 | { 5 | "name": "Launch", 6 | "type": "coreclr", 7 | "request": "launch", 8 | "preLaunchTask": "build", 9 | "program": "[[PATH TO YOUR GODOT ENGINE EXE]]", 10 | "cwd": "${workspaceFolder}", 11 | "console": "internalConsole", 12 | "stopAtEntry": false, 13 | "args": [ 14 | "--path", 15 | "${workspaceRoot}" 16 | ] 17 | }, 18 | { 19 | "name": "Launch (Select Scene)", 20 | "type": "coreclr", 21 | "request": "launch", 22 | "preLaunchTask": "build", 23 | "program": "[[PATH TO YOUR GODOT ENGINE EXE]]", 24 | "cwd": "${workspaceFolder}", 25 | "console": "internalConsole", 26 | "stopAtEntry": false, 27 | "args": [ 28 | "--path", 29 | "${workspaceRoot}", 30 | "${command:godot.csharp.getLaunchScene}" 31 | ] 32 | }, 33 | { 34 | "name": "Launch Editor", 35 | "type": "coreclr", 36 | "request": "launch", 37 | "preLaunchTask": "build", 38 | "program": "[[PATH TO YOUR GODOT ENGINE EXE]]", 39 | "cwd": "${workspaceFolder}", 40 | "console": "internalConsole", 41 | "stopAtEntry": false, 42 | "args": [ 43 | "--path", 44 | "${workspaceRoot}", 45 | "--editor" 46 | ] 47 | }, 48 | { 49 | "name": "Attach to Process", 50 | "type": "coreclr", 51 | "request": "attach" 52 | } 53 | ] 54 | } 55 | -------------------------------------------------------------------------------- /.vscode/tasks.json: -------------------------------------------------------------------------------- 1 | { 2 | "version": "2.0.0", 3 | "tasks": [ 4 | { 5 | "label": "build", 6 | "command": "dotnet", 7 | "type": "shell", 8 | "args": [ 9 | "build", 10 | "/property:GenerateFullPaths=true", 11 | "/consoleloggerparameters:NoSummary" 12 | ], 13 | "group": { 14 | "kind": "build", 15 | "isDefault": true 16 | }, 17 | "presentation": { 18 | "reveal": "silent" 19 | }, 20 | "problemMatcher": "$msCompile" 21 | } 22 | ] 23 | } 24 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Godot 4 VSCode C# build configs 2 | 3 | tasks.json and launch.json files that Just Work™ for Godot 4 projects made using C# in VSCode. Uses .NET Core (coreclr) for building and debugging your projects. 4 | 5 | ## Launch options: 6 | - Launch - Launches your default scene 7 | - Launch (Select Scene) - Prompts you to select the scene from your project you wish to open then launches that (using C# Tools for Godot's functionality) 8 | - Launch Editor - Launches your project in the Godot editor 9 | - Attach to Process - Prompts you to select which process you wish to attach to then attaches to that 10 | 11 | ## .NET SDK Required: 12 | You will need at least the .NET 6.0 SDK installed on your PC. It looks like Godot 4 has also added support for .NET 7.0, so that should work too. You download them here: 13 | - .NET 6.0: https://dotnet.microsoft.com/en-us/download/dotnet/6.0 14 | - .NET 7.0: https://dotnet.microsoft.com/en-us/download/dotnet/7.0 15 | 16 | ## Required extensions: 17 | - C# 18 | - .Net Install Tool for Extension Authors (Dependency for C# - probably auto-installs) 19 | - C# Tools for Godot (only required for the Select Scene build config) 20 | - Mono Debug (Dependency for "C# Tools for Godot" - probably auto-installs) 21 | 22 | These can be installed from within VSCode. Just open the Extensions tab and search the marketplace for them. 23 | 24 | ## Instructions: 25 | 1. Download and Install .NET 6.0 or 7.0 SDK 26 | 2. Search for Install required extensions in VSCode 27 | 3. Copy the .vscode folder to your Godot project folder 28 | 4. Edit the "program" values in launch.json to be the path to your Godot engine exe file 29 | 5. Done! 30 | --------------------------------------------------------------------------------