From 5636f70e7bbb15d5cee22616080a4f9c8c2db03c Mon Sep 17 00:00:00 2001 From: Francisco Requena Date: Fri, 28 Jan 2022 13:50:35 +0100 Subject: [PATCH] 0.8.0 --- CHANGELOG.md | 19 +++ .../Analyzers/Microsoft.Unity.Analyzers.dll | Bin 152440 -> 196016 bytes Editor/Discovery.cs | 2 - Editor/ExternalCodeEditor.cs | 10 +- Editor/Postprocessor.cs | 47 ------ Editor/Preferences.cs | 8 +- .../ProjectGeneration/AssemblyNameProvider.cs | 46 +++++- Editor/ProjectGeneration/ProjectGeneration.cs | 150 ++++++++++-------- Editor/ProjectGeneration/README.md | 1 + Editor/ProjectGeneration/README.md.meta | 7 + Editor/ProjectGeneration/StringUtils.cs | 23 +++ .../StringUtils.cs.meta} | 2 +- Editor/RoslynDirectoryCreator.cs | 5 +- package.json | 8 +- 14 files changed, 194 insertions(+), 134 deletions(-) delete mode 100644 Editor/Postprocessor.cs create mode 100644 Editor/ProjectGeneration/README.md create mode 100644 Editor/ProjectGeneration/README.md.meta create mode 100644 Editor/ProjectGeneration/StringUtils.cs rename Editor/{Postprocessor.cs.meta => ProjectGeneration/StringUtils.cs.meta} (83%) diff --git a/CHANGELOG.md b/CHANGELOG.md index d3f9fd0..3c2d2f5 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,22 @@ # Changelog +## [0.8.0] - 2022-01-28 + +### Added +- Matching compiler version up to Unity 2022.1 (C# 9.0). + +### Changed +- Updated Roslyn analyzers to [1.12.0](https://github.com/microsoft/Microsoft.Unity.Analyzers/releases/tag/1.12.0). + +### Removed +- Postprocessor class (.csproj postprocessor). + +### ProjectGenerator (matching [1.2.4](https://github.com/Unity-Technologies/com.unity.ide.vscode/tree/1.2.4/Packages/com.unity.ide.vscode/Editor/ProjectGeneration)) +- Allow for per assembly roslyn analyzers +- Optimize package info look up performance. Reducing project generation time +- Use absolute path for Roslyn analyzers +- Always sync on asset updates + ## [0.7.0] - 2021-04-01 ### Added @@ -119,6 +136,8 @@ - Support for MacVim on macOS. - Support for Sublime Text 3 on macOS. +[0.8.0]: https://github.com/frarees/easyeditor/compare/v0.7.0...v0.8.0 +[0.7.0]: https://github.com/frarees/easyeditor/compare/v0.6.1...v0.7.0 [0.6.1]: https://github.com/frarees/easyeditor/compare/v0.6.0...v0.6.1 [0.6.0]: https://github.com/frarees/easyeditor/compare/v0.5.1...v0.6.0 [0.5.1]: https://github.com/frarees/easyeditor/compare/v0.5.0...v0.5.1 diff --git a/Editor/Analyzers/Microsoft.Unity.Analyzers.dll b/Editor/Analyzers/Microsoft.Unity.Analyzers.dll index 69ad86dda06a4af81b65c5c324a8d23bb058c870..b9390c9223526999fd1794605243289efb9168b4 100644 GIT binary patch literal 196016 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 z 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 W{kUPtRu6+p=XF6z4&)*d!~P$$+X^TE literal 152440 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ⅈ2t42nAYg-5vis}!!1k9xEyFoP5 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 S7WO$O_I&v1#3pAkg!n&MsCrre diff --git a/Editor/Discovery.cs b/Editor/Discovery.cs index 8b65831..83564ef 100644 --- a/Editor/Discovery.cs +++ b/Editor/Discovery.cs @@ -33,13 +33,11 @@ public bool ExportFrameworkPathOverride set => EditorPrefs.SetBool($"EasyEditor.{name}.ExportFrameworkPathOverride", value && !requiresNativeOpen && inheritsEnvironmentVariables); } -#if !UNITY_2020_2_OR_NEWER public bool MatchCompilerVersion { get => EditorPrefs.GetBool($"EasyEditor.{name}.MatchCompilerVersion", true); set => EditorPrefs.SetBool($"EasyEditor.{name}.MatchCompilerVersion", value); } -#endif public string Arguments { diff --git a/Editor/ExternalCodeEditor.cs b/Editor/ExternalCodeEditor.cs index cec2cd9..e9407c5 100644 --- a/Editor/ExternalCodeEditor.cs +++ b/Editor/ExternalCodeEditor.cs @@ -19,9 +19,7 @@ private class Properties public static readonly GUIContent generate = EditorGUIUtility.TrTextContent("Generate"); public static readonly GUIContent clear = EditorGUIUtility.TrTextContent("Clear", "Remove all .sln and .csproj files"); public static readonly GUIContent autoGenerate = EditorGUIUtility.TrTextContent("Generate solution and project files", "Forces .sln and .csproj files to be generated and kept in sync."); -#if !UNITY_2020_2_OR_NEWER public static readonly GUIContent matchCompilerVersion = EditorGUIUtility.TrTextContent("Match compiler version", "When Unity creates or updates .csproj files, it defines LangVersion as 'latest'. This can create inconsistencies with other .NET platforms (e.g. OmniSharp), which could resolve 'latest' as a different version. By matching compiler version, 'latest' will get resolved as " + Preferences.GetLangVersion() + ". "); -#endif public static readonly GUIContent exportFrameworkPathOverride = EditorGUIUtility.TrTextContent("Export FrameworkPathOverride", FrameworkResolver.LastAvailableFrameworkPath != null ? "When invoking the text editor, sets the environment variable FrameworkPathOverride to " + FrameworkResolver.LastAvailableFrameworkPath : string.Empty); public static readonly GUIContent monoInstallationFinderFail = EditorGUIUtility.TrTextContent("Couldn't reflect MonoInstallationFinder members successfully."); @@ -122,7 +120,7 @@ public void OnGUI() EditorGUILayout.HelpBox(discovery.notes, MessageType.Info); } - EditorGUILayout.BeginHorizontal(); + _ = EditorGUILayout.BeginHorizontal(); EditorGUI.BeginChangeCheck(); string arguments = EditorGUILayout.TextField(Properties.arguments, discovery.Arguments); if (EditorGUI.EndChangeCheck()) @@ -137,7 +135,7 @@ public void OnGUI() } EditorGUILayout.EndHorizontal(); - EditorGUILayout.BeginHorizontal(); + _ = EditorGUILayout.BeginHorizontal(); EditorGUI.BeginChangeCheck(); bool autoGenerate = EditorGUILayout.Toggle(Properties.autoGenerate, discovery.AutoGenerate); @@ -179,7 +177,6 @@ public void OnGUI() EditorGUILayout.EndHorizontal(); -#if !UNITY_2020_2_OR_NEWER EditorGUI.BeginChangeCheck(); bool matchCompilerVersion = EditorGUILayout.Toggle(Properties.matchCompilerVersion, discovery.MatchCompilerVersion); if (EditorGUI.EndChangeCheck()) @@ -190,7 +187,6 @@ public void OnGUI() generator.Sync(); } } -#endif EditorGUI.BeginDisabledGroup(!MonoInstallationFinder.IsValid || !discovery.inheritsEnvironmentVariables); @@ -289,6 +285,7 @@ public void SyncAll() { if (discovery.AutoGenerate) { + (generator.AssemblyNameProvider as IPackageInfoCache)?.ResetPackageInfoCache(); AssetDatabase.Refresh(); generator.Sync(); } @@ -301,6 +298,7 @@ public void SyncIfNeeded(string[] addedFiles, string[] deletedFiles, string[] mo { if (discovery.AutoGenerate) { + (generator.AssemblyNameProvider as IPackageInfoCache)?.ResetPackageInfoCache(); _ = generator.SyncIfNeeded(addedFiles.Union(deletedFiles).Union(movedFiles).Union(movedFromFiles).ToList(), importedFiles); } } diff --git a/Editor/Postprocessor.cs b/Editor/Postprocessor.cs deleted file mode 100644 index ff472a7..0000000 --- a/Editor/Postprocessor.cs +++ /dev/null @@ -1,47 +0,0 @@ -namespace EasyEditor -{ - using System.IO; - using System.Xml; - using UnityEditor; -#if !UNITY_2020_2_OR_NEWER - using Unity.CodeEditor; -#endif - - internal class Postprocessor : AssetPostprocessor - { - private static void OnGeneratedCSProjectFiles() - { -#if !UNITY_2020_2_OR_NEWER - if (!Preferences.IsActive) - { - return; - } - - if (Registry.Instance.TryGetDiscoveryFromEditorPath(CodeEditor.CurrentEditorInstallation, out Discovery discovery)) - { - if (discovery.MatchCompilerVersion) - { - WriteLangVersions(); - } - } -#endif - } - -#if !UNITY_2020_2_OR_NEWER - private static void WriteLangVersions() - { - foreach (string path in Directory.GetFiles(Preferences.projectPath, "*.csproj")) - { - XmlDocument document = new XmlDocument(); - document.Load(path); - XmlNamespaceManager ns = new XmlNamespaceManager(document.NameTable); - ns.AddNamespace("msbld", "http://schemas.microsoft.com/developer/msbuild/2003"); - XmlNode node = document.SelectSingleNode("//msbld:LangVersion", ns); - node.LastChild.InnerText = Preferences.GetLangVersion(); - document.Save(path); - } - } -#endif - } -} - diff --git a/Editor/Preferences.cs b/Editor/Preferences.cs index aa5ee4f..66ba8c8 100644 --- a/Editor/Preferences.cs +++ b/Editor/Preferences.cs @@ -19,12 +19,16 @@ static Preferences() public static bool IsActive => CodeEditor.CurrentEditor is ExternalCodeEditor; -#if !UNITY_2020_2_OR_NEWER public static string GetLangVersion() { +#if UNITY_2021_2_OR_NEWER + return "9.0"; +#elif UNITY_2020_2_OR_NEWER + return "8.0"; +#else return "7.3"; - } #endif + } } } diff --git a/Editor/ProjectGeneration/AssemblyNameProvider.cs b/Editor/ProjectGeneration/AssemblyNameProvider.cs index 7e08b40..b49c115 100644 --- a/Editor/ProjectGeneration/AssemblyNameProvider.cs +++ b/Editor/ProjectGeneration/AssemblyNameProvider.cs @@ -22,8 +22,15 @@ public interface IAssemblyNameProvider void ToggleProjectGeneration(ProjectGenerationFlag preference); } - internal class AssemblyNameProvider : IAssemblyNameProvider + internal interface IPackageInfoCache { + void ResetPackageInfoCache(); + } + + internal class AssemblyNameProvider : IAssemblyNameProvider, IPackageInfoCache + { + private readonly Dictionary m_PackageInfoCache = new Dictionary(); + ProjectGenerationFlag m_ProjectGenerationFlag = (ProjectGenerationFlag)EditorPrefs.GetInt("unity_project_generation_flag", 0); public string[] ProjectSupportedExtensions => EditorSettings.projectGenerationUserExtensions; @@ -54,9 +61,44 @@ public IEnumerable GetAllAssetPaths() return AssetDatabase.GetAllAssetPaths(); } + private static string ResolvePotentialParentPackageAssetPath(string assetPath) + { + const string packagesPrefix = "packages/"; + if (!assetPath.StartsWith(packagesPrefix, StringComparison.OrdinalIgnoreCase)) + { + return null; + } + + var followupSeparator = assetPath.IndexOf('/', packagesPrefix.Length); + if (followupSeparator == -1) + { + return assetPath.ToLowerInvariant(); + } + + return assetPath.Substring(0, followupSeparator).ToLowerInvariant(); + } + + public void ResetPackageInfoCache() + { + m_PackageInfoCache.Clear(); + } + public UnityEditor.PackageManager.PackageInfo FindForAssetPath(string assetPath) { - return UnityEditor.PackageManager.PackageInfo.FindForAssetPath(assetPath); + var parentPackageAssetPath = ResolvePotentialParentPackageAssetPath(assetPath); + if (parentPackageAssetPath == null) + { + return null; + } + + if (m_PackageInfoCache.TryGetValue(parentPackageAssetPath, out var cachedPackageInfo)) + { + return cachedPackageInfo; + } + + var result = UnityEditor.PackageManager.PackageInfo.FindForAssetPath(parentPackageAssetPath); + m_PackageInfoCache[parentPackageAssetPath] = result; + return result; } public ResponseFileData ParseResponseFile(string responseFilePath, string projectDirectory, string[] systemReferenceDirectories) diff --git a/Editor/ProjectGeneration/ProjectGeneration.cs b/Editor/ProjectGeneration/ProjectGeneration.cs index 54d0299..314ee1f 100644 --- a/Editor/ProjectGeneration/ProjectGeneration.cs +++ b/Editor/ProjectGeneration/ProjectGeneration.cs @@ -109,9 +109,9 @@ enum ScriptingLanguage { "raytrace", ScriptingLanguage.None } }; - string m_SolutionProjectEntryTemplate = string.Join("\r\n", @"Project(""{{{0}}}"") = ""{1}"", ""{2}"", ""{{{3}}}""", @"EndProject").Replace(" ", "\t"); + readonly string m_SolutionProjectEntryTemplate = string.Join("\r\n", @"Project(""{{{0}}}"") = ""{1}"", ""{2}"", ""{{{3}}}""", @"EndProject").Replace(" ", "\t"); - string m_SolutionProjectConfigurationTemplate = string.Join("\r\n", @" {{{0}}}.Debug|Any CPU.ActiveCfg = Debug|Any CPU", @" {{{0}}}.Debug|Any CPU.Build.0 = Debug|Any CPU").Replace(" ", "\t"); + readonly string m_SolutionProjectConfigurationTemplate = string.Join("\r\n", @" {{{0}}}.Debug|Any CPU.ActiveCfg = Debug|Any CPU", @" {{{0}}}.Debug|Any CPU.Build.0 = Debug|Any CPU").Replace(" ", "\t"); static readonly string[] k_ReimportSyncExtensions = { ".dll", ".asmdef" }; @@ -150,7 +150,7 @@ public ProjectGeneration(string tempDirectory) public ProjectGeneration(string tempDirectory, IAssemblyNameProvider assemblyNameProvider, IFileIO fileIO, IGUIDGenerator guidGenerator) { - ProjectDirectory = tempDirectory.Replace('\\', '/'); + ProjectDirectory = tempDirectory.NormalizePath(); m_ProjectName = Path.GetFileName(ProjectDirectory); m_AssemblyNameProvider = assemblyNameProvider; m_FileIOProvider = fileIO; @@ -174,34 +174,32 @@ public bool SyncIfNeeded(List affectedFiles, string[] reimportedFiles) Profiler.BeginSample("SolutionSynchronizerSync"); SetupProjectSupportedExtensions(); - // Don't sync if we haven't synced before - if (SolutionExists() && HasFilesBeenModified(affectedFiles, reimportedFiles)) + if (!HasFilesBeenModified(affectedFiles, reimportedFiles)) { - var assemblies = m_AssemblyNameProvider.GetAssemblies(ShouldFileBePartOfSolution); - var allProjectAssemblies = RelevantAssembliesForMode(assemblies).ToList(); - SyncSolution(allProjectAssemblies); + Profiler.EndSample(); + return false; + } - var allAssetProjectParts = GenerateAllAssetProjectParts(); + var assemblies = m_AssemblyNameProvider.GetAssemblies(ShouldFileBePartOfSolution); + var allProjectAssemblies = RelevantAssembliesForMode(assemblies).ToList(); + SyncSolution(allProjectAssemblies); - var affectedNames = affectedFiles.Select(asset => m_AssemblyNameProvider.GetAssemblyNameFromScriptPath(asset)).Where(name => !string.IsNullOrWhiteSpace(name)).Select(name => name.Split(new [] {".dll"}, StringSplitOptions.RemoveEmptyEntries)[0]); - var reimportedNames = reimportedFiles.Select(asset => m_AssemblyNameProvider.GetAssemblyNameFromScriptPath(asset)).Where(name => !string.IsNullOrWhiteSpace(name)).Select(name => name.Split(new [] {".dll"}, StringSplitOptions.RemoveEmptyEntries)[0]); - var affectedAndReimported = new HashSet(affectedNames.Concat(reimportedNames)); - var assemblyNames = new HashSet(allProjectAssemblies.Select(assembly => Path.GetFileName(assembly.outputPath))); + var allAssetProjectParts = GenerateAllAssetProjectParts(); - foreach (var assembly in allProjectAssemblies) - { - if (!affectedAndReimported.Contains(assembly.name)) - continue; + var affectedNames = affectedFiles.Select(asset => m_AssemblyNameProvider.GetAssemblyNameFromScriptPath(asset)).Where(name => !string.IsNullOrWhiteSpace(name)).Select(name => name.Split(new[] { ".dll" }, StringSplitOptions.RemoveEmptyEntries)[0]); + var reimportedNames = reimportedFiles.Select(asset => m_AssemblyNameProvider.GetAssemblyNameFromScriptPath(asset)).Where(name => !string.IsNullOrWhiteSpace(name)).Select(name => name.Split(new[] { ".dll" }, StringSplitOptions.RemoveEmptyEntries)[0]); + var affectedAndReimported = new HashSet(affectedNames.Concat(reimportedNames)); - SyncProject(assembly, allAssetProjectParts, ParseResponseFileData(assembly), assemblyNames); - } + foreach (var assembly in allProjectAssemblies) + { + if (!affectedAndReimported.Contains(assembly.name)) + continue; - Profiler.EndSample(); - return true; + SyncProject(assembly, allAssetProjectParts, ParseResponseFileData(assembly)); } Profiler.EndSample(); - return false; + return true; } bool HasFilesBeenModified(List affectedFiles, string[] reimportedFiles) @@ -293,17 +291,16 @@ public void GenerateAndWriteSolutionAndProjects() { // Only synchronize assemblies that have associated source files and ones that we actually want in the project. // This also filters out DLLs coming from .asmdef files in packages. - var assemblies = m_AssemblyNameProvider.GetAssemblies(ShouldFileBePartOfSolution); + var assemblies = m_AssemblyNameProvider.GetAssemblies(ShouldFileBePartOfSolution).ToArray(); var allAssetProjectParts = GenerateAllAssetProjectParts(); SyncSolution(assemblies); var allProjectAssemblies = RelevantAssembliesForMode(assemblies).ToList(); - var assemblyNames = new HashSet(allProjectAssemblies.Select(assembly => Path.GetFileName(assembly.outputPath))); foreach (Assembly assembly in allProjectAssemblies) { var responseFileData = ParseResponseFileData(assembly); - SyncProject(assembly, allAssetProjectParts, responseFileData, assemblyNames); + SyncProject(assembly, allAssetProjectParts, responseFileData); } WriteVSCodeSettingsFiles(); @@ -325,10 +322,10 @@ List ParseResponseFileData(Assembly assembly) if (responseFilesWithErrors.Any()) { foreach (var error in responseFilesWithErrors) - foreach (var valueError in error.Value.Errors) - { - Debug.LogError($"{error.Key} Parse Error : {valueError}"); - } + foreach (var valueError in error.Value.Errors) + { + Debug.LogError($"{error.Key} Parse Error : {valueError}"); + } } return responseFilesData.Select(x => x.Value).ToList(); @@ -381,15 +378,9 @@ Dictionary GenerateAllAssetProjectParts() void SyncProject( Assembly assembly, Dictionary allAssetsProjectParts, - List responseFilesData, - HashSet assemblyNames) - { - SyncProjectFileIfNotChanged(ProjectFile(assembly), ProjectText(assembly, allAssetsProjectParts, responseFilesData, assemblyNames, GetAllRoslynAnalyzerPaths().ToArray())); - } - - private IEnumerable GetAllRoslynAnalyzerPaths() + List responseFilesData) { - return m_AssemblyNameProvider.GetRoslynAnalyzerPaths(); + SyncProjectFileIfNotChanged(ProjectFile(assembly), ProjectText(assembly, allAssetsProjectParts, responseFilesData)); } void SyncProjectFileIfNotChanged(string path, string newContents) @@ -420,12 +411,10 @@ void SyncFileIfNotChanged(string filename, string newContents) string ProjectText( Assembly assembly, Dictionary allAssetsProjectParts, - List responseFilesData, - HashSet assemblyNames, - string[] roslynAnalyzerDllPaths) + List responseFilesData) { var projectBuilder = new StringBuilder(); - ProjectHeader(assembly, responseFilesData, roslynAnalyzerDllPaths, projectBuilder); + ProjectHeader(assembly, responseFilesData, projectBuilder); var references = new List(); foreach (string file in assembly.sourceFiles) @@ -456,8 +445,7 @@ string ProjectText( assembly.compiledAssemblyReferences .Union(responseRefs) .Union(references) - .Union(internalAssemblyReferences) - .Except(roslynAnalyzerDllPaths); + .Union(internalAssemblyReferences); foreach (var reference in allReferences) { @@ -471,8 +459,6 @@ string ProjectText( projectBuilder.Append(" ").Append(k_WindowsNewline); foreach (Assembly reference in assembly.assemblyReferences.Where(i => i.sourceFiles.Any(ShouldFileBePartOfSolution))) { - var referencedProject = reference.outputPath; - projectBuilder.Append(" ").Append(k_WindowsNewline); projectBuilder.Append(" {").Append(ProjectGuid(reference.name)).Append("}").Append(k_WindowsNewline); projectBuilder.Append(" ").Append(reference.name).Append("").Append(k_WindowsNewline); @@ -510,7 +496,6 @@ public string SolutionFile() void ProjectHeader( Assembly assembly, List responseFilesData, - string[] roslynAnalyzerDllPaths, StringBuilder builder ) { @@ -521,11 +506,26 @@ StringBuilder builder assembly.name, string.Join(";", new[] { "DEBUG", "TRACE" }.Concat(assembly.defines).Concat(responseFilesData.SelectMany(x => x.Defines)).Concat(EditorUserBuildSettings.activeScriptCompilationDefines).Distinct().ToArray()), assembly.compilerOptions.AllowUnsafeCode | responseFilesData.Any(x => x.Unsafe), - GenerateAnalyserItemGroup(otherArguments["analyzer"].Concat(otherArguments["a"]) - .SelectMany(x => x.Split(';')) - .Concat(roslynAnalyzerDllPaths) - .Distinct() - .ToArray())); + CreateAnalyzerBlock(otherArguments, assembly)); + } + + string CreateAnalyzerBlock(ILookup otherArguments, Assembly assembly) + { + return GenerateAnalyserItemGroup(otherArguments["analyzer"].Concat(otherArguments["a"]) + .SelectMany(x => x.Split(';')) +#if UNITY_2020_2_OR_NEWER + .Concat(assembly.compilerOptions.RoslynAnalyzerDllPaths) +#else + .Concat(m_AssemblyNameProvider.GetRoslynAnalyzerPaths()) +#endif + .Distinct() + .Select(path => MakeAbsolutePath(path, ProjectDirectory).NormalizePath()) + .ToArray()); + } + + private static string MakeAbsolutePath(string path, string projectDirectory) + { + return Path.IsPathRooted(path) ? path : Path.Combine(projectDirectory, path); } private static ILookup GetOtherArgumentsFromResponseFilesData(List responseFilesData) @@ -543,12 +543,9 @@ private static ILookup GetOtherArgumentsFromResponseFilesData(Li } const string warnaserror = "warnaserror"; - if (b.Substring(1).StartsWith(warnaserror)) - { - return new KeyValuePair(warnaserror, b.Substring(warnaserror.Length + 1)); - } - - return default; + return b.Substring(1).StartsWith(warnaserror) + ? new KeyValuePair(warnaserror, b.Substring(warnaserror.Length + 1)) + : default; }); }) .Distinct() @@ -585,6 +582,24 @@ static string GetProjectFooterTemplate() return string.Join("\r\n", @" ", @" ", @" ", @"", @""); } + static string GetTargetLanguageVersion() + { + if (!Preferences.IsActive) + { + return k_TargetLanguageVersion; + } + + if (Registry.Instance.TryGetDiscoveryFromEditorPath(Unity.CodeEditor.CodeEditor.CurrentEditorInstallation, out Discovery discovery)) + { + if (discovery.MatchCompilerVersion) + { + return Preferences.GetLangVersion(); + } + } + + return k_TargetLanguageVersion; + } + static void GetProjectHeaderTemplate( StringBuilder builder, string assemblyGUID, @@ -597,10 +612,12 @@ string analyzerBlock string cscToolPath = Path.Combine(EditorApplication.applicationContentsPath, "Tools", "RoslynScripts"); string cscToolExe = Application.platform == RuntimePlatform.WindowsEditor ? "unity_csc.bat" : "unity_csc.sh"; + var targetLanguageVersion = + builder.Append(@"").Append(k_WindowsNewline); builder.Append(@"").Append(k_WindowsNewline); builder.Append(@" ").Append(k_WindowsNewline); - builder.Append(@" ").Append(k_TargetLanguageVersion).Append("").Append(k_WindowsNewline); + builder.Append(@" ").Append(GetTargetLanguageVersion()).Append("").Append(k_WindowsNewline); builder.Append(@" ").Append(cscToolPath).Append("").Append(k_WindowsNewline); builder.Append(@" ").Append(cscToolExe).Append("").Append(k_WindowsNewline); builder.Append(@" ").Append(k_WindowsNewline); @@ -690,16 +707,16 @@ string GetProjectActiveConfigurations(string projectGuid) string EscapedRelativePathFor(string file) { - var projectDir = ProjectDirectory.Replace('/', '\\'); - file = file.Replace('/', '\\'); + var projectDir = ProjectDirectory.NormalizePath(); + file = file.NormalizePath(); var path = SkipPathPrefix(file, projectDir); - var packageInfo = m_AssemblyNameProvider.FindForAssetPath(path.Replace('\\', '/')); + var packageInfo = m_AssemblyNameProvider.FindForAssetPath(path.NormalizePath()); if (packageInfo != null) { // We have to normalize the path, because the PackageManagerRemapper assumes // dir seperators will be os specific. - var absolutePath = Path.GetFullPath(NormalizePath(path)).Replace('/', '\\'); + var absolutePath = Path.GetFullPath(path).NormalizePath(); path = SkipPathPrefix(absolutePath, projectDir); } @@ -708,7 +725,7 @@ string EscapedRelativePathFor(string file) static string SkipPathPrefix(string path, string prefix) { - if (path.StartsWith($@"{prefix}\")) + if (path.StartsWith($@"{prefix}{Path.DirectorySeparatorChar}")) return path.Substring(prefix.Length + 1); return path; } @@ -765,12 +782,7 @@ public static string GuidForProject(string projectName) public static string GuidForSolution(string projectName, string sourceFileExtension) { - if (sourceFileExtension.ToLower() == "cs") - - // GUID for a C# class library: http://www.codeproject.com/Reference/720512/List-of-Visual-Studio-Project-Type-GUIDs - return "FAE04EC0-301F-11D3-BF4B-00C04F79EFBC"; - - return ComputeGuidHashFor(projectName); + return "FAE04EC0-301F-11D3-BF4B-00C04F79EFBC"; } static string ComputeGuidHashFor(string input) diff --git a/Editor/ProjectGeneration/README.md b/Editor/ProjectGeneration/README.md new file mode 100644 index 0000000..3c00100 --- /dev/null +++ b/Editor/ProjectGeneration/README.md @@ -0,0 +1 @@ +Forked from [com.unity.ide.vscode@1.2.4](https://github.com/Unity-Technologies/com.unity.ide.vscode/tree/1.2.4/Packages/com.unity.ide.vscode/Editor/ProjectGeneration). diff --git a/Editor/ProjectGeneration/README.md.meta b/Editor/ProjectGeneration/README.md.meta new file mode 100644 index 0000000..6c869af --- /dev/null +++ b/Editor/ProjectGeneration/README.md.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 718d4fa3c20e240cc8625723e428846a +TextScriptImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Editor/ProjectGeneration/StringUtils.cs b/Editor/ProjectGeneration/StringUtils.cs new file mode 100644 index 0000000..f25f969 --- /dev/null +++ b/Editor/ProjectGeneration/StringUtils.cs @@ -0,0 +1,23 @@ +using System.IO; + +namespace EasyEditor +{ + internal static class StringUtils + { + private const char WinSeparator = '\\'; + private const char UnixSeparator = '/'; + + public static string NormalizePath(this string path) + { + if (string.IsNullOrEmpty(path)) + return path; + + if (Path.DirectorySeparatorChar == WinSeparator) + path = path.Replace(UnixSeparator, WinSeparator); + if (Path.DirectorySeparatorChar == UnixSeparator) + path = path.Replace(WinSeparator, UnixSeparator); + + return path.Replace(string.Concat(WinSeparator, WinSeparator), WinSeparator.ToString()); + } + } +} diff --git a/Editor/Postprocessor.cs.meta b/Editor/ProjectGeneration/StringUtils.cs.meta similarity index 83% rename from Editor/Postprocessor.cs.meta rename to Editor/ProjectGeneration/StringUtils.cs.meta index 3767455..54e1d1f 100644 --- a/Editor/Postprocessor.cs.meta +++ b/Editor/ProjectGeneration/StringUtils.cs.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: 373a682226de143beaea6ba208f2b9f2 +guid: d6a7f2c71d070473788bb74e2dc10f7d MonoImporter: externalObjects: {} serializedVersion: 2 diff --git a/Editor/RoslynDirectoryCreator.cs b/Editor/RoslynDirectoryCreator.cs index a0b6a05..21f3016 100644 --- a/Editor/RoslynDirectoryCreator.cs +++ b/Editor/RoslynDirectoryCreator.cs @@ -10,7 +10,10 @@ namespace EasyEditor [InitializeOnLoad] internal static class RoslynDirectoryCreator { - static RoslynDirectoryCreator() => Application.logMessageReceivedThreaded += OnLogMessageReceived; + static RoslynDirectoryCreator() + { + Application.logMessageReceivedThreaded += OnLogMessageReceived; + } private static void OnLogMessageReceived(string message, string stackTrace, LogType logType) { diff --git a/package.json b/package.json index dd02451..e037c9e 100644 --- a/package.json +++ b/package.json @@ -1,12 +1,12 @@ { "name": "com.frarees.easyeditor", - "version": "0.7.0", + "version": "0.8.0", "displayName": "Easy Editor", "description": "Support external editors with ease.", "unity": "2020.1", - "documentationUrl": "https://github.com/frarees/easyeditor/tree/v0.7.0", - "changelogUrl": "https://github.com/frarees/easyeditor/blob/v0.7.0/CHANGELOG.md", - "licensesUrl": "https://github.com/frarees/easyeditor/blob/v0.7.0/LICENSE.md", + "documentationUrl": "https://github.com/frarees/easyeditor/tree/v0.8.0", + "changelogUrl": "https://github.com/frarees/easyeditor/blob/v0.8.0/CHANGELOG.md", + "licensesUrl": "https://github.com/frarees/easyeditor/blob/v0.8.0/LICENSE.md", "keywords": [ "editor" ],