дзеркало
https://github.com/l0ng-ai/openidea.git
синхронізовано 2026-11-09 19:25:54 +02:00
feat: multi-project workspaces and project window groups (#448)
Workspaces open several local project folders in one IDE session (File › New / Open / Manage Workspace…, or Attach when opening a project, which creates a workspace automatically for a plain project window). Member folders are the Project view roots and take part in indexing, Find in Files, Git, language servers, run configurations and builds; agent tasks choose which member they work in. Window › Merge All Project Windows groups project windows into one window with project tabs (switch, reorder, close, move to a new window), restored on reopen. Closes #241 Closes #198 Closes #286
Цей коміт міститься в:
1 джерело
5bab140968
коміт
01defdefe4
88 files changed
+2689
-151
No files matched your search
@@ -201,3 +201,27 @@ describe("project view context menu", () => {
|
||||
expect(l).not.toContain("Find in Files…");
|
||||
});
|
||||
});
|
||||
|
||||
it("offers workspace removal for every member root", () => {
|
||||
useProject.setState({
|
||||
project: {
|
||||
root: "/workspace",
|
||||
name: "A",
|
||||
settings: {},
|
||||
isGit: false,
|
||||
workspace: { version: 1, name: "A", projects: ["/a", "/b"] },
|
||||
},
|
||||
});
|
||||
const removal = {
|
||||
kind: "action",
|
||||
action: "workspace.removeProject",
|
||||
arg: "/b",
|
||||
};
|
||||
expect(contextMenuItems([node("/b", true, true)])).toContainEqual(removal);
|
||||
expect(contextMenuItems([node("/a", true, true)])).toContainEqual(
|
||||
expect.objectContaining({ action: "workspace.removeProject" }),
|
||||
);
|
||||
expect(contextMenuItems([node("/b/src", true)])).not.toContainEqual(
|
||||
expect.objectContaining({ action: "workspace.removeProject" }),
|
||||
);
|
||||
});
|
||||
Reference in new issue
Заблокувати користувача