You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@netbeans.apache.org by "jtulach (via GitHub)" <gi...@apache.org> on 2026/09/21 14:05:24 UTC

[PR] More prominent Open Folder (as a group) action [netbeans]

jtulach opened a new pull request, #9631:
URL: https://github.com/apache/netbeans/pull/9631

   ## Motivation
   
   - let me repeat the [motivation](https://github.com/apache/netbeans/pull/9592#issuecomment-5536255861) for this and similar PRs that I am proposing this autumn
   
   ### Being for Experts
   
   NetBeans has a unique concept of handling projects. It is a completely different workflow than other IDEs are built around.  I like it because it is flexible. However it also complicates things - because it is flexible. Projects are stored in Git repositories these days. When opening such a project, it (almost all the time) makes sense to **open all the projects** in the Git repository. That's not a NetBeans philosophy. NetBeans allows one to _cherry pick and open only some of the projects_.
   
   ### Being Different
   
   Such a flexibility makes NetBeans an IDE for experts. However it also comes with a cost. Not only implementation wise (IDE has to be ready for set of projects being "half open"), but also from a UX perspective. 
   
   > > Maybe projects just open on-demand as needed?
   
   Every "expert" has different set of subprojects open and then the behavior of the IDE is different. Such a _"magical flexibility"_ makes the UX poor.
   
   Other IDEs have a **concept of workspace**. When opening Apache Maven sources in a "workplace", then the IDEs just open all the nested projects in the Apache Maven Git repository.
   
   ### Simplify UI. Keep Flexibility.
   
   I believe the time has come to straighten the NetBeans IDE position by adjusting to common UX while keeping the flexibility under neath. NetBeans already has a support for [groups of projects](https://cwiki.apache.org/confluence/download/attachments/446071397/image-2026-8-18_8-37-16.png?version=1&modificationDate=1787035037000&api=v2). Just the UX feels old fashioned and like a second class citizen. I'd like to improve the UX by using the same infrastructure to **mimic the concept of a "workspace"**. Ideally I'd like to rework the _File_ menu to offer [Open/Close Folder, Add to Workspace, Save Workspace as](https://cwiki.apache.org/confluence/download/attachments/446071397/image-2026-8-18_8-39-37.png?version=1&modificationDate=1787035178000&api=v2) just like VSCode _File_ menu provides. 
   
   ### TL;DR
   
   Experts _"in the know"_ can still _Open Project..._ one by one and _work only with a properly curated and selected subset_. However for clueless users working on an unfamiliar code base, I believe we have to lead the UX towards **open all the projects** at once.
   
   That is the outline of my plan.


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: notifications-unsubscribe@netbeans.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: notifications-unsubscribe@netbeans.apache.org
For additional commands, e-mail: notifications-help@netbeans.apache.org

For further information about the NetBeans mailing lists, visit:
https://cwiki.apache.org/confluence/display/NETBEANS/Mailing+lists


Re: [PR] More prominent Open Folder (as a group) action [netbeans]

Posted by "neilcsmith-net (via GitHub)" <gi...@apache.org>.
neilcsmith-net commented on PR #9631:
URL: https://github.com/apache/netbeans/pull/9631#issuecomment-5792665670

   Yes, I share some of @lahodaj concern there, which is partly why I think revamping Open Project is an easier first step than the Open Folder action.  Although the ability to open any folder as a project is useful, and something that has come up in discussion before.
   
   Reversing the question slightly, how many of your expected use cases have a project at the folder root and subprojects within?
   
   I still think adding an option to open in a new workspace (group) on the Open Project dialog is a better approach while we work out the other use cases.  Bearing in mind that dialog allows multi-select already too (could be Open Projects).
   
   Do we have an LRU ordered list for groups?  Rather than an additional menu item that is likely to lead to more, what about a replacement for the current groups action - a Workspaces item that has a sub-menu with eg. New from folder.., as well as Manage and a quick list to switch between existing ones?
   
   Whatever happens here might need a rethink of the dashboard display too.  I still haven't got around to next steps on that - a widget for Workspaces could be good there too.


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: notifications-unsubscribe@netbeans.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: notifications-unsubscribe@netbeans.apache.org
For additional commands, e-mail: notifications-help@netbeans.apache.org

For further information about the NetBeans mailing lists, visit:
https://cwiki.apache.org/confluence/display/NETBEANS/Mailing+lists


Re: [PR] PoC: More prominent Open Folder (as a group) action [netbeans]

Posted by "jtulach (via GitHub)" <gi...@apache.org>.
jtulach commented on code in PR #9631:
URL: https://github.com/apache/netbeans/pull/9631#discussion_r4184534272


##########
ide/projectui/src/org/netbeans/modules/project/ui/groups/OpenFolderAsGroupAction.java:
##########
@@ -0,0 +1,69 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.netbeans.modules.project.ui.groups;
+
+import java.awt.HeadlessException;
+import java.awt.event.ActionEvent;
+import java.awt.event.ActionListener;
+import java.io.File;
+import javax.swing.JFileChooser;
+import org.netbeans.spi.project.ui.support.ProjectChooser;
+import org.openide.awt.ActionID;
+import org.openide.awt.ActionReference;
+import org.openide.awt.ActionRegistration;
+import org.openide.filesystems.FileObject;
+import org.openide.filesystems.FileUtil;
+import org.openide.util.NbBundle.Messages;
+
+@ActionID(
+        category = "Project",
+        id = "org.netbeans.modules.project.ui.groups.OpenFolderAsGroupAction"
+)
+@ActionRegistration(
+        displayName = "#CTL_OpenFolderAsGroupAction",
+        lazy = true, asynchronous = true
+)
+@ActionReference(path = "Menu/File", position = 1200, separatorAfter = 1250)

Review Comment:
   > * having the projects open as reported by `OpenProjects`, but not show them in the Projects view
   
   - OK, that would indeed solve the problem of [find usages & go to](https://github.com/apache/netbeans/pull/9631#issuecomment-5773752563)
   - however it wouldn't solve performance problems reported by Matthias ...
   
   > raised by  @matthiasblaesing few times (for example [here](https://github.com/apache/netbeans/pull/9592#issuecomment-5536301353)) and also in his [email](https://lists.apache.org/thread.html/rvhxgctxptmm963mw169szpco0lrfqjn)
   
   - ... because the **performance problem isn't showing** all the projects
   - but having good enough (Java parsing) **infrastructure to handle all** the projects
   
   > the UI tweak I had in mind
   
   - I was surprised when you mentioned _a tweak_ to be the solution
   - now I know why: it is not solution to the performance problem that occupies my mind
   - I am afraid the solution will be bigger than just a tweak 
      - for example the [one suggested by AI](https://lists.apache.org/thread.html/y0jtlmths4pcj6lh0y5ckv75dy2994ys)
      - or by [Alois Drahoslav Drchlík](https://lists.apache.org/thread.html/scbr8npqddqxojdxpkm62bvrrzwp2nh7)
   - I still have no idea how to [not open them all while make them all available](https://www.youtube.com/watch?v=47kWqCq0L7Y) in _find usages & go to_?



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: notifications-unsubscribe@netbeans.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: notifications-unsubscribe@netbeans.apache.org
For additional commands, e-mail: notifications-help@netbeans.apache.org

For further information about the NetBeans mailing lists, visit:
https://cwiki.apache.org/confluence/display/NETBEANS/Mailing+lists


Re: [PR] PoC: More prominent Open Folder (as a group) action [netbeans]

Posted by "jtulach (via GitHub)" <gi...@apache.org>.
jtulach commented on code in PR #9631:
URL: https://github.com/apache/netbeans/pull/9631#discussion_r4193700616


##########
ide/projectui/src/org/netbeans/modules/project/ui/groups/Bundle.properties:
##########
@@ -36,35 +36,35 @@ SubprojectsGroupEditPanel.masterProjectLabel.text=&Master Project:
 
 DirectoryGroupEditPanel.nameLabel.text=&Name\:
 DirectoryGroupEditPanel.folderLabel.text=&Folder\:
-SubprojectsGroupEditPanel.nameLabel.AccessibleContext.accessibleDescription=Name of the project group
+SubprojectsGroupEditPanel.nameLabel.AccessibleContext.accessibleDescription=Name of the workspace
 SubprojectsGroupEditPanel.masterProjectLabel.AccessibleContext.accessibleDescription=Group master project name
 SubprojectsGroupEditPanel.nameField.AccessibleContext.accessibleName=Name
-SubprojectsGroupEditPanel.nameField.AccessibleContext.accessibleDescription=Project group name
+SubprojectsGroupEditPanel.nameField.AccessibleContext.accessibleDescription=Workspace name
 SubprojectsGroupEditPanel.masterProjectField.AccessibleContext.accessibleName=
 SubprojectsGroupEditPanel.masterProjectField.AccessibleContext.accessibleDescription=
-SubprojectsGroupEditPanel.AccessibleContext.accessibleName=Project group properties
-SubprojectsGroupEditPanel.AccessibleContext.accessibleDescription=Project group properties
-DirectoryGroupEditPanel.nameLabel.AccessibleContext.accessibleDescription=Name of the project group
-DirectoryGroupEditPanel.folderLabel.AccessibleContext.accessibleDescription=Project group folder
+SubprojectsGroupEditPanel.AccessibleContext.accessibleName=Workspace properties
+SubprojectsGroupEditPanel.AccessibleContext.accessibleDescription=Workspace properties
+DirectoryGroupEditPanel.nameLabel.AccessibleContext.accessibleDescription=Name of the workspace
+DirectoryGroupEditPanel.folderLabel.AccessibleContext.accessibleDescription=Workspace folder
 DirectoryGroupEditPanel.nameField.AccessibleContext.accessibleName=Name
-DirectoryGroupEditPanel.nameField.AccessibleContext.accessibleDescription=Project group name
+DirectoryGroupEditPanel.nameField.AccessibleContext.accessibleDescription=Workspace name
 DirectoryGroupEditPanel.folderField.AccessibleContext.accessibleName=
 DirectoryGroupEditPanel.folderField.AccessibleContext.accessibleDescription=
-DirectoryGroupEditPanel.AccessibleContext.accessibleName=Project group properties
-DirectoryGroupEditPanel.AccessibleContext.accessibleDescription=Project group properties
-AdHocGroupEditPanel.AccessibleContext.accessibleName=Project group properties
-AdHocGroupEditPanel.AccessibleContext.accessibleDescription=Project group properties
-AdHocGroupEditPanel.nameLabel.AccessibleContext.accessibleDescription=Project group name
+DirectoryGroupEditPanel.AccessibleContext.accessibleName=Workspace properties
+DirectoryGroupEditPanel.AccessibleContext.accessibleDescription=Workspace properties
+AdHocGroupEditPanel.AccessibleContext.accessibleName=Workspace properties
+AdHocGroupEditPanel.AccessibleContext.accessibleDescription=Workspace properties
+AdHocGroupEditPanel.nameLabel.AccessibleContext.accessibleDescription=Workspace name
 AdHocGroupEditPanel.nameField.AccessibleContext.accessibleName=Name
-AdHocGroupEditPanel.nameField.AccessibleContext.accessibleDescription=Project group name
-AdHocGroupEditPanel.autoSynchCheckbox.AccessibleContext.accessibleDescription=Automatically save project group list
+AdHocGroupEditPanel.nameField.AccessibleContext.accessibleDescription=Workspace name
+AdHocGroupEditPanel.autoSynchCheckbox.AccessibleContext.accessibleDescription=Automatically save workspace list
 AdHocGroupEditPanel.synchButton.AccessibleContext.accessibleDescription=Save current project list now
-NewGroupPanel.AccessibleContext.accessibleName=New project group

Review Comment:
   - @mbien, I'd like to build on your idea of using existing _Project Groups_ system ...
   - and make NetBeans better: #9670
   - enhances the CLI to be able to create new group before launching NetBeans



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: notifications-unsubscribe@netbeans.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: notifications-unsubscribe@netbeans.apache.org
For additional commands, e-mail: notifications-help@netbeans.apache.org

For further information about the NetBeans mailing lists, visit:
https://cwiki.apache.org/confluence/display/NETBEANS/Mailing+lists


Re: [PR] PoC: More prominent Open Folder (as a group) action [netbeans]

Posted by "jtulach (via GitHub)" <gi...@apache.org>.
jtulach commented on code in PR #9631:
URL: https://github.com/apache/netbeans/pull/9631#discussion_r4092183126


##########
ide/projectui/src/org/netbeans/modules/project/ui/groups/Bundle.properties:
##########
@@ -36,35 +36,35 @@ SubprojectsGroupEditPanel.masterProjectLabel.text=&Master Project:
 
 DirectoryGroupEditPanel.nameLabel.text=&Name\:
 DirectoryGroupEditPanel.folderLabel.text=&Folder\:
-SubprojectsGroupEditPanel.nameLabel.AccessibleContext.accessibleDescription=Name of the project group
+SubprojectsGroupEditPanel.nameLabel.AccessibleContext.accessibleDescription=Name of the workspace
 SubprojectsGroupEditPanel.masterProjectLabel.AccessibleContext.accessibleDescription=Group master project name
 SubprojectsGroupEditPanel.nameField.AccessibleContext.accessibleName=Name
-SubprojectsGroupEditPanel.nameField.AccessibleContext.accessibleDescription=Project group name
+SubprojectsGroupEditPanel.nameField.AccessibleContext.accessibleDescription=Workspace name
 SubprojectsGroupEditPanel.masterProjectField.AccessibleContext.accessibleName=
 SubprojectsGroupEditPanel.masterProjectField.AccessibleContext.accessibleDescription=
-SubprojectsGroupEditPanel.AccessibleContext.accessibleName=Project group properties
-SubprojectsGroupEditPanel.AccessibleContext.accessibleDescription=Project group properties
-DirectoryGroupEditPanel.nameLabel.AccessibleContext.accessibleDescription=Name of the project group
-DirectoryGroupEditPanel.folderLabel.AccessibleContext.accessibleDescription=Project group folder
+SubprojectsGroupEditPanel.AccessibleContext.accessibleName=Workspace properties
+SubprojectsGroupEditPanel.AccessibleContext.accessibleDescription=Workspace properties
+DirectoryGroupEditPanel.nameLabel.AccessibleContext.accessibleDescription=Name of the workspace
+DirectoryGroupEditPanel.folderLabel.AccessibleContext.accessibleDescription=Workspace folder
 DirectoryGroupEditPanel.nameField.AccessibleContext.accessibleName=Name
-DirectoryGroupEditPanel.nameField.AccessibleContext.accessibleDescription=Project group name
+DirectoryGroupEditPanel.nameField.AccessibleContext.accessibleDescription=Workspace name
 DirectoryGroupEditPanel.folderField.AccessibleContext.accessibleName=
 DirectoryGroupEditPanel.folderField.AccessibleContext.accessibleDescription=
-DirectoryGroupEditPanel.AccessibleContext.accessibleName=Project group properties
-DirectoryGroupEditPanel.AccessibleContext.accessibleDescription=Project group properties
-AdHocGroupEditPanel.AccessibleContext.accessibleName=Project group properties
-AdHocGroupEditPanel.AccessibleContext.accessibleDescription=Project group properties
-AdHocGroupEditPanel.nameLabel.AccessibleContext.accessibleDescription=Project group name
+DirectoryGroupEditPanel.AccessibleContext.accessibleName=Workspace properties
+DirectoryGroupEditPanel.AccessibleContext.accessibleDescription=Workspace properties
+AdHocGroupEditPanel.AccessibleContext.accessibleName=Workspace properties
+AdHocGroupEditPanel.AccessibleContext.accessibleDescription=Workspace properties
+AdHocGroupEditPanel.nameLabel.AccessibleContext.accessibleDescription=Workspace name
 AdHocGroupEditPanel.nameField.AccessibleContext.accessibleName=Name
-AdHocGroupEditPanel.nameField.AccessibleContext.accessibleDescription=Project group name
-AdHocGroupEditPanel.autoSynchCheckbox.AccessibleContext.accessibleDescription=Automatically save project group list
+AdHocGroupEditPanel.nameField.AccessibleContext.accessibleDescription=Workspace name
+AdHocGroupEditPanel.autoSynchCheckbox.AccessibleContext.accessibleDescription=Automatically save workspace list
 AdHocGroupEditPanel.synchButton.AccessibleContext.accessibleDescription=Save current project list now
-NewGroupPanel.AccessibleContext.accessibleName=New project group

Review Comment:
   @mbien [wrote](https://github.com/apache/netbeans/pull/9631#issuecomment-5801173840):
   
   > I get that this is in early stages ... not rebrand project group to workspaces ... online docs ... CLI flags ... naming is hard
   
   Alas, that's true. I've marked the PR as _proof of concept_ and added _do not merge_ label. Let's use it for prototyping and discussions. I am replying in a "line comment" as that will create a "thread" related to the important _philosophy differentiator_: 
   
   ## Key Difference in Philosophy
   
   > [!NOTE] 
   > **Eclipse and VSCode workspaces are structural containers** — they fundamentally partition your development environment. Switching workspaces means a fresh Eclipse instance with different settings and projects.
   
   <img width="234" height="342" alt="VSCode menu" src="https://cwiki.apache.org/confluence/download/attachments/446071397/image-2026-8-18_8-39-37.png?version=1&modificationDate=1787035178000&api=v2" />
   
   > [!NOTE] 
   > **NetBeans project groups are organizational shortcuts** — they're a convenience feature for opening related projects together within a single NetBeans session. Your settings, plugins, and instance remain the same.
   
   - that's true, but I'd like to change that
      - however changing this while being compatible isn't completely easy
      - however that doesn't mean I am not thinking about it
   - I'd like to provide users similar UX as the [VSCode File menu](https://cwiki.apache.org/confluence/download/attachments/446071397/image-2026-8-18_8-39-37.png?version=1&modificationDate=1787035178000&api=v2) provides
      - there are few actions related to (their) _workspaces_
      - I believe I can implement them all in NetBeans
      - but each may **need a different technique** to get the job done
   
   #### Open Folder (as a Group/Workspace)
   
   - there are actions working with a _set of projects_
   - I believe we can emulate them all by  rebranding the group support
   - provide better UX
   - make it a first class citizen and overall more efficient
   - of course, we don't want to change the plugins and mangle with settings much
   
   #### New Window Action
   
   - however the [VSCode File menu](https://cwiki.apache.org/confluence/download/attachments/446071397/image-2026-8-18_8-39-37.png?version=1&modificationDate=1787035178000&api=v2) also offers other actions like _"New Window"_
   - I'd like to _implement that too_
      - a new window would mean to launch new NetBeans IDE process
      - with a different `--userdir`
   - and such a process could **fundamentally partition** one's environment
   - creating such a new window would give us **fresh instance with different settings and plugins**
   - possibly there could even be some inheritance between the settings
      - that's what I wanted to achieve as part of the [project sandwich](https://www.antonioshome.net/kitchen/netbeans/nbms-sandwich.php)
      - and we are using this technology everyday with XML layers
      - however in the early 2000-2005 I lost the UI battle and the _hierarchy of sandwiches_ isn't really exposed to users
      - but for a while it was and it could be shown again
   - a new window would imply not only settings, but a whole new set of projects
   - e.g. one could have multiple instances of NetBeans working on multiple _workspaces_ just like VSCode does
   - just in this PR I started the implementation with exposing the _set of projects_ only
   - I can however prototype the _New Window_ as well in another PR



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: notifications-unsubscribe@netbeans.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: notifications-unsubscribe@netbeans.apache.org
For additional commands, e-mail: notifications-help@netbeans.apache.org

For further information about the NetBeans mailing lists, visit:
https://cwiki.apache.org/confluence/display/NETBEANS/Mailing+lists


Re: [PR] PoC: More prominent Open Folder (as a group) action [netbeans]

Posted by "lahodaj (via GitHub)" <gi...@apache.org>.
lahodaj commented on code in PR #9631:
URL: https://github.com/apache/netbeans/pull/9631#discussion_r4168046612


##########
ide/projectui/src/org/netbeans/modules/project/ui/groups/OpenFolderAsGroupAction.java:
##########
@@ -0,0 +1,69 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.netbeans.modules.project.ui.groups;
+
+import java.awt.HeadlessException;
+import java.awt.event.ActionEvent;
+import java.awt.event.ActionListener;
+import java.io.File;
+import javax.swing.JFileChooser;
+import org.netbeans.spi.project.ui.support.ProjectChooser;
+import org.openide.awt.ActionID;
+import org.openide.awt.ActionReference;
+import org.openide.awt.ActionRegistration;
+import org.openide.filesystems.FileObject;
+import org.openide.filesystems.FileUtil;
+import org.openide.util.NbBundle.Messages;
+
+@ActionID(
+        category = "Project",
+        id = "org.netbeans.modules.project.ui.groups.OpenFolderAsGroupAction"
+)
+@ActionRegistration(
+        displayName = "#CTL_OpenFolderAsGroupAction",
+        lazy = true, asynchronous = true
+)
+@ActionReference(path = "Menu/File", position = 1200, separatorAfter = 1250)

Review Comment:
   > @lahodaj [provided a feedback](https://github.com/apache/netbeans/pull/9650#issuecomment-5936102979) that touches fundamantal questions of UX and I believe it's better to be discussed in this PoC PR. Replying here...
   > ### Helpful without Killing
   > 
   > > there could be a UI tweak to not show these projects, unless explicitly open by the user; this is probably the trickiest part to implement, and would probably need an API
   > 
   > Yes, this is the crucial part! How could such a UI tweak look like? Also: the problem isn't to show the projects, but to initialize them! But without initializing, the IDE cannot provide essential cross project functionality (find usages, go to...). It is certainly the trickiest part.
   > 
   > As this is the PoC UX PR: how do you want such a "UI tweak" to behave, @lahodaj?
   
   Well, I think there are two things:
   - the UI tweak I had in mind was simply having the projects open as reported by `OpenProjects`, but not show them in the Projects view. I don't have a particular idea how to implement that, and, frankly, I don't think it matters much during the current exploration phase. Any ugly way to achieve that will work for experimentation, and we can clean up when we gain more confidence and experience. Note that showing the "nested" projects as open is a UX problem even with a relatively small number of projects.
   - the problem with having too many projects is real, and hard to tackle. About a week or two ago, I was looking at the priming the in VS Code extension, which works particularly bad. I have some ideas there, but that is mostly irrelevant to the IDE, as the IDE uses a different way to prime Maven projects (ugh). I don't think discovering projects is that costly compared to the other stuff.



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: notifications-unsubscribe@netbeans.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: notifications-unsubscribe@netbeans.apache.org
For additional commands, e-mail: notifications-help@netbeans.apache.org

For further information about the NetBeans mailing lists, visit:
https://cwiki.apache.org/confluence/display/NETBEANS/Mailing+lists


Re: [PR] More prominent Open Folder (as a group) action [netbeans]

Posted by "jtulach (via GitHub)" <gi...@apache.org>.
jtulach commented on code in PR #9631:
URL: https://github.com/apache/netbeans/pull/9631#discussion_r4084760734


##########
ide/projectui/src/org/netbeans/modules/project/ui/groups/DirectoryGroup.java:
##########
@@ -77,7 +77,7 @@ protected void findProjects(Set<Project> projects, ProgressHandle h, int start,
         }
         if (fo != null && fo.isFolder()) {
             try {
-                Project p = ProjectManager.getDefault().findProject(fo);

Review Comment:
   - in case of NetBeans (where the root folder isn't a project)
      - unless something like #9624  is implemented
   - it all looks like this right :
   
   <img width="836" height="843" alt="Open root of NetBeans folder" src="https://github.com/user-attachments/assets/f7ccf1d9-cab4-4520-a565-62bf416ad8b2" />
   
   - btw. the list of projects is pretty long as it includes all the testing projects found in the NetBeans codebase
   - but that's how it always have been ...
   - ... no change in that 
      - just nobody really tried to use "Open Folder as Group" yet ...
   



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: notifications-unsubscribe@netbeans.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: notifications-unsubscribe@netbeans.apache.org
For additional commands, e-mail: notifications-help@netbeans.apache.org

For further information about the NetBeans mailing lists, visit:
https://cwiki.apache.org/confluence/display/NETBEANS/Mailing+lists


Re: [PR] PoC: More prominent Open Folder (as a group) action [netbeans]

Posted by "jtulach (via GitHub)" <gi...@apache.org>.
jtulach commented on code in PR #9631:
URL: https://github.com/apache/netbeans/pull/9631#discussion_r4163701215


##########
ide/projectui/src/org/netbeans/modules/project/ui/groups/OpenFolderAsGroupAction.java:
##########
@@ -0,0 +1,69 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.netbeans.modules.project.ui.groups;
+
+import java.awt.HeadlessException;
+import java.awt.event.ActionEvent;
+import java.awt.event.ActionListener;
+import java.io.File;
+import javax.swing.JFileChooser;
+import org.netbeans.spi.project.ui.support.ProjectChooser;
+import org.openide.awt.ActionID;
+import org.openide.awt.ActionReference;
+import org.openide.awt.ActionRegistration;
+import org.openide.filesystems.FileObject;
+import org.openide.filesystems.FileUtil;
+import org.openide.util.NbBundle.Messages;
+
+@ActionID(
+        category = "Project",
+        id = "org.netbeans.modules.project.ui.groups.OpenFolderAsGroupAction"
+)
+@ActionRegistration(
+        displayName = "#CTL_OpenFolderAsGroupAction",
+        lazy = true, asynchronous = true
+)
+@ActionReference(path = "Menu/File", position = 1200, separatorAfter = 1250)

Review Comment:
   
   
   @lahodaj [provided a feedback](https://github.com/apache/netbeans/pull/9650#issuecomment-5936102979) that touches fundamantal questions of UX and I believe it's better to be discussed in this PoC PR. Replying here...
    
   > I assume the end goal here is to achieve the "Open Folder"/"Add to Workspace" actions, as mentioned in the recent e-mail. I do wholeheartedly agree with adding (some) support for "workspaces" (i.e. ability to work without projects, or without specifying projects one-by-one).
   
   Great, that's indeed the goal of this PR.
   
   ### Add to Workspace Action
    
   > I think I would first try to implement the actions, and from that it would lead what API changes are needed (I suspect some will be needed). #9631 implemented the Open Folder as Workspace action, but not the Add to Workspace action; and also the resulting UI is I think not ideal: when I do "Open Folder as Workspace", 
   
   OK, it is let's try to implement _"Add to Workspace"_ action. That's a natural continuation of the work done in this PR so far.
   
   
   ### Opening Nested Projects
   
   > would I really expect to see all the nested projects in the Projects tab? (I realize this is a consequence of reusing the Project Groups directly, but a novice user is likely to be confused by this, I think.) OTOH, I do agree it would be good to open the projects under the workspace folder.
   
   - Yes, opening **all the projects** under the workspace folder is a concern
     - Pointed out by https://github.com/apache/netbeans-vscode/pull/36 where an explicitly stated goal mentions:
       - modify the system to **not open all the NetBeans projects at once**
     - Also raised by  @matthiasblaesing few times (for example [here](https://github.com/apache/netbeans/pull/9592#issuecomment-5536301353)) and also in his [email](https://lists.apache.org/thread.html/rvhxgctxptmm963mw169szpco0lrfqjn)
   - on the other hand, **opening some projects** is the current behavior and as @svenreimers [points out](https://lists.apache.org/thread.html/6lc0mc7kjpg5odoq3pwyzky3y9skns63): _"Would be good to be helpful in most cases without killing the others.."_
   - I have to say I don't know how a good UI bringing such a _"helpful without killing"_ experience shall look like?
    
   >  some part of the system would, when a project matching the workspace folder directory opens, scan the given folder and open all nested projects
   
   - right now there are _too many parts_ in the system scanning a folder
      - There is `org.netbeans.modules.versioning.util.projects.ProjectOpener` which [scans for just clonned projects](https://cwiki.apache.org/confluence/download/attachments/446071397/image-2026-9-9_11-26-31.png?version=1&modificationDate=1788945991000&api=v2)
      - There is the directory group scan: https://cwiki.apache.org/confluence/download/attachments/446071397/image-2026-9-9_11-26-31.png?version=1&modificationDate=1788945991000&api=v2
      - there is the LSP scan: https://github.com/apache/netbeans/blob/2c328a171d962cda000bba75568e83b685806885/java/java.lsp.server/src/org/netbeans/modules/java/lsp/server/protocol/Server.java#L755
      - ... which also does quite an _inefficient priming_ of the projects
   - most of them are doing it sub-optimally as they _cannot use internals_ as https://github.com/apache/netbeans/blob/2c328a171d962cda000bba75568e83b685806885/ide/projectui/src/org/netbeans/modules/project/ui/LazyProject.java#L51 can
   - my goal is to unify that: have a single implementation to **open a project folder and scan it** that would be as effective as [opening projects after NetBeans IDE startup](https://github.com/apache/netbeans/blob/2c328a171d962cda000bba75568e83b685806885/ide/projectui/src/org/netbeans/modules/project/ui/LazyProject.java#L51)
   
   ### Helpful without Killing
   
   > there could be a UI tweak to not show these projects, unless explicitly open by the user; this is probably the trickiest part to implement, and would probably need an API
   
   Yes, this is the crucial part! How could such a UI tweak look like? Also: the problem isn't to show the projects, but to initialize them! But without initializing, the IDE cannot provide essential cross project functionality (find usages, go to...). It is certainly the trickiest part.
   
   As this is the PoC UX PR: how do you want such a "UI tweak" to behave, @lahodaj?
   
   
   
   



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: notifications-unsubscribe@netbeans.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: notifications-unsubscribe@netbeans.apache.org
For additional commands, e-mail: notifications-help@netbeans.apache.org

For further information about the NetBeans mailing lists, visit:
https://cwiki.apache.org/confluence/display/NETBEANS/Mailing+lists


Re: [PR] PoC: More prominent Open Folder (as a group) action [netbeans]

Posted by "JaroslavTulach (via GitHub)" <gi...@apache.org>.
JaroslavTulach commented on code in PR #9631:
URL: https://github.com/apache/netbeans/pull/9631#discussion_r4141162500


##########
ide/projectapi/src/org/netbeans/api/project/ProjectManager.java:
##########
@@ -141,6 +141,22 @@ public Project findProject(@NonNull final FileObject projectDirectory) throws IO
         }
         return impl.findProject(projectDirectory);
     }
+
+    /** @since 1.111 */
+    @NonNull
+    public Project findProjectOrFallback(@NonNull FileObject projectDirectory) throws IOException, IllegalArgumentException {

Review Comment:
   The essential API to allow any folder to be treated as a project, when necessary (e.g. not by default, just as a fallback).



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: notifications-unsubscribe@netbeans.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: notifications-unsubscribe@netbeans.apache.org
For additional commands, e-mail: notifications-help@netbeans.apache.org

For further information about the NetBeans mailing lists, visit:
https://cwiki.apache.org/confluence/display/NETBEANS/Mailing+lists


Re: [PR] More prominent Open Folder (as a group) action [netbeans]

Posted by "jtulach (via GitHub)" <gi...@apache.org>.
jtulach commented on code in PR #9631:
URL: https://github.com/apache/netbeans/pull/9631#discussion_r4062966049


##########
ide/projectui/src/org/netbeans/modules/project/ui/groups/DirectoryGroupEditPanel.java:
##########
@@ -160,19 +161,9 @@ public void actionPerformed(java.awt.event.ActionEvent evt) {
     }// </editor-fold>//GEN-END:initComponents
 
     private void directoryButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_directoryButtonActionPerformed
-        JFileChooser chooser = new JFileChooser();
-        chooser.setFileSelectionMode(JFileChooser.DIRECTORIES_ONLY);
-        chooser.setMultiSelectionEnabled(false);
-        File start = ProjectChooser.getProjectsFolder();

Review Comment:
   This `DirectoryGroupEditPanel` already provides support for the _Open Folder (as Workspace)_ functionality. It is just this complex:
   
   <img width="234" height="342" alt="Project Groups..." src="https://github.com/user-attachments/assets/66e4ff62-da53-4380-8dd3-1690a8f3bafa" />
   
   Selecting _File / Project Groups..._ menu item opens a dialog
   
   <img width="477" height="301" alt="New group..." src="https://github.com/user-attachments/assets/ba4a896e-3cc2-42ff-9cf0-e4c592fe52c3" />
   
   The _New group..._ button opens another dialog. One needs to choose _Folder of Projects_ and Browse for it (that opens another dialog):
   
   <img width="940" height="420" alt="Browse for a folder" src="https://github.com/user-attachments/assets/5a24da77-40b4-4132-a847-4f6d4e2d4b23" />
   
   Only then one can click _"Create Group"_ button. Which **scans for all the projects** in the given folder and opens them in _Projects view_ (after closing all previous ones).



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: notifications-unsubscribe@netbeans.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: notifications-unsubscribe@netbeans.apache.org
For additional commands, e-mail: notifications-help@netbeans.apache.org

For further information about the NetBeans mailing lists, visit:
https://cwiki.apache.org/confluence/display/NETBEANS/Mailing+lists


Re: [PR] More prominent Open Folder (as a group) action [netbeans]

Posted by "jtulach (via GitHub)" <gi...@apache.org>.
jtulach commented on code in PR #9631:
URL: https://github.com/apache/netbeans/pull/9631#discussion_r4084748962


##########
ide/projectui/src/org/netbeans/modules/project/ui/groups/DirectoryGroup.java:
##########
@@ -77,7 +77,7 @@ protected void findProjects(Set<Project> projects, ProgressHandle h, int start,
         }
         if (fo != null && fo.isFolder()) {
             try {
-                Project p = ProjectManager.getDefault().findProject(fo);

Review Comment:
   -This change makes sure the "top most folder" of each `DirectoryGroup` is visible
      - e.g. the folder selected in _Open Folder as Workspace_ is always visible
      - thanks to #9602 the "top most folder" is the first project in the list
      - ... as it has the shortest path and all other projects are nested
   - if the root folder is recognized as a regular NetBeans project...
      - ...then the behavior is the same as it was by now
   - if the root folder isn't real project, a `GenericPrj` is created for it
   
    



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: notifications-unsubscribe@netbeans.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: notifications-unsubscribe@netbeans.apache.org
For additional commands, e-mail: notifications-help@netbeans.apache.org

For further information about the NetBeans mailing lists, visit:
https://cwiki.apache.org/confluence/display/NETBEANS/Mailing+lists


Re: [PR] More prominent Open Folder (as a group) action [netbeans]

Posted by "Chris2011 (via GitHub)" <gi...@apache.org>.
Chris2011 commented on PR #9631:
URL: https://github.com/apache/netbeans/pull/9631#issuecomment-5801214480

   Am 23.09.2026 21:08 schrieb Michael Bien ***@***.***>:mbien left a comment (apache/netbeans#9631)
   I get that this is in early stages but I would probably not rebrand project group to workspaces. I think "Add Folder to Group" would be a small/self contained feature to explore / merge independently which could be built on top later if needed. PGs are a core concept of NB and part of API, online docs/blogs (LLMs*) and even CLI flags. I do also like the name, since it is self describing - a group of projects, no matter if related or not or if they share the same parent folder or not. This is not the same as the classic eclipse workspace for example. Also: naming is hard
   I also think that automatically opening an unspecified amount of projects isn't a good idea. The first thing I did is to open ~/NetBeansProjects as "workspace" and it crashed NB right away. The other reasons are on the nb private mailing list. Once the Folder is added, it is easy to open the projects within it.
   *got curious so I asked 4 models to compare PGs with eclipse workspaces and the results were fairly useable
   e.g excerpt of the summary, I think that one was Mistral:
   Details
   Key difference in philosophy
   Eclipse workspaces are structural containers — they fundamentally partition your development environment. Switching workspaces means a fresh Eclipse instance with different settings and projects.
   NetBeans project groups are organizational shortcuts — they're a convenience feature for opening related projects together within a single NetBeans session. Your settings, plugins, and instance remain the same.
   
   
   —Reply to this email directly, view it on GitHub, or unsubscribe.Triage notifications, keep track of coding agent tasks and review pull requests on the go with GitHub Mobile for iOS and Android. Download it today!
   You are receiving this because you commented.Message ID: ***@***.***>


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: notifications-unsubscribe@netbeans.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: notifications-unsubscribe@netbeans.apache.org
For additional commands, e-mail: notifications-help@netbeans.apache.org

For further information about the NetBeans mailing lists, visit:
https://cwiki.apache.org/confluence/display/NETBEANS/Mailing+lists


Re: [PR] More prominent Open Folder (as a group) action [netbeans]

Posted by "jtulach (via GitHub)" <gi...@apache.org>.
jtulach commented on PR #9631:
URL: https://github.com/apache/netbeans/pull/9631#issuecomment-5773752563

   Bunch of good ideas, Neil!
   
   > We could change the use of the words Project Group to Project Workspace in branding.
   > I don't think mixing the two terms is a good idea
   
   - rebranding is certainly simple - started in d4354beeaf
   - I believe the word **Workspace** is more genuinely understood ...
   - and better suited to describe the intention than "project group"
   
   > One of the simpler things we could do is also to default the `Open Required Project` toggle to `true` on `Open Project`? Having subprojects not open is more of an "expert" requirement.
   
   - yes, that's exactly the "definition of expert" I had in mind
      - standard and better working behavior should be the default 
      - experts can **opt-out**
   - I'll prepare a PR for the toggle later
   
   The following seems still an open topic:
   
   > > > > Maybe projects just open on-demand as needed?
   > ... It was when you wanted to show all sub-projects, whether open or not, in the same tree group. It is not that different to ergonomics, which is great, if/when it works. 
   
   - I managed to convince myself the concept ergonomics can work and it got close to working (most of the time)
      - I am aware of just a few places where it could be made better
   - However there are problems of _"open projects on-demand"_ that I don't understand how to fix:
      - Find usages requires all projects to be open
      - Go to Xyz dialog requires all projects to be open
      - I am all for being lazy/on demand, but I am afraid to break Find Usages and/or Go to dialogs
   - However, thinking about it I realized that there is concept of `LazyProject` used already on startup
      - however it is only used during startup
      - not when (for example) switching workspaces (project groups)
      - using `LazyProject` more is probably another thing we shall improve (in a separate PR)
    


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: notifications-unsubscribe@netbeans.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: notifications-unsubscribe@netbeans.apache.org
For additional commands, e-mail: notifications-help@netbeans.apache.org

For further information about the NetBeans mailing lists, visit:
https://cwiki.apache.org/confluence/display/NETBEANS/Mailing+lists


Re: [PR] More prominent Open Folder (as a group) action [netbeans]

Posted by "jtulach (via GitHub)" <gi...@apache.org>.
jtulach commented on PR #9631:
URL: https://github.com/apache/netbeans/pull/9631#issuecomment-5778596610

   I've just had a lunch with @lahodaj and he asked me: What will happen _if there is no NetBeans project underneath the "Open Folder" directory_?
   
   - fair question!
   - TBC... 


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: notifications-unsubscribe@netbeans.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: notifications-unsubscribe@netbeans.apache.org
For additional commands, e-mail: notifications-help@netbeans.apache.org

For further information about the NetBeans mailing lists, visit:
https://cwiki.apache.org/confluence/display/NETBEANS/Mailing+lists


Re: [PR] PoC: More prominent Open Folder (as a group) action [netbeans]

Posted by "jtulach (via GitHub)" <gi...@apache.org>.
jtulach commented on PR #9631:
URL: https://github.com/apache/netbeans/pull/9631#issuecomment-5813186417

   > ... not rebrand project group to workspaces... naming is hard
   
   Replied in this [threaded comment](https://github.com/apache/netbeans/pull/9631#discussion_r4092183126).
   
   > ... automatically opening an unspecified amount of projects isn't a good idea. The first thing I did is to open `~/NetBeansProjects` as "workspace" and it crashed NB right away. 
   
   - the performance is a real problem
      - it showed up quite negatively at https://github.com/apache/netbeans-vscode/pull/36
      - some UX enhancements are needed to avoid scanning _too deep_
   - moreover one needs to "trust the folder" to perform such a scan, otherwise it is dangerous
   - what I am hoping for is to find a **unified user experience** that could be used everywhere:
      - in this _Open Folder_ action (originally [Folder of Projects](https://private-user-images.githubusercontent.com/1842422/655811404-5a24da77-40b4-4132-a847-4f6d4e2d4b23.png?jwt=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3OTAyNDM1NDEsIm5iZiI6MTc5MDI0MzI0MSwicGF0aCI6Ii8xODQyNDIyLzY1NTgxMTQwNC01YTI0ZGE3Ny00MGI0LTQxMzItYTg0Ny00ZjZkNGUyZDRiMjMucG5nP1gtQW16LUFsZ29yaXRobT1BV1M0LUhNQUMtU0hBMjU2JlgtQW16LUNyZWRlbnRpYWw9QUtJQVZDT0RZTFNBNTNQUUs0WkElMkYyMDI2MDkyNCUyRnVzLWVhc3QtMSUyRnMzJTJGYXdzNF9yZXF1ZXN0JlgtQW16LURhdGU9MjAyNjA5MjRUMDk0NzIxWiZYLUFtei1FeHBpcmVzPTMwMCZYLUFtei1TaWduYXR1cmU9OWZhYjdlMzhkYjg0MmZlMjVhM2MyYWIyYTZlOWUwN2M2YjdmYzczNDYzZGNmMmVhYWZjMjU2MjhiNGUzN2E3YyZYLUFtei1TaWduZWRIZWFkZXJzPWhvc3QmcmVzcG9uc2UtY29udGVudC10eXBlPWltYWdlJTJGcG5nIn0.xWAepAs55o15iYl60yDKr3AzDGH1yriZq7xRwWgHhAc))
      - in the [NetBeans VSCode extension](https://github.com/apache/netbeans-vscode/blob/master/vscode/README.md)
      - and would provide good enough UX, performance and security


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: notifications-unsubscribe@netbeans.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: notifications-unsubscribe@netbeans.apache.org
For additional commands, e-mail: notifications-help@netbeans.apache.org

For further information about the NetBeans mailing lists, visit:
https://cwiki.apache.org/confluence/display/NETBEANS/Mailing+lists


Re: [PR] PoC: More prominent Open Folder (as a group) action [netbeans]

Posted by "jtulach (via GitHub)" <gi...@apache.org>.
jtulach commented on code in PR #9631:
URL: https://github.com/apache/netbeans/pull/9631#discussion_r4092183126


##########
ide/projectui/src/org/netbeans/modules/project/ui/groups/Bundle.properties:
##########
@@ -36,35 +36,35 @@ SubprojectsGroupEditPanel.masterProjectLabel.text=&Master Project:
 
 DirectoryGroupEditPanel.nameLabel.text=&Name\:
 DirectoryGroupEditPanel.folderLabel.text=&Folder\:
-SubprojectsGroupEditPanel.nameLabel.AccessibleContext.accessibleDescription=Name of the project group
+SubprojectsGroupEditPanel.nameLabel.AccessibleContext.accessibleDescription=Name of the workspace
 SubprojectsGroupEditPanel.masterProjectLabel.AccessibleContext.accessibleDescription=Group master project name
 SubprojectsGroupEditPanel.nameField.AccessibleContext.accessibleName=Name
-SubprojectsGroupEditPanel.nameField.AccessibleContext.accessibleDescription=Project group name
+SubprojectsGroupEditPanel.nameField.AccessibleContext.accessibleDescription=Workspace name
 SubprojectsGroupEditPanel.masterProjectField.AccessibleContext.accessibleName=
 SubprojectsGroupEditPanel.masterProjectField.AccessibleContext.accessibleDescription=
-SubprojectsGroupEditPanel.AccessibleContext.accessibleName=Project group properties
-SubprojectsGroupEditPanel.AccessibleContext.accessibleDescription=Project group properties
-DirectoryGroupEditPanel.nameLabel.AccessibleContext.accessibleDescription=Name of the project group
-DirectoryGroupEditPanel.folderLabel.AccessibleContext.accessibleDescription=Project group folder
+SubprojectsGroupEditPanel.AccessibleContext.accessibleName=Workspace properties
+SubprojectsGroupEditPanel.AccessibleContext.accessibleDescription=Workspace properties
+DirectoryGroupEditPanel.nameLabel.AccessibleContext.accessibleDescription=Name of the workspace
+DirectoryGroupEditPanel.folderLabel.AccessibleContext.accessibleDescription=Workspace folder
 DirectoryGroupEditPanel.nameField.AccessibleContext.accessibleName=Name
-DirectoryGroupEditPanel.nameField.AccessibleContext.accessibleDescription=Project group name
+DirectoryGroupEditPanel.nameField.AccessibleContext.accessibleDescription=Workspace name
 DirectoryGroupEditPanel.folderField.AccessibleContext.accessibleName=
 DirectoryGroupEditPanel.folderField.AccessibleContext.accessibleDescription=
-DirectoryGroupEditPanel.AccessibleContext.accessibleName=Project group properties
-DirectoryGroupEditPanel.AccessibleContext.accessibleDescription=Project group properties
-AdHocGroupEditPanel.AccessibleContext.accessibleName=Project group properties
-AdHocGroupEditPanel.AccessibleContext.accessibleDescription=Project group properties
-AdHocGroupEditPanel.nameLabel.AccessibleContext.accessibleDescription=Project group name
+DirectoryGroupEditPanel.AccessibleContext.accessibleName=Workspace properties
+DirectoryGroupEditPanel.AccessibleContext.accessibleDescription=Workspace properties
+AdHocGroupEditPanel.AccessibleContext.accessibleName=Workspace properties
+AdHocGroupEditPanel.AccessibleContext.accessibleDescription=Workspace properties
+AdHocGroupEditPanel.nameLabel.AccessibleContext.accessibleDescription=Workspace name
 AdHocGroupEditPanel.nameField.AccessibleContext.accessibleName=Name
-AdHocGroupEditPanel.nameField.AccessibleContext.accessibleDescription=Project group name
-AdHocGroupEditPanel.autoSynchCheckbox.AccessibleContext.accessibleDescription=Automatically save project group list
+AdHocGroupEditPanel.nameField.AccessibleContext.accessibleDescription=Workspace name
+AdHocGroupEditPanel.autoSynchCheckbox.AccessibleContext.accessibleDescription=Automatically save workspace list
 AdHocGroupEditPanel.synchButton.AccessibleContext.accessibleDescription=Save current project list now
-NewGroupPanel.AccessibleContext.accessibleName=New project group

Review Comment:
   @mbien [wrote](https://github.com/apache/netbeans/pull/9631#issuecomment-5801173840):
   
   > I get that this is in early stages ... not rebrand project group to workspaces ... online docs ... CLI flags ... naming is hard
   
   Alas, that's true. I've marked the PR as _proof of concept_ and added _do not merge_ label. I also [removed the naming changes](https://github.com/apache/netbeans/pull/9631/commits/6bcb9b3da79cf4f99e840e640d34686344ab52af). Let's use it for prototyping and discussions. I am replying in a "line comment" as that will create a "thread" related to the important _philosophy differentiator_: 
   
   ## Key Difference in Philosophy
   
   > [!NOTE] 
   > **Eclipse and VSCode workspaces are structural containers** — they fundamentally partition your development environment. Switching workspaces means a fresh Eclipse instance with different settings and projects.
   
   <img width="234" height="342" alt="VSCode menu" src="https://cwiki.apache.org/confluence/download/attachments/446071397/image-2026-8-18_8-39-37.png?version=1&modificationDate=1787035178000&api=v2" />
   
   > [!NOTE] 
   > **NetBeans project groups are organizational shortcuts** — they're a convenience feature for opening related projects together within a single NetBeans session. Your settings, plugins, and instance remain the same.
   
   - that's true, but I'd like to change that
      - however changing this while being compatible isn't completely easy
      - however that doesn't mean I am not thinking about it
   - I'd like to provide users similar UX as the [VSCode File menu](https://cwiki.apache.org/confluence/download/attachments/446071397/image-2026-8-18_8-39-37.png?version=1&modificationDate=1787035178000&api=v2) provides
      - there are few actions related to (their) _workspaces_
      - I believe I can implement them all in NetBeans
      - but each may **need a different technique** to get the job done
   
   #### Open Folder (as a Group/Workspace)
   
   - there are actions working with a _set of projects_
   - I believe we can emulate them all by  rebranding the group support
   - provide better UX
   - make it a first class citizen and overall more efficient
   - of course, we don't want to change the plugins and mangle with settings much
   
   #### New Window Action
   
   - however the [VSCode File menu](https://cwiki.apache.org/confluence/download/attachments/446071397/image-2026-8-18_8-39-37.png?version=1&modificationDate=1787035178000&api=v2) also offers other actions like _"New Window"_
   - I'd like to _implement that too_
      - a new window would mean to launch new NetBeans IDE process
      - with a different `--userdir`
   - and such a process could **fundamentally partition** one's environment
   - creating such a new window would give us **fresh instance with different settings and plugins**
   - possibly there could even be some inheritance between the settings
      - that's what I wanted to achieve as part of the [project sandwich](https://www.antonioshome.net/kitchen/netbeans/nbms-sandwich.php)
      - and we are using this technology everyday with XML layers
      - however in the early 2000-2005 I lost the UI battle and the _hierarchy of sandwiches_ isn't really exposed to users
      - but for a while it was and it could be shown again
   - a new window would imply not only settings, but a whole new set of projects
   - e.g. one could have multiple instances of NetBeans working on multiple _workspaces_ just like VSCode does
   - just in this PR I started the implementation with exposing the _set of projects_ only
   - I can however prototype the _New Window_ as well in another PR



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: notifications-unsubscribe@netbeans.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: notifications-unsubscribe@netbeans.apache.org
For additional commands, e-mail: notifications-help@netbeans.apache.org

For further information about the NetBeans mailing lists, visit:
https://cwiki.apache.org/confluence/display/NETBEANS/Mailing+lists


Re: [PR] PoC: More prominent Open Folder (as a group) action [netbeans]

Posted by "jtulach (via GitHub)" <gi...@apache.org>.
jtulach commented on code in PR #9631:
URL: https://github.com/apache/netbeans/pull/9631#discussion_r4155215654


##########
ide/projectapi/src/org/netbeans/api/project/ProjectManager.java:
##########
@@ -141,6 +141,22 @@ public Project findProject(@NonNull final FileObject projectDirectory) throws IO
         }
         return impl.findProject(projectDirectory);
     }
+
+    /** @since 1.111 */
+    @NonNull
+    public Project findProjectOrFallback(@NonNull FileObject projectDirectory) throws IOException, IllegalArgumentException {

Review Comment:
   - I've just extracted this API change into its own review
   - #9650 
   - please review the API aspects of the change there



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: notifications-unsubscribe@netbeans.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: notifications-unsubscribe@netbeans.apache.org
For additional commands, e-mail: notifications-help@netbeans.apache.org

For further information about the NetBeans mailing lists, visit:
https://cwiki.apache.org/confluence/display/NETBEANS/Mailing+lists


Re: [PR] More prominent Open Folder (as a group) action [netbeans]

Posted by "jtulach (via GitHub)" <gi...@apache.org>.
jtulach commented on code in PR #9631:
URL: https://github.com/apache/netbeans/pull/9631#discussion_r4084760734


##########
ide/projectui/src/org/netbeans/modules/project/ui/groups/DirectoryGroup.java:
##########
@@ -77,7 +77,7 @@ protected void findProjects(Set<Project> projects, ProgressHandle h, int start,
         }
         if (fo != null && fo.isFolder()) {
             try {
-                Project p = ProjectManager.getDefault().findProject(fo);

Review Comment:
   - in case of NetBeans (where the root folder isn't a project)
      - unless something like #9626 is implemented
   - it all looks like this right :
   
   <img width="836" height="843" alt="Open root of NetBeans folder" src="https://github.com/user-attachments/assets/f7ccf1d9-cab4-4520-a565-62bf416ad8b2" />
   
   



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: notifications-unsubscribe@netbeans.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: notifications-unsubscribe@netbeans.apache.org
For additional commands, e-mail: notifications-help@netbeans.apache.org

For further information about the NetBeans mailing lists, visit:
https://cwiki.apache.org/confluence/display/NETBEANS/Mailing+lists


Re: [PR] More prominent Open Folder (as a group) action [netbeans]

Posted by "jtulach (via GitHub)" <gi...@apache.org>.
jtulach commented on code in PR #9631:
URL: https://github.com/apache/netbeans/pull/9631#discussion_r4084748962


##########
ide/projectui/src/org/netbeans/modules/project/ui/groups/DirectoryGroup.java:
##########
@@ -77,7 +77,7 @@ protected void findProjects(Set<Project> projects, ProgressHandle h, int start,
         }
         if (fo != null && fo.isFolder()) {
             try {
-                Project p = ProjectManager.getDefault().findProject(fo);

Review Comment:
   -This change makes sure the "top most folder" of each `DirectoryGroup` is visible
      - e.g. the folder selected in _Open Folder as Workspace_ is always visible
      - thanks to #9602 the "top most folder" is the first project in the list
      - ... as it has the shortest path and all other projects are nested
   - if the root folder is recognized as a regular NetBeans project...
      - ...then the behavior is the same as it was by now
   - if the root folder isn't real project, a `GenericPrj` is created for it
   - if there is no project beneath the root folder, then one gets just a simple "files view" of the root project:
   
   <img width="443" height="291" alt="Files View of a Folder" src="https://github.com/user-attachments/assets/29c88203-7eef-4e8d-9adf-f633d4b70c83" />
   
    



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: notifications-unsubscribe@netbeans.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: notifications-unsubscribe@netbeans.apache.org
For additional commands, e-mail: notifications-help@netbeans.apache.org

For further information about the NetBeans mailing lists, visit:
https://cwiki.apache.org/confluence/display/NETBEANS/Mailing+lists


Re: [PR] More prominent Open Folder (as a group) action [netbeans]

Posted by "jtulach (via GitHub)" <gi...@apache.org>.
jtulach commented on code in PR #9631:
URL: https://github.com/apache/netbeans/pull/9631#discussion_r4084760734


##########
ide/projectui/src/org/netbeans/modules/project/ui/groups/DirectoryGroup.java:
##########
@@ -77,7 +77,7 @@ protected void findProjects(Set<Project> projects, ProgressHandle h, int start,
         }
         if (fo != null && fo.isFolder()) {
             try {
-                Project p = ProjectManager.getDefault().findProject(fo);

Review Comment:
   - in case of NetBeans (where the root folder isn't a project)
      - unless something like #9624  is implemented
   - it all looks like this right :
   
   <img width="836" height="843" alt="Open root of NetBeans folder" src="https://github.com/user-attachments/assets/f7ccf1d9-cab4-4520-a565-62bf416ad8b2" />
   
   



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: notifications-unsubscribe@netbeans.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: notifications-unsubscribe@netbeans.apache.org
For additional commands, e-mail: notifications-help@netbeans.apache.org

For further information about the NetBeans mailing lists, visit:
https://cwiki.apache.org/confluence/display/NETBEANS/Mailing+lists


Re: [PR] More prominent Open Folder (as a group) action [netbeans]

Posted by "jtulach (via GitHub)" <gi...@apache.org>.
jtulach commented on code in PR #9631:
URL: https://github.com/apache/netbeans/pull/9631#discussion_r4063052739


##########
ide/projectui/src/org/netbeans/modules/project/ui/groups/OpenFolderAsGroupAction.java:
##########
@@ -0,0 +1,69 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.netbeans.modules.project.ui.groups;
+
+import java.awt.HeadlessException;
+import java.awt.event.ActionEvent;
+import java.awt.event.ActionListener;
+import java.io.File;
+import javax.swing.JFileChooser;
+import org.netbeans.spi.project.ui.support.ProjectChooser;
+import org.openide.awt.ActionID;
+import org.openide.awt.ActionReference;
+import org.openide.awt.ActionRegistration;
+import org.openide.filesystems.FileObject;
+import org.openide.filesystems.FileUtil;
+import org.openide.util.NbBundle.Messages;
+
+@ActionID(
+        category = "Project",
+        id = "org.netbeans.modules.project.ui.groups.OpenFolderAsGroupAction"
+)
+@ActionRegistration(
+        displayName = "#CTL_OpenFolderAsGroupAction",
+        lazy = true, asynchronous = true
+)
+@ActionReference(path = "Menu/File", position = 1200, separatorAfter = 1250)
+@Messages("CTL_OpenFolderAsGroupAction=Open Fol&der as Workspace...")
+public final class OpenFolderAsGroupAction implements ActionListener {
+    @Override
+    public void actionPerformed(ActionEvent ev) {
+        File dir = showWorkspaceFolderChooser(null, null);

Review Comment:
   This new _Open Folder as Workspace..._ action provides the [same function as is currently hidden](https://github.com/apache/netbeans/pull/9631/changes#r4062966049) in the _Projects Group..._ dialog, but it is way **more straightforward**:
   
   <img width="223" height="376" alt="Open Folder (as Workspace)..." src="https://github.com/user-attachments/assets/44d1f323-5aae-4845-89a7-29f352bc9bee" />
   
   Just choose the new action, then select a folder in the file chooser and voilá! No change in NetBeans abilities, ... but now they are exposed to the world the way the (current development) world [wants to see them](https://cwiki.apache.org/confluence/download/attachments/446071397/image-2026-8-18_8-39-37.png?version=1&modificationDate=1787035178000&api=v2)
   
   
    



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: notifications-unsubscribe@netbeans.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: notifications-unsubscribe@netbeans.apache.org
For additional commands, e-mail: notifications-help@netbeans.apache.org

For further information about the NetBeans mailing lists, visit:
https://cwiki.apache.org/confluence/display/NETBEANS/Mailing+lists


Re: [PR] More prominent Open Folder (as a group) action [netbeans]

Posted by "neilcsmith-net (via GitHub)" <gi...@apache.org>.
neilcsmith-net commented on PR #9631:
URL: https://github.com/apache/netbeans/pull/9631#issuecomment-5762361826

   > > > Maybe projects just open on-demand as needed?
   > 
   > Every "expert" has different set of subprojects open and then the behavior of the IDE is different. Such a _"magical flexibility"_ makes the UX poor.
   
   This is the second time you've selectively quoted that out of context while misunderstanding what was meant!  It was when you wanted to show all projects, whether open or not, in the same tree group.  It is not that different to ergonomics, which is great, if/when it works.  The UX is only poor when it doesn't work completely transparently.  If you think it meant "expert" or that the behaviour of the IDE is different, then we're talking about two opposite things.
   
   > Other IDEs have a **concept of workspace**. When opening Apache Maven sources in a "workplace", then the IDEs just open all the nested projects in the Apache Maven Git repository.
   
   One of the simpler things we could do is also to default the `Open Required Project` toggle to `true` on `Open Project`?  Having subprojects not open is more of an "expert" requirement.
   
   The `Open Project` dialog could also have some group management options, such as open (all) in new group.
   
   We could change the use of the words Project Group to Project Workspace in branding.  I don't think mixing the two terms is a good idea for discoverability.  Still, I'm also sceptical of doing things just because "other IDEs" do it.


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: notifications-unsubscribe@netbeans.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: notifications-unsubscribe@netbeans.apache.org
For additional commands, e-mail: notifications-help@netbeans.apache.org

For further information about the NetBeans mailing lists, visit:
https://cwiki.apache.org/confluence/display/NETBEANS/Mailing+lists


Re: [PR] PoC: More prominent Open Folder (as a group) action [netbeans]

Posted by "neilcsmith-net (via GitHub)" <gi...@apache.org>.
neilcsmith-net commented on PR #9631:
URL: https://github.com/apache/netbeans/pull/9631#issuecomment-5866517294

   > what I am hoping for is to find a **unified user experience** that could be used everywhere:
   > 
   >     * in this _Open Folder_ action
   >     * in the NetBeans VSCode extension
   
   There is a level of changes being discussed here, not just in this PR but as planned to follow, that should be discussed on the dev@ list.  That is the canonical ASF location for this sort of discussion where it can properly archived and reviewed as a whole.  There's a secondary conversation to be had there about relevance of the VSCode extension to any decisions, and whether that has a future at all given that development seems to have effectively stopped.


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: notifications-unsubscribe@netbeans.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: notifications-unsubscribe@netbeans.apache.org
For additional commands, e-mail: notifications-help@netbeans.apache.org

For further information about the NetBeans mailing lists, visit:
https://cwiki.apache.org/confluence/display/NETBEANS/Mailing+lists


Re: [PR] More prominent Open Folder (as a group) action [netbeans]

Posted by "Chris2011 (via GitHub)" <gi...@apache.org>.
Chris2011 commented on PR #9631:
URL: https://github.com/apache/netbeans/pull/9631#issuecomment-5796833808

   If you have a mono repo, which is just a git repo full of subprojects, it would be really nice, to open this folder as a "workspace but of course, this is just a folder with the stuff inside, I don't want to see all subprojects or folders at top level. If I checkout a mono repo to "MyMonorepo" then I can open MyMonorepo as Projectfolder with all the stuff inside. MyMonorepo is the worksapce then.


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: notifications-unsubscribe@netbeans.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: notifications-unsubscribe@netbeans.apache.org
For additional commands, e-mail: notifications-help@netbeans.apache.org

For further information about the NetBeans mailing lists, visit:
https://cwiki.apache.org/confluence/display/NETBEANS/Mailing+lists


Re: [PR] More prominent Open Folder (as a group) action [netbeans]

Posted by "mbien (via GitHub)" <gi...@apache.org>.
mbien commented on PR #9631:
URL: https://github.com/apache/netbeans/pull/9631#issuecomment-5801173840

   I get that this is in early stages but I would probably not rebrand project group to workspaces. I think "Add Folder to Group" would be a small/self contained feature to explore / merge independently which could be built on top later if needed. PGs are a core concept of NB and part of API, online docs/blogs (LLMs*) and even CLI flags. I do also like the name, since it is self describing - a group of projects, no matter if related or not or if they share the same parent folder or not. This is not the same as the classic eclipse workspace for example. Also: naming is hard
   
   I also think that automatically opening an unspecified amount of projects isn't a good idea. The first thing I did is to open `~/NetBeansProjects` as "workspace" and it crashed NB right away. The other reasons are on the nb private mailing list. Once the Folder is added, it is easy to open the projects within it.
   
    *got curious so I asked 4 models to compare PGs with eclipse workspaces and the results were fairly useable
   
   e.g excerpt of the summary, I think that one was Mistral: 
   
   <details>
   
   Key difference in philosophy
   
   Eclipse workspaces are structural containers — they fundamentally partition your development environment. Switching workspaces means a fresh Eclipse instance with different settings and projects.
   
   NetBeans project groups are organizational shortcuts — they're a convenience feature for opening related projects together within a single NetBeans session. Your settings, plugins, and instance remain the same.
   
   </details>


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: notifications-unsubscribe@netbeans.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: notifications-unsubscribe@netbeans.apache.org
For additional commands, e-mail: notifications-help@netbeans.apache.org

For further information about the NetBeans mailing lists, visit:
https://cwiki.apache.org/confluence/display/NETBEANS/Mailing+lists


Re: [PR] More prominent Open Folder (as a group) action [netbeans]

Posted by "jtulach (via GitHub)" <gi...@apache.org>.
jtulach commented on code in PR #9631:
URL: https://github.com/apache/netbeans/pull/9631#discussion_r4084748962


##########
ide/projectui/src/org/netbeans/modules/project/ui/groups/DirectoryGroup.java:
##########
@@ -77,7 +77,7 @@ protected void findProjects(Set<Project> projects, ProgressHandle h, int start,
         }
         if (fo != null && fo.isFolder()) {
             try {
-                Project p = ProjectManager.getDefault().findProject(fo);

Review Comment:
   - This change makes sure the "top most folder" of each `DirectoryGroup` is visible
      - e.g. the folder selected in _Open Folder as Workspace_ is always visible
      - thanks to #9602 the "top most folder" is the first project in the list
      - ... as it has the shortest path and all other projects are nested
   - if the root folder is recognized as a regular NetBeans project...
      - ...then the behavior is the same as it was by now
   - if the root folder isn't real project, a `GenericPrj` is created for it
   - if there is no project beneath the root folder, then one gets just a simple "files view" of the root project:
   
   <img width="443" height="291" alt="Files View of a Folder" src="https://github.com/user-attachments/assets/29c88203-7eef-4e8d-9adf-f633d4b70c83" />
   
    



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: notifications-unsubscribe@netbeans.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: notifications-unsubscribe@netbeans.apache.org
For additional commands, e-mail: notifications-help@netbeans.apache.org

For further information about the NetBeans mailing lists, visit:
https://cwiki.apache.org/confluence/display/NETBEANS/Mailing+lists


Re: [PR] PoC: More prominent Open Folder (as a group) action [netbeans]

Posted by "jtulach (via GitHub)" <gi...@apache.org>.
jtulach commented on code in PR #9631:
URL: https://github.com/apache/netbeans/pull/9631#discussion_r4092183126


##########
ide/projectui/src/org/netbeans/modules/project/ui/groups/Bundle.properties:
##########
@@ -36,35 +36,35 @@ SubprojectsGroupEditPanel.masterProjectLabel.text=&Master Project:
 
 DirectoryGroupEditPanel.nameLabel.text=&Name\:
 DirectoryGroupEditPanel.folderLabel.text=&Folder\:
-SubprojectsGroupEditPanel.nameLabel.AccessibleContext.accessibleDescription=Name of the project group
+SubprojectsGroupEditPanel.nameLabel.AccessibleContext.accessibleDescription=Name of the workspace
 SubprojectsGroupEditPanel.masterProjectLabel.AccessibleContext.accessibleDescription=Group master project name
 SubprojectsGroupEditPanel.nameField.AccessibleContext.accessibleName=Name
-SubprojectsGroupEditPanel.nameField.AccessibleContext.accessibleDescription=Project group name
+SubprojectsGroupEditPanel.nameField.AccessibleContext.accessibleDescription=Workspace name
 SubprojectsGroupEditPanel.masterProjectField.AccessibleContext.accessibleName=
 SubprojectsGroupEditPanel.masterProjectField.AccessibleContext.accessibleDescription=
-SubprojectsGroupEditPanel.AccessibleContext.accessibleName=Project group properties
-SubprojectsGroupEditPanel.AccessibleContext.accessibleDescription=Project group properties
-DirectoryGroupEditPanel.nameLabel.AccessibleContext.accessibleDescription=Name of the project group
-DirectoryGroupEditPanel.folderLabel.AccessibleContext.accessibleDescription=Project group folder
+SubprojectsGroupEditPanel.AccessibleContext.accessibleName=Workspace properties
+SubprojectsGroupEditPanel.AccessibleContext.accessibleDescription=Workspace properties
+DirectoryGroupEditPanel.nameLabel.AccessibleContext.accessibleDescription=Name of the workspace
+DirectoryGroupEditPanel.folderLabel.AccessibleContext.accessibleDescription=Workspace folder
 DirectoryGroupEditPanel.nameField.AccessibleContext.accessibleName=Name
-DirectoryGroupEditPanel.nameField.AccessibleContext.accessibleDescription=Project group name
+DirectoryGroupEditPanel.nameField.AccessibleContext.accessibleDescription=Workspace name
 DirectoryGroupEditPanel.folderField.AccessibleContext.accessibleName=
 DirectoryGroupEditPanel.folderField.AccessibleContext.accessibleDescription=
-DirectoryGroupEditPanel.AccessibleContext.accessibleName=Project group properties
-DirectoryGroupEditPanel.AccessibleContext.accessibleDescription=Project group properties
-AdHocGroupEditPanel.AccessibleContext.accessibleName=Project group properties
-AdHocGroupEditPanel.AccessibleContext.accessibleDescription=Project group properties
-AdHocGroupEditPanel.nameLabel.AccessibleContext.accessibleDescription=Project group name
+DirectoryGroupEditPanel.AccessibleContext.accessibleName=Workspace properties
+DirectoryGroupEditPanel.AccessibleContext.accessibleDescription=Workspace properties
+AdHocGroupEditPanel.AccessibleContext.accessibleName=Workspace properties
+AdHocGroupEditPanel.AccessibleContext.accessibleDescription=Workspace properties
+AdHocGroupEditPanel.nameLabel.AccessibleContext.accessibleDescription=Workspace name
 AdHocGroupEditPanel.nameField.AccessibleContext.accessibleName=Name
-AdHocGroupEditPanel.nameField.AccessibleContext.accessibleDescription=Project group name
-AdHocGroupEditPanel.autoSynchCheckbox.AccessibleContext.accessibleDescription=Automatically save project group list
+AdHocGroupEditPanel.nameField.AccessibleContext.accessibleDescription=Workspace name
+AdHocGroupEditPanel.autoSynchCheckbox.AccessibleContext.accessibleDescription=Automatically save workspace list
 AdHocGroupEditPanel.synchButton.AccessibleContext.accessibleDescription=Save current project list now
-NewGroupPanel.AccessibleContext.accessibleName=New project group

Review Comment:
   @mbien [wrote](https://github.com/apache/netbeans/pull/9631#issuecomment-5801173840):
   
   > I get that this is in early stages ... not rebrand project group to workspaces ... online docs ... CLI flags ... naming is hard
   
   Alas, that's true. I've marked the PR as _proof of concept_ and added _do not merge_ label. Let's use it for prototyping and discussions. I am replying in a "line comment" as that will create a "thread" related to the important _philosophy differentiator_: 
   
   ## Key Difference in Philosophy
   
   > [!NOTE] 
   > **Eclipse and VSCode workspaces are structural containers** — they fundamentally partition your development environment. Switching workspaces means a fresh Eclipse instance with different settings and projects.
   
   <img width="234" height="342" alt="VSCode menu" src="https://cwiki.apache.org/confluence/download/attachments/446071397/image-2026-8-18_8-39-37.png?version=1&modificationDate=1787035178000&api=v2" />
   
   > [!NOTE] 
   > **NetBeans project groups are organizational shortcuts** — they're a convenience feature for opening related projects together within a single NetBeans session. Your settings, plugins, and instance remain the same.
   
   - that's true, but I'd like to change that
      - however changing this while being compatible isn't completely easy
      - however that doesn't mean I am not thinking about it
   - I'd like to provide users similar UX as the [VSCode File menu](https://cwiki.apache.org/confluence/download/attachments/446071397/image-2026-8-18_8-39-37.png?version=1&modificationDate=1787035178000&api=v2) provides
      - there are few actions related to (their) _workspaces_
      - I believe I can implement them all in NetBeans
      - but each may **need a different technique** to get the job done
   



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: notifications-unsubscribe@netbeans.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: notifications-unsubscribe@netbeans.apache.org
For additional commands, e-mail: notifications-help@netbeans.apache.org

For further information about the NetBeans mailing lists, visit:
https://cwiki.apache.org/confluence/display/NETBEANS/Mailing+lists