Merge pull request #42019 from neikeq/issue-41909

C#: Fix csproj not synced on file move/removal from FS dock
This commit is contained in:
Rémi Verschelde 2020-09-13 08:11:04 +02:00 committed by GitHub
commit f5c6079404
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 13 additions and 2 deletions

View File

@ -1,6 +1,7 @@
using System;
using System.Collections.Generic;
using System.IO;
using System.Runtime.InteropServices;
namespace GodotTools.Core
{
@ -35,7 +36,17 @@ namespace GodotTools.Core
path = string.Join(Path.DirectorySeparatorChar.ToString(), parts).Trim();
return rooted ? Path.DirectorySeparatorChar + path : path;
if (!rooted)
return path;
if (RuntimeInformation.IsOSPlatform(OSPlatform.Windows))
{
string maybeDrive = parts[0];
if (maybeDrive.Length == 2 && maybeDrive[1] == ':')
return path; // Already has drive letter
}
return Path.DirectorySeparatorChar + path;
}
private static readonly string DriveRoot = Path.GetPathRoot(Environment.CurrentDirectory);
@ -49,7 +60,7 @@ namespace GodotTools.Core
public static string ToSafeDirName(this string dirName, bool allowDirSeparator = false)
{
var invalidChars = new List<string> { ":", "*", "?", "\"", "<", ">", "|" };
var invalidChars = new List<string> {":", "*", "?", "\"", "<", ">", "|"};
if (allowDirSeparator)
{