diff --git a/plugins/gradle/src/org/jetbrains/plugins/gradle/action/GradleOpenScriptAction.java b/plugins/gradle/src/org/jetbrains/plugins/gradle/action/GradleOpenScriptAction.java index c6922d692430..f010e59ebde8 100644 --- a/plugins/gradle/src/org/jetbrains/plugins/gradle/action/GradleOpenScriptAction.java +++ b/plugins/gradle/src/org/jetbrains/plugins/gradle/action/GradleOpenScriptAction.java @@ -3,8 +3,13 @@ package org.jetbrains.plugins.gradle.action; import com.intellij.openapi.actionSystem.AnAction; import com.intellij.openapi.actionSystem.AnActionEvent; import com.intellij.openapi.actionSystem.Presentation; +import com.intellij.openapi.diagnostic.Logger; +import com.intellij.openapi.fileEditor.FileEditorManager; +import com.intellij.openapi.fileEditor.OpenFileDescriptor; import com.intellij.openapi.project.DumbAware; import com.intellij.openapi.project.Project; +import com.intellij.openapi.vfs.LocalFileSystem; +import com.intellij.openapi.vfs.VirtualFile; import org.jetbrains.annotations.NotNull; import org.jetbrains.plugins.gradle.config.GradleSettings; import org.jetbrains.plugins.gradle.util.GradleBundle; @@ -19,6 +24,8 @@ import org.jetbrains.plugins.gradle.util.GradleBundle; */ public class GradleOpenScriptAction extends AbstractGradleLinkedProjectAction implements DumbAware { + private static final Logger LOG = Logger.getInstance("#" + GradleOpenScriptAction.class.getName()); + public GradleOpenScriptAction() { getTemplatePresentation().setText(GradleBundle.message("gradle.action.open.script.text")); getTemplatePresentation().setDescription(GradleBundle.message("gradle.action.open.script.description")); @@ -30,6 +37,12 @@ public class GradleOpenScriptAction extends AbstractGradleLinkedProjectAction im @Override protected void doActionPerformed(@NotNull Project project, @NotNull String linkedProjectPath) { - // TODO den implement + final VirtualFile virtualFile = LocalFileSystem.getInstance().findFileByPath(linkedProjectPath); + if (virtualFile == null) { + LOG.warn(String.format("Can't obtain virtual file for the target file path: '%s'", linkedProjectPath)); + return; + } + OpenFileDescriptor descriptor = new OpenFileDescriptor(project, virtualFile); + FileEditorManager.getInstance(project).openTextEditor(descriptor, true); } }