diff --git a/base/src/com/google/idea/blaze/base/project/AutoImportProjectOpenProcessor.java b/base/src/com/google/idea/blaze/base/project/AutoImportProjectOpenProcessor.java index 212d0958f08..0cf72c588e6 100644 --- a/base/src/com/google/idea/blaze/base/project/AutoImportProjectOpenProcessor.java +++ b/base/src/com/google/idea/blaze/base/project/AutoImportProjectOpenProcessor.java @@ -60,6 +60,7 @@ */ public class AutoImportProjectOpenProcessor extends ProjectOpenProcessor { + public static final String MANAGED_PROJECT_RELATIVE_PATH = "tools/intellij/.managed.bazelproject"; static final Key PROJECT_AUTO_IMPORTED = Key.create("bazel.project.auto_imported"); private static final Logger LOG = Logger.getInstance(AutoImportProjectOpenProcessor.class); @@ -228,7 +229,7 @@ private ProjectView createProjectView(VirtualFile workspaceRoot, // second check managed project view template Path managedProjectViewFilePath = workspaceRoot.toNioPath() - .resolve("tools/intellij/.managed.bazelproject"); + .resolve(MANAGED_PROJECT_RELATIVE_PATH); if (managedProjectViewFilePath.toFile().exists()) { return fromFileProjectView(managedProjectViewFilePath, pathResolver); } diff --git a/base/src/com/google/idea/blaze/base/wizard2/ImportFromWorkspaceProjectViewOption.java b/base/src/com/google/idea/blaze/base/wizard2/ImportFromWorkspaceProjectViewOption.java index 3b9fd193779..b4ccb68c5d0 100644 --- a/base/src/com/google/idea/blaze/base/wizard2/ImportFromWorkspaceProjectViewOption.java +++ b/base/src/com/google/idea/blaze/base/wizard2/ImportFromWorkspaceProjectViewOption.java @@ -16,6 +16,8 @@ package com.google.idea.blaze.base.wizard2; import com.google.idea.blaze.base.model.primitives.WorkspacePath; +import com.google.idea.blaze.base.model.primitives.WorkspaceRoot; +import com.google.idea.blaze.base.project.AutoImportProjectOpenProcessor; import com.google.idea.blaze.base.projectview.ProjectViewStorageManager; import com.google.idea.blaze.base.sync.workspace.WorkspacePathResolver; import com.google.idea.blaze.base.ui.UiUtil; @@ -31,6 +33,7 @@ import com.intellij.ui.TextFieldWithStoredHistory; import java.awt.Dimension; import java.io.File; +import java.util.List; import javax.annotation.Nullable; import javax.swing.JButton; import javax.swing.JComponent; @@ -55,6 +58,22 @@ public ImportFromWorkspaceProjectViewOption(BlazeNewProjectBuilder builder) { projectViewPathField.setText(userSettings.get(LAST_WORKSPACE_PATH, "")); projectViewPathField.setMinimumAndPreferredWidth(MINIMUM_FIELD_WIDTH); + WorkspaceRoot workspaceRoot = builder.getWorkspaceData() != null ? builder.getWorkspaceData().workspaceRoot() : null; + //Add managed project view to the list + if (workspaceRoot != null && + workspaceRoot.path().resolve(AutoImportProjectOpenProcessor.MANAGED_PROJECT_RELATIVE_PATH).toFile().exists()) { + if (projectViewPathField.getText().isEmpty()) { + projectViewPathField.setText(AutoImportProjectOpenProcessor.MANAGED_PROJECT_RELATIVE_PATH); + } else { + List history = projectViewPathField.getHistory(); + if (!history.contains(AutoImportProjectOpenProcessor.MANAGED_PROJECT_RELATIVE_PATH)) { + history.add(0, AutoImportProjectOpenProcessor.MANAGED_PROJECT_RELATIVE_PATH); + projectViewPathField.setHistory(history); + } + } + } + + JButton button = new JButton("..."); button.addActionListener(action -> chooseWorkspacePath()); int buttonSize = projectViewPathField.getPreferredSize().height;