static VSEditor()
        {
            try
            {
                InstalledVisualStudios = Discovery.GetInstalledVisualStudios();
            }
            catch (Exception ex)
            {
                UnityEngine.Debug.Log($@"Error detecting Visual Studio installations: {ex.Message}{Environment.NewLine}{ex.StackTrace}");
                InstalledVisualStudios = new Dictionary <VisualStudioVersion, string[]>();
            }
            var editor = new VSEditor(new Discovery(), new ProjectGeneration());

            CodeEditor.Register(editor);
            var current = CodeEditor.CurrentEditorInstallation;

            if (editor.TryGetInstallationForPath(current, out var installation))
            {
                if (installation.Name != "MonoDevelop")
                {
                    editor.Initialize(current);
                }
                return;
            }
        }
 public CodeEditor.Installation[] PathCallback()
 {
     try
     {
         return(VSEditor.GetInstalledVisualStudios().Select(pair => new CodeEditor.Installation
         {
             Path = pair.Value[0],
             Name = VisualStudioVersionToNiceName(pair.Key)
         }).ToArray());
     }
     catch (Exception ex)
     {
         Debug.Log($"Error detecting Visual Studio installations: {ex.Message}{Environment.NewLine}{ex.StackTrace}");
         return(new CodeEditor.Installation[0]);
     }
 }