Skip to content

[7.0] IntelliJ IDEA and Visual Studio Code do not have dedicated run configurations #1025

@Jonathing

Description

@Jonathing

This issue exists as an information highlight regarding the nature of IDE run configurations in ForgeGradle 7.

tl;dr ForgeGradle 7 and later will not generate dedicated run configurations for IntelliJ, VSCode, or any other IDE that has native support for debugging JavaExec tasks.

Legacy versions of ForgeGradle existed at a time where Gradle itself was still an incubating build tool. IDEs had very little, and poor, integration with Gradle. We now work in an era where Gradle is, more often than not, the defacto build tool for JVM projects due to its flexibility. Most major IDEs (in terms of market share) have committed to deep integration with Gradle via the Gradle Tooling API.

Eclipse is the only major IDE that is the exception to this rule. Eclipse Buildship still does not have the ability to attach a debugger to JavaExec tasks (see eclipse-buildship/buildship#1130). Therefore, the only requirement for dedicated IDE run configurations is Eclipse, as it is the sole major IDE whose Gradle integration is unable to debug JavaExec tasks.

While I am personally a big fan of consistency, it should not be a burden on ForgeGradle (and by extension, me) to need to generate IDE run configurations for all major IDEs, especially when the spec for run configurations between said tools are often confusing, undocumented, or both. What I can consider, however, is figuring out a way to add the run tasks to the drop-down menu as a default option, rather than needing to make a completely separate entry and file that bypasses invoking Gradle.

When documentation is worked on, I'll make it a clear point to show how to run and debug the game properly through the Gradle tasks.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions