Skip to content

Commit 1ae1f9f

Browse files
sailroGitHub Enterprise
authored andcommitted
Merge pull request #172 from unity/version-2.0.20
2.0.20
2 parents c70aa29 + 9e13fff commit 1ae1f9f

File tree

7 files changed

+51
-23
lines changed

7 files changed

+51
-23
lines changed

Packages/com.unity.ide.visualstudio.tests/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
"name": "com.unity.ide.visualstudio.tests",
44
"displayName": "Visual Studio Editor",
55
"description": "Code editor integration for supporting Visual Studio as code editor for unity. Adds support for generating csproj files for intellisense purposes, auto discovery of installations, etc.",
6-
"version": "2.0.18",
6+
"version": "2.0.19",
77
"unity": "2019.4",
88
"unityRelease": "25f1",
99
"dependencies": {

Packages/com.unity.ide.visualstudio/CHANGELOG.md

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,17 @@
11
# Code Editor Package for Visual Studio
22

3+
## [2.0.19] - 2023-06-14
4+
5+
Integration:
6+
7+
- Add support for Visual Studio Code.
8+
9+
Project generation:
10+
11+
- Add support for Sdk Style poject generation.
12+
- Fix an issue related to missing properties with 2021.3.
13+
14+
315
## [2.0.18] - 2023-03-17
416

517
Integration:

Packages/com.unity.ide.visualstudio/Editor/ProjectGeneration/AssemblyNameProvider.cs

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,13 @@ public class AssemblyNameProvider : IAssemblyNameProvider
4040

4141
public string ProjectGenerationRootNamespace => EditorSettings.projectGenerationRootNamespace;
4242

43-
public virtual ProjectGenerationFlag ProjectGenerationFlag
43+
public ProjectGenerationFlag ProjectGenerationFlag
44+
{
45+
get { return ProjectGenerationFlagImpl; }
46+
private set { ProjectGenerationFlagImpl = value;}
47+
}
48+
49+
internal virtual ProjectGenerationFlag ProjectGenerationFlagImpl
4450
{
4551
get => m_ProjectGenerationFlag;
4652
private set

Packages/com.unity.ide.visualstudio/Editor/ProjectGeneration/LegacyStyleProjectGeneration.cs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ internal override void GetProjectHeader(ProjectProperties properties, out String
3030

3131
//Header
3232
headerBuilder.Append(@"<?xml version=""1.0"" encoding=""utf-8""?>").Append(k_WindowsNewline);
33-
headerBuilder.Append(@"<Project ToolsVersion=""4.0"" DefaultTargets=""Build"" xmlns=""http://schemas.microsoft.com/developer/msbuild/2003"">").Append(k_WindowsNewline);
33+
headerBuilder.Append($@"<Project ToolsVersion=""4.0"" DefaultTargets=""Build"" xmlns=""{MSBuildNamespaceUri}"">").Append(k_WindowsNewline);
3434
headerBuilder.Append(@" <!-- Generated file, do not modify, your changes will be overwritten (use AssetPostprocessor.OnGeneratedCSProject) -->").Append(k_WindowsNewline);
3535
headerBuilder.Append(@" <PropertyGroup>").Append(k_WindowsNewline);
3636
headerBuilder.Append(@" <LangVersion>").Append(properties.LangVersion).Append(@"</LangVersion>").Append(k_WindowsNewline);
@@ -68,7 +68,7 @@ internal override void GetProjectHeader(ProjectProperties properties, out String
6868
GetProjectHeaderAnalyzers(properties, headerBuilder);
6969
}
7070

71-
protected override void AppendProjectReference(Assembly assembly, Assembly reference, StringBuilder projectBuilder)
71+
internal override void AppendProjectReference(Assembly assembly, Assembly reference, StringBuilder projectBuilder)
7272
{
7373
// If the current assembly is a Player project, we want to project-reference the corresponding Player project
7474
var referenceName = m_AssemblyNameProvider.GetAssemblyName(assembly.outputPath, reference.name);
@@ -79,7 +79,7 @@ protected override void AppendProjectReference(Assembly assembly, Assembly refer
7979
projectBuilder.Append(" </ProjectReference>").Append(k_WindowsNewline);
8080
}
8181

82-
protected override void GetProjectFooter(StringBuilder footerBuilder)
82+
internal override void GetProjectFooter(StringBuilder footerBuilder)
8383
{
8484
footerBuilder.Append(string.Join(k_WindowsNewline,
8585
@" <Import Project=""$(MSBuildToolsPath)\Microsoft.CSharp.targets"" />",

Packages/com.unity.ide.visualstudio/Editor/ProjectGeneration/ProjectGeneration.cs

Lines changed: 23 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -37,13 +37,16 @@ public interface IGenerator
3737
IAssemblyNameProvider AssemblyNameProvider { get; }
3838
}
3939

40-
public abstract class ProjectGeneration : IGenerator
40+
public class ProjectGeneration : IGenerator
4141
{
42+
// do not remove because of the Validation API, used in LegacyStyleProjectGeneration
43+
public static readonly string MSBuildNamespaceUri = "http://schemas.microsoft.com/developer/msbuild/2003";
44+
4245
public IAssemblyNameProvider AssemblyNameProvider => m_AssemblyNameProvider;
4346
public string ProjectDirectory { get; }
4447

4548
// Use this to have the same newline ending on all platforms for consistency.
46-
protected const string k_WindowsNewline = "\r\n";
49+
internal const string k_WindowsNewline = "\r\n";
4750

4851
const string m_SolutionProjectEntryTemplate = @"Project(""{{{0}}}"") = ""{1}"", ""{2}"", ""{{{3}}}""{4}EndProject";
4952

@@ -59,7 +62,7 @@ public abstract class ProjectGeneration : IGenerator
5962
HashSet<string> m_BuiltinSupportedExtensions = new HashSet<string>();
6063

6164
readonly string m_ProjectName;
62-
protected readonly IAssemblyNameProvider m_AssemblyNameProvider;
65+
internal readonly IAssemblyNameProvider m_AssemblyNameProvider;
6366
readonly IFileIO m_FileIOProvider;
6467
readonly IGUIDGenerator m_GUIDGenerator;
6568
bool m_ShouldGenerateAll;
@@ -358,13 +361,13 @@ private Dictionary<string, string> GenerateAllAssetProjectParts()
358361
return result;
359362
}
360363

361-
protected enum IncludeAssetTag
364+
internal enum IncludeAssetTag
362365
{
363366
Compile,
364367
None
365368
}
366369

367-
protected virtual void IncludeAsset(StringBuilder builder, IncludeAssetTag tag, string asset)
370+
internal virtual void IncludeAsset(StringBuilder builder, IncludeAssetTag tag, string asset)
368371
{
369372
var filename = EscapedRelativePathFor(asset, out var packageInfo);
370373

@@ -574,7 +577,9 @@ private static string XmlEscape(string s)
574577
return SecurityElement.Escape(s);
575578
}
576579

577-
protected abstract void AppendProjectReference(Assembly assembly, Assembly reference, StringBuilder projectBuilder);
580+
internal virtual void AppendProjectReference(Assembly assembly, Assembly reference, StringBuilder projectBuilder)
581+
{
582+
}
578583

579584
private void AppendReference(string fullReference, StringBuilder projectBuilder)
580585
{
@@ -751,7 +756,10 @@ private static ProjectType ProjectTypeOf(string fileName)
751756
return ProjectType.Game;
752757
}
753758

754-
internal abstract void GetProjectHeader(ProjectProperties properties, out StringBuilder headerBuilder);
759+
internal virtual void GetProjectHeader(ProjectProperties properties, out StringBuilder headerBuilder)
760+
{
761+
headerBuilder = default;
762+
}
755763

756764
internal static void GetProjectHeaderConfigurations(ProjectProperties properties, StringBuilder headerBuilder)
757765
{
@@ -832,7 +840,9 @@ internal static void GetProjectHeaderVstuFlavoring(ProjectProperties properties,
832840
headerBuilder.Append(@" </PropertyGroup>").Append(k_WindowsNewline);
833841
}
834842

835-
protected abstract void GetProjectFooter(StringBuilder footerBuilder);
843+
internal virtual void GetProjectFooter(StringBuilder footerBuilder)
844+
{
845+
}
836846

837847
private static string GetSolutionText()
838848
{
@@ -978,7 +988,7 @@ private string GetProjectActiveConfigurations(string projectGuid)
978988
projectGuid);
979989
}
980990

981-
protected string EscapedRelativePathFor(string file, out UnityEditor.PackageManager.PackageInfo packageInfo)
991+
internal string EscapedRelativePathFor(string file, out UnityEditor.PackageManager.PackageInfo packageInfo)
982992
{
983993
var projectDir = ProjectDirectory.NormalizePathSeparators();
984994
file = file.NormalizePathSeparators();
@@ -996,24 +1006,24 @@ protected string EscapedRelativePathFor(string file, out UnityEditor.PackageMana
9961006
return XmlFilename(path);
9971007
}
9981008

999-
protected static string SkipPathPrefix(string path, string prefix)
1009+
internal static string SkipPathPrefix(string path, string prefix)
10001010
{
10011011
if (path.StartsWith($"{prefix}{Path.DirectorySeparatorChar}") && (path.Length > prefix.Length))
10021012
return path.Substring(prefix.Length + 1);
10031013
return path;
10041014
}
10051015

1006-
protected static string GetProjectExtension()
1016+
internal static string GetProjectExtension()
10071017
{
10081018
return ".csproj";
10091019
}
10101020

1011-
protected string ProjectGuid(string assemblyName)
1021+
internal string ProjectGuid(string assemblyName)
10121022
{
10131023
return m_GUIDGenerator.ProjectGuid(m_ProjectName, assemblyName);
10141024
}
10151025

1016-
protected string ProjectGuid(Assembly assembly)
1026+
internal string ProjectGuid(Assembly assembly)
10171027
{
10181028
return ProjectGuid(m_AssemblyNameProvider.GetAssemblyName(assembly.outputPath, assembly.name));
10191029
}

Packages/com.unity.ide.visualstudio/Editor/ProjectGeneration/SdkStyleProjectGeneration.cs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ internal class SdkStyleProjectGeneration : ProjectGeneration
1616
internal class SdkStyleAssemblyNameProvider : AssemblyNameProvider
1717
{
1818
// disable PlayerGeneration with SdkStyle projects
19-
public override ProjectGenerationFlag ProjectGenerationFlag => base.ProjectGenerationFlag & ~ProjectGenerationFlag.PlayerAssemblies;
19+
internal override ProjectGenerationFlag ProjectGenerationFlagImpl => base.ProjectGenerationFlagImpl & ~ProjectGenerationFlag.PlayerAssemblies;
2020
}
2121

2222
public SdkStyleProjectGeneration() : base(
@@ -67,14 +67,14 @@ internal override void GetProjectHeader(ProjectProperties properties, out String
6767
GetProjectHeaderAnalyzers(properties, headerBuilder);
6868
}
6969

70-
protected override void AppendProjectReference(Assembly assembly, Assembly reference, StringBuilder projectBuilder)
70+
internal override void AppendProjectReference(Assembly assembly, Assembly reference, StringBuilder projectBuilder)
7171
{
7272
// If the current assembly is a Player project, we want to project-reference the corresponding Player project
7373
var referenceName = m_AssemblyNameProvider.GetAssemblyName(assembly.outputPath, reference.name);
7474
projectBuilder.Append(@" <ProjectReference Include=""").Append(referenceName).Append(GetProjectExtension()).Append(@""" />").Append(k_WindowsNewline);
7575
}
7676

77-
protected override void GetProjectFooter(StringBuilder footerBuilder)
77+
internal override void GetProjectFooter(StringBuilder footerBuilder)
7878
{
7979
footerBuilder.Append("</Project>").Append(k_WindowsNewline);
8080
}

Packages/com.unity.ide.visualstudio/package.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,13 +2,13 @@
22
"name": "com.unity.ide.visualstudio",
33
"displayName": "Visual Studio Editor",
44
"description": "Code editor integration for supporting Visual Studio as code editor for unity. Adds support for generating csproj files for intellisense purposes, auto discovery of installations, etc.",
5-
"version": "2.0.18",
5+
"version": "2.0.19",
66
"unity": "2019.4",
77
"unityRelease": "25f1",
88
"dependencies": {
99
"com.unity.test-framework": "1.1.9"
1010
},
1111
"relatedPackages": {
12-
"com.unity.ide.visualstudio.tests": "2.0.18"
12+
"com.unity.ide.visualstudio.tests": "2.0.19"
1313
}
1414
}

0 commit comments

Comments
 (0)