Files
com.unity.ide.cursor/Editor/Discovery.cs
Unity Technologies d1e4dd05ad com.unity.ide.visualstudio@2.0.20
## [2.0.20] - 2023-06-27

Integration:

- Internal API refactoring.

## [2.0.19] - 2023-06-14

Integration:

- Add support for Visual Studio Code.

Project generation:

- Add support for Sdk Style poject generation.
- Fix an issue related to missing properties with 2021.3.
2023-06-27 00:00:00 +00:00

55 lines
1.7 KiB
C#

/*---------------------------------------------------------------------------------------------
* Copyright (c) Unity Technologies.
* Copyright (c) Microsoft Corporation. All rights reserved.
* Licensed under the MIT License. See License.txt in the project root for license information.
*--------------------------------------------------------------------------------------------*/
using System.Collections.Generic;
using System.IO;
namespace Microsoft.Unity.VisualStudio.Editor
{
internal static class Discovery
{
public static IEnumerable<IVisualStudioInstallation> GetVisualStudioInstallations()
{
foreach (var installation in VisualStudioForWindowsInstallation.GetVisualStudioInstallations())
yield return installation;
foreach (var installation in VisualStudioForMacInstallation.GetVisualStudioInstallations())
yield return installation;
foreach (var installation in VisualStudioCodeInstallation.GetVisualStudioInstallations())
yield return installation;
}
public static bool TryDiscoverInstallation(string editorPath, out IVisualStudioInstallation installation)
{
try
{
if (VisualStudioForWindowsInstallation.TryDiscoverInstallation(editorPath, out installation))
return true;
if (VisualStudioForMacInstallation.TryDiscoverInstallation(editorPath, out installation))
return true;
if (VisualStudioCodeInstallation.TryDiscoverInstallation(editorPath, out installation))
return true;
}
catch (IOException)
{
installation = null;
}
return false;
}
public static void Initialize()
{
VisualStudioForWindowsInstallation.Initialize();
VisualStudioForMacInstallation.Initialize();
VisualStudioCodeInstallation.Initialize();
}
}
}