@@ -105,6 +105,12 @@ public static void OpenSelectedProjectWith()
105105 }
106106 }
107107
108+ public static void OpenSelectedProjectInTerminal ( )
109+ {
110+ if ( TryGetSelectedProject ( out var unityProject ) )
111+ OsUtils . OpenInTerminal ( unityProject . path ) ;
112+ }
113+
108114 public static void OnRemoveProjectFromListClicked ( )
109115 {
110116 UnityHubUtils . UnityProjects . RemoveAt ( GetUnityProjectSelectedIndex ( ) ) ;
@@ -277,7 +283,7 @@ public static void MoveSelectedProjectDown()
277283 WrapSelection = true ,
278284 SelectionMode = SelectionMode . AlwaysSelected | SelectionMode . Single ,
279285 SelectedIndex = 0 ,
280- } . AddOnSubmit ( OnUnityProjectListSubmitted ) . OnSelectionChanged ( UnityProjectSelectedIndexChanged )
286+ } . OnSelectionChanged ( UnityProjectSelectedIndexChanged )
281287 } ,
282288 ] ) ,
283289 ] )
@@ -553,6 +559,12 @@ public static MenuItem[] CreateProjectMenuItems(Func<UnityProject> unityProjectG
553559 InputGesture = new ( Key . Enter , KeyModifiers . Alt ) ,
554560 } . OnClick ( OpenSelectedProjectWith ) ,
555561 new MenuItem
562+ {
563+ Header = "Open In Terminal" ,
564+ HotKey = new ( Key . Enter , KeyModifiers . Alt | KeyModifiers . Shift ) ,
565+ InputGesture = new ( Key . Enter , KeyModifiers . Alt | KeyModifiers . Shift ) ,
566+ } . OnClick ( OpenSelectedProjectInTerminal ) ,
567+ new MenuItem
556568 {
557569 Header = "_Reveal In File Explorer" ,
558570 HotKey = new KeyGesture ( Key . F , KeyModifiers . Control ) ,
@@ -627,13 +639,6 @@ static Task<IEnumerable<object>> PopulateUnityProjectSearchAutoCompletion(string
627639 }
628640 }
629641
630- static void OnUnityProjectListSubmitted ( )
631- {
632- if ( ! IsAnyProjectSelected ( ) )
633- return ;
634- ( ( UnityProjectView ) s_unityProjectsParent . Items [ GetUnityProjectSelectedIndex ( ) ] ! ) . OpenProject ( ) ;
635- }
636-
637642 static void RemoveSelectedUnitySearchPath ( Button button , RoutedEventArgs args )
638643 {
639644 var index = GetSelectedUnityInstallationSearchPathsIndex ( ) ;
@@ -707,6 +712,11 @@ static async void AddNewUnitySearchPath()
707712
708713 static bool TryGetSelectedProject ( out UnityProject unityProject )
709714 {
715+ if ( s_projectSearchBoxAutoComplete . SelectedItem is UnityProjectView view )
716+ {
717+ unityProject = view . unityProject ;
718+ return true ;
719+ }
710720 var ind = GetUnityProjectSelectedIndex ( ) ;
711721 if ( ind < 0 || ind >= UnityHubUtils . UnityProjects . Count )
712722 {
0 commit comments