From 84578b3b2426f965ab8aa2dbb81ef4e721509a29 Mon Sep 17 00:00:00 2001 From: "yahui.han" Date: Fri, 6 Jun 2025 17:05:43 +0800 Subject: [PATCH] code-workspace --- Editor/VisualStudioCursorInstallation.cs | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/Editor/VisualStudioCursorInstallation.cs b/Editor/VisualStudioCursorInstallation.cs index 261b3ef..988ef54 100644 --- a/Editor/VisualStudioCursorInstallation.cs +++ b/Editor/VisualStudioCursorInstallation.cs @@ -507,6 +507,15 @@ namespace Microsoft.Unity.VisualStudio.Editor { return null; } + private static string TryFindWorkspace(string directory) + { + var files = Directory.GetFiles(directory, "*.code-workspace", SearchOption.TopDirectoryOnly); + if (files.Length == 0 || files.Length > 1) + return null; + + return files[0]; + } + public override bool Open(string path, int line, int column, string solution) { line = Math.Max(1, line); column = Math.Max(0, column); @@ -514,6 +523,10 @@ namespace Microsoft.Unity.VisualStudio.Editor { var directory = IOPath.GetDirectoryName(solution); var application = Path; + var workspace = TryFindWorkspace(directory); + workspace ??= directory; + directory = workspace; + var existingProcess = FindRunningCursorWithSolution(directory); if (existingProcess != null) { try {