Beispiel #1
0
 public void AttachToProcess(int processId)
 {
     context.Execute(() =>
     {
         // Make this DTE attach the newly created process
         MessageFilter.Register();
         var processes = dte.Debugger.LocalProcesses.OfType <EnvDTE.Process>();
         var process   = processes.FirstOrDefault(x => x.ProcessID == processId);
         process?.Attach();
         MessageFilter.Revoke();
     });
 }
Beispiel #2
0
        private static VisualStudioDTE.Instance GetFirstOrDefaultDTE(STAContext context, Func <VisualStudioDTE.Instance, bool> predicate)
        {
            return(context.Execute(() =>
            {
                // Locate all Visual Studio DTE
                var dtes = VisualStudioDTE.GetActiveDTEs().ToArray();

                // Find DTE
                MessageFilter.Register();
                var result = dtes.FirstOrDefault(predicate);
                MessageFilter.Revoke();

                return result;
            }));
        }