com.unity.ide.visualstudio@2.0.3

## [2.0.3] - 2020-09-09

Project generation:

Added C#8 language support.
Added UnityProjectGeneratorVersion property.
Local and Embedded packages are now selected by default for generation.
Added support for asmdef root namespace.

Integration:

When the user disabled auto-refresh in Unity, do not try to force refresh the Asset database.
Fix Visual Studio detection issues with languages using special characters.
This commit is contained in:
Unity Technologies
2020-09-09 00:00:00 +00:00
parent fc2dc75d11
commit 32027b422b
7 changed files with 81 additions and 27 deletions

View File

@@ -25,7 +25,9 @@ namespace Microsoft.Unity.VisualStudio.Editor
public class AssemblyNameProvider : IAssemblyNameProvider
{
ProjectGenerationFlag m_ProjectGenerationFlag = (ProjectGenerationFlag)EditorPrefs.GetInt("unity_project_generation_flag", 0);
ProjectGenerationFlag m_ProjectGenerationFlag = (ProjectGenerationFlag)EditorPrefs.GetInt(
"unity_project_generation_flag",
(int)(ProjectGenerationFlag.Local | ProjectGenerationFlag.Embedded));
public string[] ProjectSupportedExtensions => EditorSettings.projectGenerationUserExtensions;
@@ -52,15 +54,24 @@ namespace Microsoft.Unity.VisualStudio.Editor
{
if (assembly.sourceFiles.Any(shouldFileBePartOfSolution))
{
yield return new Assembly(assembly.name, @"Temp\Bin\Debug\", assembly.sourceFiles, new[] { "DEBUG", "TRACE" }.Concat(assembly.defines).Concat(EditorUserBuildSettings.activeScriptCompilationDefines).ToArray(), assembly.assemblyReferences, assembly.compiledAssemblyReferences, assembly.flags)
{
compilerOptions =
{
ResponseFiles = assembly.compilerOptions.ResponseFiles,
AllowUnsafeCode = assembly.compilerOptions.AllowUnsafeCode,
ApiCompatibilityLevel = assembly.compilerOptions.ApiCompatibilityLevel
}
var options = new ScriptCompilerOptions()
{
ResponseFiles = assembly.compilerOptions.ResponseFiles,
AllowUnsafeCode = assembly.compilerOptions.AllowUnsafeCode,
ApiCompatibilityLevel = assembly.compilerOptions.ApiCompatibilityLevel
};
yield return new Assembly(assembly.name, @"Temp\Bin\Debug\",
assembly.sourceFiles, new[] { "DEBUG", "TRACE" }.Concat(assembly.defines).Concat(EditorUserBuildSettings.activeScriptCompilationDefines).ToArray(),
assembly.assemblyReferences,
assembly.compiledAssemblyReferences,
assembly.flags,
#if UNITY_2020_2_OR_NEWER
options,
assembly.rootNamespace);
#else
options);
#endif
}
}
@@ -68,15 +79,25 @@ namespace Microsoft.Unity.VisualStudio.Editor
{
foreach (var assembly in CompilationPipeline.GetAssemblies(AssembliesType.Player).Where(assembly => assembly.sourceFiles.Any(shouldFileBePartOfSolution)))
{
yield return new Assembly(assembly.name, @"Temp\Bin\Debug\Player\", assembly.sourceFiles, new[] { "DEBUG", "TRACE" }.Concat(assembly.defines).ToArray(), assembly.assemblyReferences, assembly.compiledAssemblyReferences, assembly.flags)
{
compilerOptions =
{
ResponseFiles = assembly.compilerOptions.ResponseFiles,
AllowUnsafeCode = assembly.compilerOptions.AllowUnsafeCode,
ApiCompatibilityLevel = assembly.compilerOptions.ApiCompatibilityLevel
}
var options = new ScriptCompilerOptions()
{
ResponseFiles = assembly.compilerOptions.ResponseFiles,
AllowUnsafeCode = assembly.compilerOptions.AllowUnsafeCode,
ApiCompatibilityLevel = assembly.compilerOptions.ApiCompatibilityLevel
};
yield return new Assembly(assembly.name, @"Temp\Bin\Debug\Player\",
assembly.sourceFiles,
new[] { "DEBUG", "TRACE" }.Concat(assembly.defines).ToArray(),
assembly.assemblyReferences,
assembly.compiledAssemblyReferences,
assembly.flags,
#if UNITY_2020_2_OR_NEWER
options,
assembly.rootNamespace);
#else
options);
#endif
}
}
}