You've already forked com.unity.ide.cursor
mirror of
https://github.com/boxqkrtm/com.unity.ide.cursor.git
synced 2026-05-14 14:20:09 +00:00
com.unity.ide.visualstudio@1.0.4
## [1.0.4] - 2019-04-12 - Fixing null reference issue for callbacks to AssetPostProcessor. - Ensure Path.GetFullPath does not get an empty string.
This commit is contained in:
@@ -1,5 +1,10 @@
|
|||||||
# Code Editor Package for Visual Studio
|
# Code Editor Package for Visual Studio
|
||||||
|
|
||||||
|
## [1.0.4] - 2019-04-12
|
||||||
|
|
||||||
|
- Fixing null reference issue for callbacks to AssetPostProcessor.
|
||||||
|
- Ensure Path.GetFullPath does not get an empty string.
|
||||||
|
|
||||||
## [1.0.3] - 2019-01-01
|
## [1.0.3] - 2019-01-01
|
||||||
|
|
||||||
### This is the first release of *Unity Package visualstudio_editor*.
|
### This is the first release of *Unity Package visualstudio_editor*.
|
||||||
|
|||||||
@@ -225,6 +225,26 @@ namespace VisualStudioEditor
|
|||||||
: ScriptingLanguage.None;
|
: ScriptingLanguage.None;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static List<Type> SafeGetTypes(System.Reflection.Assembly a)
|
||||||
|
{
|
||||||
|
var ret = new List<Type>();
|
||||||
|
|
||||||
|
try
|
||||||
|
{
|
||||||
|
ret = a.GetTypes().ToList();
|
||||||
|
}
|
||||||
|
catch (System.Reflection.ReflectionTypeLoadException rtl)
|
||||||
|
{
|
||||||
|
ret = rtl.Types.ToList();
|
||||||
|
}
|
||||||
|
catch (Exception)
|
||||||
|
{
|
||||||
|
return new List<Type>();
|
||||||
|
}
|
||||||
|
|
||||||
|
return ret.Where(r => r != null).ToList();
|
||||||
|
}
|
||||||
|
|
||||||
public void GenerateAndWriteSolutionAndProjects()
|
public void GenerateAndWriteSolutionAndProjects()
|
||||||
{
|
{
|
||||||
// Only synchronize islands that have associated source files and ones that we actually want in the project.
|
// Only synchronize islands that have associated source files and ones that we actually want in the project.
|
||||||
@@ -357,7 +377,7 @@ namespace VisualStudioEditor
|
|||||||
|
|
||||||
static void OnGeneratedCSProjectFiles()
|
static void OnGeneratedCSProjectFiles()
|
||||||
{
|
{
|
||||||
IEnumerable<Type> types = AppDomain.CurrentDomain.GetAssemblies().SelectMany(x => x.GetTypes())
|
IEnumerable<Type> types = AppDomain.CurrentDomain.GetAssemblies().SelectMany(x => SafeGetTypes(x))
|
||||||
.Where(x => typeof(AssetPostprocessor).IsAssignableFrom(x) && !x.IsInterface && !x.IsAbstract);
|
.Where(x => typeof(AssetPostprocessor).IsAssignableFrom(x) && !x.IsInterface && !x.IsAbstract);
|
||||||
var args = new object[0];
|
var args = new object[0];
|
||||||
foreach (var type in types)
|
foreach (var type in types)
|
||||||
@@ -373,7 +393,7 @@ namespace VisualStudioEditor
|
|||||||
|
|
||||||
static bool OnPreGeneratingCSProjectFiles()
|
static bool OnPreGeneratingCSProjectFiles()
|
||||||
{
|
{
|
||||||
IEnumerable<Type> types = AppDomain.CurrentDomain.GetAssemblies().SelectMany(x => x.GetTypes())
|
IEnumerable<Type> types = AppDomain.CurrentDomain.GetAssemblies().SelectMany(x => SafeGetTypes(x))
|
||||||
.Where(x => typeof(AssetPostprocessor).IsAssignableFrom(x) && !x.IsInterface && !x.IsAbstract);
|
.Where(x => typeof(AssetPostprocessor).IsAssignableFrom(x) && !x.IsInterface && !x.IsAbstract);
|
||||||
bool result = false;
|
bool result = false;
|
||||||
foreach (var type in types)
|
foreach (var type in types)
|
||||||
@@ -395,7 +415,7 @@ namespace VisualStudioEditor
|
|||||||
|
|
||||||
static string OnGeneratedCSProject(string path, string content)
|
static string OnGeneratedCSProject(string path, string content)
|
||||||
{
|
{
|
||||||
IEnumerable<Type> types = AppDomain.CurrentDomain.GetAssemblies().SelectMany(x => x.GetTypes())
|
IEnumerable<Type> types = AppDomain.CurrentDomain.GetAssemblies().SelectMany(x => SafeGetTypes(x))
|
||||||
.Where(x => typeof(AssetPostprocessor).IsAssignableFrom(x) && !x.IsInterface && !x.IsAbstract);
|
.Where(x => typeof(AssetPostprocessor).IsAssignableFrom(x) && !x.IsInterface && !x.IsAbstract);
|
||||||
foreach (var type in types)
|
foreach (var type in types)
|
||||||
{
|
{
|
||||||
@@ -416,7 +436,7 @@ namespace VisualStudioEditor
|
|||||||
|
|
||||||
static string OnGeneratedSlnSolution(string path, string content)
|
static string OnGeneratedSlnSolution(string path, string content)
|
||||||
{
|
{
|
||||||
IEnumerable<Type> types = AppDomain.CurrentDomain.GetAssemblies().SelectMany(x => x.GetTypes())
|
IEnumerable<Type> types = AppDomain.CurrentDomain.GetAssemblies().SelectMany(x => SafeGetTypes(x))
|
||||||
.Where(x => typeof(AssetPostprocessor).IsAssignableFrom(x) && !x.IsInterface && !x.IsAbstract);
|
.Where(x => typeof(AssetPostprocessor).IsAssignableFrom(x) && !x.IsInterface && !x.IsAbstract);
|
||||||
foreach (var type in types)
|
foreach (var type in types)
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -222,7 +222,7 @@ namespace VisualStudioEditor
|
|||||||
}
|
}
|
||||||
catch (Exception e)
|
catch (Exception e)
|
||||||
{
|
{
|
||||||
UnityEngine.Debug.LogException(e);
|
UnityEngine.Debug.LogError($"VS: {e.Message}");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -370,7 +370,11 @@ namespace VisualStudioEditor
|
|||||||
}
|
}
|
||||||
UnityEditor.PackageManager.PackageInfo packageInfo = UnityEditor.PackageManager.PackageInfo.FindForAssetPath(comAssetPath);
|
UnityEditor.PackageManager.PackageInfo packageInfo = UnityEditor.PackageManager.PackageInfo.FindForAssetPath(comAssetPath);
|
||||||
var progpath = packageInfo.resolvedPath + comAssetPath.Substring("Packages/com.unity.ide.visualstudio".Length);
|
var progpath = packageInfo.resolvedPath + comAssetPath.Substring("Packages/com.unity.ide.visualstudio".Length);
|
||||||
var fileInfo = new FileInfo(path).FullName;
|
string absolutePath = "";
|
||||||
|
if (!string.IsNullOrWhiteSpace(path))
|
||||||
|
{
|
||||||
|
absolutePath = Path.GetFullPath(path);
|
||||||
|
}
|
||||||
|
|
||||||
var solution = GetSolutionFile(path);
|
var solution = GetSolutionFile(path);
|
||||||
if (solution == "")
|
if (solution == "")
|
||||||
@@ -384,7 +388,7 @@ namespace VisualStudioEditor
|
|||||||
StartInfo = new ProcessStartInfo
|
StartInfo = new ProcessStartInfo
|
||||||
{
|
{
|
||||||
FileName = progpath,
|
FileName = progpath,
|
||||||
Arguments = $"\"{CodeEditor.CurrentEditorInstallation}\" \"{fileInfo}\" {solution} {line}",
|
Arguments = $"\"{CodeEditor.CurrentEditorInstallation}\" \"{absolutePath}\" {solution} {line}",
|
||||||
CreateNoWindow = true,
|
CreateNoWindow = true,
|
||||||
UseShellExecute = false,
|
UseShellExecute = false,
|
||||||
RedirectStandardOutput = true,
|
RedirectStandardOutput = true,
|
||||||
@@ -409,7 +413,7 @@ namespace VisualStudioEditor
|
|||||||
var errorOutput = process.StandardError.ReadToEnd();
|
var errorOutput = process.StandardError.ReadToEnd();
|
||||||
if (!string.IsNullOrEmpty(errorOutput))
|
if (!string.IsNullOrEmpty(errorOutput))
|
||||||
{
|
{
|
||||||
UnityEngine.Debug.Log("Error: \n" + errorOutput);
|
Console.WriteLine("Error: \n" + errorOutput);
|
||||||
}
|
}
|
||||||
|
|
||||||
process.WaitForExit();
|
process.WaitForExit();
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
"name": "com.unity.ide.visualstudio",
|
"name": "com.unity.ide.visualstudio",
|
||||||
"displayName": "Visual Studio Editor",
|
"displayName": "Visual Studio Editor",
|
||||||
"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.",
|
"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.",
|
||||||
"version": "1.0.3",
|
"version": "1.0.4",
|
||||||
"unity": "2019.2",
|
"unity": "2019.2",
|
||||||
"unityRelease": "0a7",
|
"unityRelease": "0a7",
|
||||||
"dependencies": {},
|
"dependencies": {},
|
||||||
@@ -12,6 +12,6 @@
|
|||||||
"repository": {
|
"repository": {
|
||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "git@github.cds.internal.unity3d.com:unity/com.unity.ide.visualstudio.git",
|
"url": "git@github.cds.internal.unity3d.com:unity/com.unity.ide.visualstudio.git",
|
||||||
"revision": "073e1c76ae2fa95ff86200e26e9d59f2ebcd2527"
|
"revision": "89fbb2a14dd60b56c2eb64eac1e574a40a105822"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user