|
| 1 | += Working with Workspaces |
| 2 | +:page-deployment-options: cloud-ide, desktop-ide |
| 3 | + |
| 4 | +include::reuse::partial$beta-banner.adoc[tag="anypoint-code-builder"] |
| 5 | + |
| 6 | +Organize your Mule projects in workspaces to ensure all Anypoint Code Builder features work correctly. Workspaces help you manage multiple related projects and avoid build-time and design-time issues. |
| 7 | + |
| 8 | +[[valid-setups]] |
| 9 | +== Valid Setups for Anypoint Code Builder |
| 10 | + |
| 11 | +Anypoint Code Builder requires one of the following project configurations to function properly: |
| 12 | + |
| 13 | +* A single Mule project open at the root of your directory |
| 14 | +* A multi-root workspace pointing directly to one or more Mule projects |
| 15 | + |
| 16 | +If your directory structure doesn't meet these requirements, Anypoint Code Builder displays a message with steps to resolve the issue, such as opening a Mule project or creating a workspace. See <<fix-nested-project>>. |
| 17 | + |
| 18 | +[[create-project-workspace]] |
| 19 | +== Create a Project in a Workspace |
| 20 | + |
| 21 | +When you create a new project, add it to a workspace. With this setup you can add more projects later without restructuring your environment. |
| 22 | + |
| 23 | +To create a project in a workspace: |
| 24 | + |
| 25 | +. Start the project creation process using one of the following methods: |
| 26 | ++ |
| 27 | +** From the *Quick Actions* menu, select the project type. |
| 28 | ++ |
| 29 | +For example, *Design an API* or *Develop an Integration*. |
| 30 | +** From the Command Palette, run the appropriate command. |
| 31 | ++ |
| 32 | +For example, `MuleSoft: Design an API`. |
| 33 | +** Ask MuleSoft Vibes to create the project using natural language. |
| 34 | + |
| 35 | +. In the project creation form, select *Create in workspace*. |
| 36 | +. Complete the remaining project configuration options. |
| 37 | +. Click *Create Project*. |
| 38 | ++ |
| 39 | +Anypoint Code Builder creates the project and adds it to a workspace. If no workspace is open, a new workspace is created. |
| 40 | + |
| 41 | +[[import-studio-workspace]] |
| 42 | +== Import an Anypoint Studio Workspace |
| 43 | + |
| 44 | +If you have existing projects in Anypoint Studio, you can import your Studio workspace into Anypoint Code Builder. |
| 45 | + |
| 46 | +To import a Studio workspace: |
| 47 | + |
| 48 | +// Pointer to Command Palette |
| 49 | +include::partial$acb-reusable-steps.adoc[tags="open-command-palette"] |
| 50 | +. Select the following command: |
| 51 | ++ |
| 52 | +[source,command] |
| 53 | +---- |
| 54 | +MuleSoft: Import Studio Workspace |
| 55 | +---- |
| 56 | +. Navigate to the location of your Studio workspace and select it. |
| 57 | +. Choose a location to save the new workspace file. |
| 58 | ++ |
| 59 | +Anypoint Code Builder creates a workspace that references your existing Studio projects. Changes made to the original Studio workspace are automatically reflected in Anypoint Code Builder. |
| 60 | + |
| 61 | +[[switch-workspaces]] |
| 62 | +== Open and Switch Between Workspaces |
| 63 | + |
| 64 | +You can open or switch between workspaces using the menu, the Command Palette, or MuleSoft Vibes. |
| 65 | + |
| 66 | +=== Open a Workspace Manually |
| 67 | + |
| 68 | +. Open the workspace file using one of these methods: |
| 69 | ++ |
| 70 | +* From the menu bar, select *File* > *Open Workspace from File...*. |
| 71 | +* From the Command Palette, run the command `File: Open Workspace from File...`. |
| 72 | +. Navigate to the location where you saved the `.code-workspace` file (for example, your home directory or a dedicated workspaces folder), and select it. |
| 73 | ++ |
| 74 | +The projects open in the Explorer view, and the folder name for the workspace includes *(WORKSPACE)* to indicate that you're working in a multi-root workspace: |
| 75 | ++ |
| 76 | +image::imp-local-api-open-workspace.png["A multi-root workspace in Explorer view"] |
| 77 | + |
| 78 | +=== Open a Workspace with MuleSoft Vibes |
| 79 | + |
| 80 | +You can ask MuleSoft Vibes to switch workspaces using natural language prompts, such as: |
| 81 | + |
| 82 | +* "Open my American Flights workspace" |
| 83 | +* "Switch to the `<YourWorkspaceName>` workspace" |
| 84 | + |
| 85 | +[[close-workspace]] |
| 86 | +== Close a Workspace |
| 87 | + |
| 88 | +To close the current workspace: |
| 89 | + |
| 90 | +// Pointer to Command Palette |
| 91 | +include::partial$acb-reusable-steps.adoc[tags="open-command-palette"] |
| 92 | +. Select the following command: |
| 93 | ++ |
| 94 | +[source,command] |
| 95 | +---- |
| 96 | +Workspaces: Close Workspace |
| 97 | +---- |
| 98 | + |
| 99 | +[[actions-in-workspaces]] |
| 100 | +== Actions in Workspaces |
| 101 | + |
| 102 | +Anypoint Code Builder organizes actions based on their scope: |
| 103 | + |
| 104 | +[cols="1,2"] |
| 105 | +|=== |
| 106 | +| Action Type | Location |
| 107 | + |
| 108 | +| *Global actions* |
| 109 | +| Always available from the Command Palette. These actions don't depend on a specific project, such as creating a new project, importing assets from Exchange, or opening Anypoint Code Builder settings. |
| 110 | + |
| 111 | +| *Project-specific actions* |
| 112 | +| Available from the context menu (right-click) in the Explorer view. These actions apply to a specific project, such as running, debugging, deploying, or exporting a project. |
| 113 | +|=== |
| 114 | + |
| 115 | +When working with multiple projects in a workspace, select the target project before running project-specific actions. For example, when you run or debug, you must select which project in the workspace to execute. |
| 116 | + |
| 117 | +[[workspace-file]] |
| 118 | +== Workspace File Location |
| 119 | + |
| 120 | +VS Code stores workspace configuration in a file with the `.code-workspace` extension. This file maps the folders for your projects. |
| 121 | + |
| 122 | +[IMPORTANT] |
| 123 | +==== |
| 124 | +The `.code-workspace` file must not reside within any of your project folders. Save it in a separate directory, such as your home directory or a dedicated workspaces folder. |
| 125 | +==== |
| 126 | + |
| 127 | +[[fix-nested-project]] |
| 128 | +== Fix a Nested Project Error |
| 129 | + |
| 130 | +This error appears when you open a folder that contains your Mule project instead of opening the project directly, and that folder isn't configured as a multi-root workspace. |
| 131 | + |
| 132 | +To fix this issue, open the project folder at the root level or add it to a multi-root workspace. |
| 133 | + |
| 134 | +=== Open the Project at the Root |
| 135 | + |
| 136 | +If you're working with a single project, open it directly so it appears at the top level of the Explorer view. |
| 137 | + |
| 138 | +. From the menu bar, select *File* > *Open Folder...*. |
| 139 | +. Navigate to your Mule project's root folder (the folder containing the `pom.xml` file). |
| 140 | +. Select the folder and click *Open*. |
| 141 | ++ |
| 142 | +The project now appears at the top level of the Explorer view, and Anypoint Code Builder features are available. |
| 143 | + |
| 144 | +=== Add the Project to a Multi-Root Workspace |
| 145 | + |
| 146 | +If you want to keep your current folder structure or work with multiple projects, create a multi-root workspace that points directly to your Mule project. |
| 147 | + |
| 148 | +. From the menu bar, select *File* > *Add Folder to Workspace...*. |
| 149 | +. Navigate to your Mule project's root folder and select it. |
| 150 | +. When prompted, save the workspace file (`.code-workspace`) to a location outside of your project folders. |
| 151 | ++ |
| 152 | +The project appears in the Explorer view with the *(WORKSPACE)* indicator, and Anypoint Code Builder features are available. |
| 153 | + |
| 154 | +TIP: If you frequently work with multiple projects, creating a workspace from the start avoids this issue. See <<create-project-workspace>>. |
| 155 | + |
| 156 | +== See Also |
| 157 | + |
| 158 | +* xref:imp-implement-local-apis.adoc[Iteratively Design and Implement APIs] |
| 159 | +* xref:int-create-integrations.adoc[Creating Integrations] |
| 160 | +* xref:des-create-api-specs.adoc[Creating and Importing API Specifications] |
| 161 | +* https://code.visualstudio.com/docs/editor/multi-root-workspaces[Multi-root Workspaces^] in the VS Code documentation |
0 commit comments