public int DebugLaunch(uint grfLaunch)
        {
            bool noDebug = ((__VSDBGLAUNCHFLAGS)grfLaunch & __VSDBGLAUNCHFLAGS.DBGLAUNCH_NoDebug) != 0;

            _ = noDebug; // TODO: Run without Debugging

            Microsoft.VisualStudio.Shell.ThreadHelper.ThrowIfNotOnUIThread();

            var random = new Random(DateTime.Now.Millisecond);
            var port   = 8800 + random.Next(0, 100);

            var startArgs = new SoftDebuggerListenArgs(_baseProject.Name, IPAddress.Loopback, port)
            {
                MaxConnectionAttempts = 3
            };

            var startInfo = new GodotStartInfo(startArgs, null, _baseProject)
            {
                WorkingDirectory = GodotPackage.Instance.GodotSolutionEventsListener?.SolutionDir
            };
            var session = new GodotDebuggerSession();

            var launcher = new MonoDebuggerLauncher(new Progress <string>());

            launcher.StartSession(startInfo, session);

            return(VSConstants.S_OK);
        }
示例#2
0
        public int DebugLaunch(uint grfLaunch)
        {//if launch with debug; else just run
            var random = new Random(DateTime.Now.Millisecond);
            var port   = 8800 + random.Next(0, 100);

            var startArgs = new SoftDebuggerListenArgs(baseProject.Name, IPAddress.Loopback, port);

            var startInfo = new XamarinWindowsStartInfo(startArgs, null, baseProject);
            var session   = new XamarinWindowsDebuggerSession();

            var launcher = new MonoDebuggerLauncher(new Progress <string>(), new XamarinWindowsDebugLauncher());

            launcher.StartSession(startInfo, session);

            return(VSConstants.S_OK);
        }
        /// <summary>
        /// Called when the application is run with debugging support. Otherwise it will just launch.
        /// </summary>
        /// <param name="grfLaunch"></param>
        /// <returns></returns>
        public int DebugLaunch(uint grfLaunch)
        {
            var port = NetworkHelper.GetAvailablePort(17615, 18000);

            var startArgs = new SoftDebuggerConnectArgs("CRYENGINE", IPAddress.Loopback, port)
            {
                MaxConnectionAttempts = 10
            };

            var startInfo = new CryEngineStartInfo(startArgs, null, _baseProject, CryEngineProjectData.GetProjectData(_baseProject), _launcherType);
            var session   = new CryEngineDebuggerSession();

            IDebugLauncher debugLauncher = new CryEngineDebugLauncher();
            var            progress      = new Progress <string>();

            progress.ProgressChanged += OnProgressChanged;
            var launcher = new MonoDebuggerLauncher(progress, debugLauncher);

            launcher.StartSession(startInfo, session);

            return(VSConstants.S_OK);
        }