Beispiel #1
0
        public bool CallRider(string args)
        {
            var paths      = RiderPathLocator.GetAllFoundPaths(myPluginSettings.OperatingSystemFamilyRider);
            var defaultApp = myRiderPathLocator.GetDefaultRiderApp(EditorPrefsWrapper.ExternalScriptEditor, paths);

            if (string.IsNullOrEmpty(defaultApp))
            {
                return(false);
            }

            var proc = new Process();

            if (myPluginSettings.OperatingSystemFamilyRider == OperatingSystemFamilyRider.MacOSX)
            {
                proc.StartInfo.FileName  = "open";
                proc.StartInfo.Arguments = string.Format("-n {0}{1}{0} --args {2}", "\"", "/" + defaultApp, args);
                myLogger.Verbose("{0} {1}", proc.StartInfo.FileName, proc.StartInfo.Arguments);
            }
            else
            {
                proc.StartInfo.FileName  = defaultApp;
                proc.StartInfo.Arguments = args;
                myLogger.Verbose("{2}{0}{2}" + " {1}", proc.StartInfo.FileName, proc.StartInfo.Arguments, "\"");
            }

            proc.StartInfo.UseShellExecute = true; // avoid HandleInheritance
            proc.Start();

            ActivateWindow();
            return(true);
        }
Beispiel #2
0
        // This an entry point
        static PluginEntryPoint()
        {
            PluginSettings.InitLog();                         // init log before doing any logging
            ourLogEventCollector = new UnityEventCollector(); // start collecting Unity messages asap

            ourPluginSettings   = new PluginSettings();
            ourRiderPathLocator = new RiderPathLocator(ourPluginSettings);
            var riderPath = ourRiderPathLocator.GetDefaultRiderApp(EditorPrefsWrapper.ExternalScriptEditor,
                                                                   RiderPathLocator.GetAllFoundPaths(ourPluginSettings.OperatingSystemFamilyRider));

            if (string.IsNullOrEmpty(riderPath))
            {
                return;
            }

            AddRiderToRecentlyUsedScriptApp(riderPath);
            if (!PluginSettings.RiderInitializedOnce)
            {
                EditorPrefsWrapper.ExternalScriptEditor = riderPath;
                PluginSettings.RiderInitializedOnce     = true;
            }

            if (Enabled)
            {
                Init();
            }
        }
Beispiel #3
0
 public OnOpenAssetHandler(RProperty <EditorPluginModel> model, RiderPathLocator riderPathLocator, IPluginSettings pluginSettings, string slnFile)
 {
     myModel            = model;
     myRiderPathLocator = riderPathLocator;
     myPluginSettings   = pluginSettings;
     mySlnFile          = slnFile;
 }
        // This an entry point
        static PluginEntryPoint()
        {
            ourModel = new RProperty <UnityModel>();

            var logSender = new UnityEventLogSender(ourModel);

            logSender.UnityLogRegisterCallBack();

            ourPluginSettings   = new PluginSettings();
            ourRiderPathLocator = new RiderPathLocator(ourPluginSettings);
            var riderPath = ourRiderPathLocator.GetDefaultRiderApp(EditorPrefsWrapper.ExternalScriptEditor,
                                                                   RiderPathLocator.GetAllFoundPaths(ourPluginSettings.OperatingSystemFamilyRider));

            if (string.IsNullOrEmpty(riderPath))
            {
                return;
            }

            AddRiderToRecentlyUsedScriptApp(riderPath);
            if (!PluginSettings.RiderInitializedOnce)
            {
                EditorPrefsWrapper.ExternalScriptEditor = riderPath;
                PluginSettings.RiderInitializedOnce     = true;
            }

            if (Enabled)
            {
                Init();
            }
        }
Beispiel #5
0
        // This an entry point
        static PluginEntryPoint()
        {
            PluginSettings.InitLog();                         // init log before doing any logging
            ourLogEventCollector = new UnityEventCollector(); // start collecting Unity messages asap

            ourPluginSettings    = new PluginSettings();
            ourRiderPathProvider = new RiderPathProvider(ourPluginSettings);

            if (IsLoadedFromAssets()) // old mechanism, when EditorPlugin was copied to Assets folder
            {
                var riderPath = ourRiderPathProvider.GetActualRider(EditorPrefsWrapper.ExternalScriptEditor,
                                                                    RiderPathLocator.GetAllFoundPaths(ourPluginSettings.OperatingSystemFamilyRider));
                if (!string.IsNullOrEmpty(riderPath))
                {
                    AddRiderToRecentlyUsedScriptApp(riderPath);
                    if (IsRiderDefaultEditor() && PluginSettings.UseLatestRiderFromToolbox)
                    {
                        EditorPrefsWrapper.ExternalScriptEditor = riderPath;
                    }
                }

                if (!PluginSettings.RiderInitializedOnce)
                {
                    EditorPrefsWrapper.ExternalScriptEditor = riderPath;
                    PluginSettings.RiderInitializedOnce     = true;
                }

                InitForPluginLoadedFromAssets();
                Init();
            }
            else
            {
                Init();
            }
        }
        /// <summary>
        /// If external editor is Rider and exists, it would be returned
        /// Otherwise, first of allFoundPaths would be returned
        /// </summary>
        /// <param name="externalEditor"></param>
        /// <returns>May return null, if nothing found.</returns>
        public string ValidateAndReturnActualRider(string externalEditor)
        {
            if (!string.IsNullOrEmpty(externalEditor))
            {
                var alreadySetPath = new FileInfo(externalEditor).FullName;
                if (RiderPathExist(alreadySetPath, myPluginSettings.OperatingSystemFamilyRider))
                {
                    return(alreadySetPath);
                }
            }

            var paths = RiderPathLocator.GetAllFoundPaths(myPluginSettings.OperatingSystemFamilyRider);

            return(paths.FirstOrDefault());
        }
Beispiel #7
0
 public OnOpenAssetHandler(RiderPathLocator riderPathLocator, IPluginSettings pluginSettings, string slnFile)
 {
     myRiderPathLocator = riderPathLocator;
     myPluginSettings   = pluginSettings;
     mySlnFile          = slnFile;
 }