Skip to content

Commit 310c786

Browse files
committed
feature: ignore case when finding visual studio solution file
Signed-off-by: leo <[email protected]>
1 parent 921b859 commit 310c786

File tree

1 file changed

+11
-8
lines changed

1 file changed

+11
-8
lines changed

src/Native/Windows.cs

Lines changed: 11 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -353,23 +353,26 @@ private void OpenFolderAndSelectFile(string folderPath)
353353

354354
private string GenerateCommandlineArgsForVisualStudio(string repo)
355355
{
356-
var sln = FindVSSolutionFile(repo, 4);
356+
var sln = FindVSSolutionFile(new DirectoryInfo(repo), 4);
357357
return string.IsNullOrEmpty(sln) ? $"\"{repo}\"" : $"\"{sln}\"";
358358
}
359359

360-
private string FindVSSolutionFile(string path, int leftDepth)
360+
private string FindVSSolutionFile(DirectoryInfo dir, int leftDepth)
361361
{
362-
var found = Directory.GetFiles(path, "*.sln", SearchOption.TopDirectoryOnly);
363-
if (found != null && found.Length > 0)
364-
return Path.GetFullPath(found[0]);
362+
var files = dir.GetFiles();
363+
foreach (var f in files)
364+
{
365+
if (f.Name.EndsWith(".sln", StringComparison.OrdinalIgnoreCase))
366+
return f.FullName;
367+
}
365368

366369
if (leftDepth <= 0)
367370
return null;
368371

369-
var subfolders = Directory.GetDirectories(path);
370-
foreach (var subfolder in subfolders)
372+
var subDirs = dir.GetDirectories();
373+
foreach (var subDir in subDirs)
371374
{
372-
var first = FindVSSolutionFile(subfolder, leftDepth - 1);
375+
var first = FindVSSolutionFile(subDir, leftDepth - 1);
373376
if (!string.IsNullOrEmpty(first))
374377
return first;
375378
}

0 commit comments

Comments
 (0)