mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
IDEA-368012 New run/debug configurations should use the project folder as default working directory
implemented for java & kotlin GitOrigin-RevId: b9dd9940016cba3cb9a421680fc15540c21288a0
This commit is contained in:
committed by
intellij-monorepo-bot
parent
575630219c
commit
703d06c50d
+1
-1
@@ -376,7 +376,7 @@ public class ApplicationConfiguration extends JavaRunConfigurationBase
|
||||
|
||||
String workingDirectory = options.getWorkingDirectory();
|
||||
if (workingDirectory == null) {
|
||||
workingDirectory = PathUtil.toSystemDependentName(getProject().getBasePath());
|
||||
workingDirectory = ProgramParametersUtil.getWorkingDirectoryByModule(this);
|
||||
}
|
||||
else {
|
||||
workingDirectory = FileUtilRt.toSystemDependentName(VirtualFileManager.extractPath(workingDirectory));
|
||||
|
||||
@@ -2053,6 +2053,7 @@ f:com.intellij.execution.util.ProgramParametersUtil
|
||||
- s:expandPathAndMacros(java.lang.String,com.intellij.openapi.module.Module,com.intellij.openapi.project.Project):java.lang.String
|
||||
- s:getModule(com.intellij.execution.CommonProgramRunConfigurationParameters):com.intellij.openapi.module.Module
|
||||
- s:getWorkingDir(com.intellij.execution.CommonProgramRunConfigurationParameters,com.intellij.openapi.project.Project,com.intellij.openapi.module.Module):java.lang.String
|
||||
- s:getWorkingDirectoryByModule(com.intellij.execution.configurations.ModuleBasedConfiguration):java.lang.String
|
||||
f:com.intellij.execution.util.ScriptFileUtil
|
||||
- s:copyToTempFile(java.lang.String):java.io.File
|
||||
- s:findScriptFileByPath(java.lang.String):com.intellij.openapi.vfs.VirtualFile
|
||||
|
||||
@@ -2,11 +2,14 @@
|
||||
package com.intellij.execution.util;
|
||||
|
||||
import com.intellij.execution.CommonProgramRunConfigurationParameters;
|
||||
import com.intellij.execution.configurations.ModuleBasedConfiguration;
|
||||
import com.intellij.execution.configurations.RuntimeConfigurationWarning;
|
||||
import com.intellij.execution.configurations.SimpleProgramParameters;
|
||||
import com.intellij.openapi.module.Module;
|
||||
import com.intellij.openapi.project.Project;
|
||||
import com.intellij.openapi.project.workspace.SubprojectInfoProvider;
|
||||
import com.intellij.util.IncorrectOperationException;
|
||||
import com.intellij.util.PathUtil;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
|
||||
public final class ProgramParametersUtil {
|
||||
@@ -40,4 +43,13 @@ public final class ProgramParametersUtil {
|
||||
public static @Nullable Module getModule(CommonProgramRunConfigurationParameters configuration) {
|
||||
return new ProgramParametersConfigurator().getModule(configuration);
|
||||
}
|
||||
|
||||
public static String getWorkingDirectoryByModule(ModuleBasedConfiguration<?, ?> configuration) {
|
||||
Module module = configuration.getConfigurationModule().getModule();
|
||||
if (module != null) {
|
||||
String path = SubprojectInfoProvider.Companion.getSubprojectPath(module);
|
||||
if (path != null) return path;
|
||||
}
|
||||
return PathUtil.toSystemDependentName(configuration.getProject().getBasePath());
|
||||
}
|
||||
}
|
||||
|
||||
+3
-1
@@ -112,7 +112,9 @@ open class KotlinRunConfiguration(name: String?, runConfigurationModule: JavaRun
|
||||
FileUtilRt.toSystemDependentName(VirtualFileManager.extractPath(it))
|
||||
} ?: PathUtil.toSystemDependentName(defaultWorkingDirectory())
|
||||
|
||||
protected open fun defaultWorkingDirectory() = project.basePath
|
||||
protected open fun defaultWorkingDirectory(): String? {
|
||||
return ProgramParametersUtil.getWorkingDirectoryByModule(this)
|
||||
}
|
||||
|
||||
override fun setVMParameters(value: String?) {
|
||||
options.vmParameters = value
|
||||
|
||||
Reference in New Issue
Block a user