| | |
| | | /// </summary>
|
| | | class MacroServer
|
| | | {
|
| | | public CancellationTokenSource Loop { get; private set; }
|
| | | public CancellationTokenSource Loop { get; }
|
| | |
|
| | | AsyncPackage Package { get; set; }
|
| | | JoinableTaskFactory JoinableTaskFactory { get; set; }
|
| | | AsyncPackage Package { get; }
|
| | | JoinableTaskFactory JoinableTaskFactory { get; }
|
| | |
|
| | | /// <summary>
|
| | | /// Macro server constructor
|
| | |
| | | {
|
| | | await JoinableTaskFactory.SwitchToMainThreadAsync(Loop.Token);
|
| | | var DTE = await Package.GetServiceAsync(typeof(DTE)) as DTE2;
|
| | | var mainWindowHWnd = new IntPtr((long)DTE.MainWindow.HWnd);
|
| | | await TaskScheduler.Default;
|
| | |
|
| | | var pipeName = string.Format("QtVSTest_{0}", Process.GetCurrentProcess().Id);
|
| | |
| | | if (Loop.Token.IsCancellationRequested)
|
| | | break;
|
| | |
|
| | | var macro = new Macro(Package, DTE, JoinableTaskFactory, Loop.Token);
|
| | | var macro = new Macro(
|
| | | Package, DTE, mainWindowHWnd, JoinableTaskFactory, Loop.Token);
|
| | | await macro.CompileAsync(Encoding.UTF8.GetString(data));
|
| | | if (macro.AutoRun)
|
| | | await macro.RunAsync();
|