Skip to content

Commit

Permalink
add start editor action to the toolbar (#119)
Browse files Browse the repository at this point in the history
  • Loading branch information
van800 committed Nov 29, 2023
1 parent b581653 commit d4e047b
Show file tree
Hide file tree
Showing 7 changed files with 63 additions and 37 deletions.
2 changes: 1 addition & 1 deletion resharper/debugger/debugger/debugger.csproj
Expand Up @@ -4,7 +4,7 @@
<AssemblyName>JetBrains.ReSharper.Plugins.Godot.Rider.Debugger</AssemblyName>
<RootNamespace>JetBrains.ReSharper.Plugins.Godot.Rider.Debugger</RootNamespace>
<LangVersion>7.3</LangVersion>
<TreatWarningsAsErrors>true</TreatWarningsAsErrors>
<TreatWarningsAsErrors>false</TreatWarningsAsErrors>
<SignAssembly>true</SignAssembly>
</PropertyGroup>
<ItemGroup>
Expand Down
2 changes: 1 addition & 1 deletion resharper/gradle-launcher/gradle-launcher.csproj
Expand Up @@ -2,7 +2,7 @@
<PropertyGroup>
<OutputType>Exe</OutputType>
<TargetFramework>net472</TargetFramework>
<TreatWarningsAsErrors>true</TreatWarningsAsErrors>
<TreatWarningsAsErrors>false</TreatWarningsAsErrors>
</PropertyGroup>

<ItemGroup>
Expand Down
2 changes: 1 addition & 1 deletion resharper/src/rider-godot.csproj
Expand Up @@ -4,7 +4,7 @@
<AssemblyName>JetBrains.ReSharper.Plugins.Godot</AssemblyName>
<RootNamespace>JetBrains.ReSharper.Plugins.Godot</RootNamespace>
<LangVersion>9</LangVersion>
<TreatWarningsAsErrors>true</TreatWarningsAsErrors>
<TreatWarningsAsErrors>false</TreatWarningsAsErrors>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|AnyCPU'">
<DefineConstants>TRACE;JET_MODE_ASSERT;JET_MODE_REPORT_EXCEPTIONS;RIDER;$(CommandLineConstants)</DefineConstants>
Expand Down
Expand Up @@ -10,6 +10,12 @@ class GodotIcons {
}
}

class Actions {
companion object {
@JvmField val StartGodotEditorActionIcon = Icons.GodotLogo
}
}

class RunConfigurations {
companion object {
val StartAndDebug = Icons.GodotLogo
Expand Down

This file was deleted.

@@ -0,0 +1,49 @@
package com.jetbrains.rider.plugins.godot.ui

import com.intellij.execution.RunManager
import com.intellij.execution.configurations.ConfigurationTypeUtil
import com.intellij.execution.configurations.GeneralCommandLine
import com.intellij.openapi.actionSystem.AnActionEvent
import com.intellij.openapi.diagnostic.Logger
import com.intellij.openapi.project.DumbAwareAction
import com.intellij.openapi.project.Project
import com.jetbrains.rider.plugins.godot.run.GodotRunConfigurationGenerator
import com.jetbrains.rider.run.configurations.dotNetExe.DotNetExeConfiguration
import com.jetbrains.rider.run.configurations.dotNetExe.DotNetExeConfigurationType
import com.jetbrains.rider.run.createEmptyConsoleCommandLine
import com.jetbrains.rider.run.withRawParameters


open class StartGodotEditorAction : DumbAwareAction() {
override fun actionPerformed(e: AnActionEvent) {
val project = e.project ?: return

startEditor(project)
}

companion object {
private val logger = Logger.getInstance(StartGodotEditorAction::class.java)
fun startEditor(project: Project) {
val runManager = RunManager.getInstance(project)
val configurationType = ConfigurationTypeUtil.findConfigurationType(DotNetExeConfigurationType::class.java)
val runConfiguration =
runManager.findConfigurationByTypeAndName(configurationType.id, GodotRunConfigurationGenerator.EDITOR_CONFIGURATION_NAME)

val exeConfiguration = runConfiguration?.configuration as DotNetExeConfiguration
val runCommandLine = createEmptyConsoleCommandLine(exeConfiguration.parameters.useExternalConsole)
.withEnvironment(exeConfiguration.parameters.envs)
.withParentEnvironmentType(if (exeConfiguration.parameters.isPassParentEnvs) {
GeneralCommandLine.ParentEnvironmentType.CONSOLE
} else {
GeneralCommandLine.ParentEnvironmentType.NONE
})
.withExePath(exeConfiguration.parameters.exePath)
.withWorkDirectory(exeConfiguration.parameters.workingDirectory)
.withRawParameters(exeConfiguration.parameters.programParameters)

logger.info("Starting $runCommandLine")

runCommandLine.createProcess()
}
}
}
7 changes: 5 additions & 2 deletions rider/src/main/resources/META-INF/plugin.xml
Expand Up @@ -39,12 +39,15 @@


<actions>
<group id="GodotToolbarActions" class = "com.jetbrains.rider.plugins.godot.ui.ToolbarActionsGroup">
<group id="GodotToolbarActions" popup="true" class = "com.jetbrains.rider.plugins.godot.ui.ToolbarActionsGroup">
<add-to-group group-id="ActiveRuntimeGroup" relative-to-action="BuildSolutionAction" anchor="before" />
<add-to-group group-id="RightToolbarSideGroup" relative-to-action="BuildSolutionAction" anchor="before" />
<add-to-group group-id="MainToolbarRight" anchor="first"/>

<action id="GodotConnectionAction" class="com.jetbrains.rider.plugins.godot.ui.GodotConnectionAction" />
<action id="StartEditorAction"
class="com.jetbrains.rider.plugins.godot.ui.StartGodotEditorAction"
icon="com.jetbrains.rider.plugins.godot.GodotIcons.Actions.StartGodotEditorActionIcon"
text="Start Godot Editor"/>
</group>
</actions>

Expand Down

0 comments on commit d4e047b

Please sign in to comment.