Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[WIP] Re-design Godot 4 VS2022 Extension #49

Open
7 tasks
GeorgeS2019 opened this issue Mar 19, 2023 · 4 comments
Open
7 tasks

[WIP] Re-design Godot 4 VS2022 Extension #49

GeorgeS2019 opened this issue Mar 19, 2023 · 4 comments
Assignees
Labels
enhancement New feature or request

Comments

@GeorgeS2019
Copy link

GeorgeS2019 commented Mar 19, 2023

@akien-mga

Why updating Godot 4 VS2022 Extension is important?

Many Godot 4 industry partners specifically specify keeping the Godot 4 for .NET up-to-date.

Suggestions

  • Launch
  • Play in Editor
  • Launch (Select Scene)
  • Attach

If it is Godot4 for .NET, when the Visual Studio 2022 solution project is created, the default debugging profile will be replaced with the executable profiles listed above

The instructions for creating the executable profiles have been discussed here.

Do add/contribute further suggestions and improvements to the Godot 4 VS2022 Extension

Optional for further discussion

  • Support Godot 4 NUnit unit testing within VS2022
  • Support Godot 4 XUnit unit testing within VS2022

Reference VS Code: C# Tools for Godot

VS Code: Debugger launch configurations

Debugger launch configurations

By default the extension creates the following launch configurations:

  • Play in Editor
    Launches the game in the Godot editor for debugging in VSCode.
    For this option to work, a running Godot instance must be editing the project.
  • Launch
    Launches the game with a Godot executable for debugging in VSCode.
    This option requires the value of the "executable" property to be set to
    a path that points to the Godot executable that will be launched.
    The godot.csharp.executablePath setting can be configured to automatically populate the
    executable property with its value, if not configured it will be populated with the path
    to the running Godot instance if there is one, otherwise it will have to be populated manually.
    See additional Launch configuration.
  • Launch (Select Scene)
    Launches the game with a Godot executable for debugging in VSCode, allowing the user
    to select which scene to run on every execution.
    This option works just like the Launch option and also requires the value
    of the "executable" property to be set.
    See additional Launch configuration.
  • Attach
    Attaches to a running Godot instance that was configured to listen for a debugger connection.
@GeorgeS2019 GeorgeS2019 added the enhancement New feature or request label Mar 19, 2023
@GeorgeS2019
Copy link
Author

GeorgeS2019 commented Mar 19, 2023

FYI:
@Xyotic
@paiden
@Perndoe

@Xyotic
Copy link

Xyotic commented Mar 21, 2023

I guess it might be possible to add "Launch (Select Scene)" via a launchSettings.json...
Maybe the extention could generate the launch profiles everytime a new scene file gets created/deleted inside the project?
We could use FileSystemWatcher for this.

@GeorgeS2019
Copy link
Author

@Xyotic
With .NET6 and Godot4, VS2022 is becoming less challenging to configure LIKE VS Code.

The extension first milestones is to automate as u have suggested. :-)

@GeorgeS2019
Copy link
Author

GeorgeS2019 commented Jul 1, 2023

{
  "profiles": {
    "Editor": {
      "commandName": "Executable",
      "executablePath": "Path to Godot_v4.1-rc2_mono_win64\\Godot_v4.1-rc2_mono_win64.exe",
      "commandLineArgs": "--path . --editor --verbose",
      "workingDirectory": ".",
      "nativeDebugging": true
    },
    "Launch": {
      "commandName": "Executable",
      "executablePath": "Path to Godot_v4.1-rc2_mono_win64\\Godot_v4.1-rc2_mono_win64.exe",
      "commandLineArgs": "--path . --verbose",
      "workingDirectory": ".",
      "nativeDebugging": true
    }
  }
}

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

3 participants