本文整理汇总了C#中VisualStudioApp.SetFocus方法的典型用法代码示例。如果您正苦于以下问题:C# VisualStudioApp.SetFocus方法的具体用法?C# VisualStudioApp.SetFocus怎么用?C# VisualStudioApp.SetFocus使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类VisualStudioApp
的用法示例。
在下文中一共展示了VisualStudioApp.SetFocus方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: ActivateInteractiveWindow
public override ToolWindowPane ActivateInteractiveWindow(VisualStudioApp app, string executionMode) {
string description = null;
if (Version.IsCPython) {
description = string.Format("{0} {1}",
Version.Isx64 ? CPythonInterpreterFactoryConstants.Description64 : CPythonInterpreterFactoryConstants.Description32,
Version.Version.ToVersion()
);
} else if (Version.IsIronPython) {
description = string.Format("{0} {1}",
Version.Isx64 ? "IronPython 64-bit" : "IronPython",
Version.Version.ToVersion()
);
}
Assert.IsNotNull(description, "Unknown interpreter");
var automation = (IVsPython)app.Dte.GetObject("VsPython");
var options = (IPythonOptions)automation;
var replOptions = options.GetInteractiveOptions(description);
Assert.IsNotNull(replOptions, "Could not find options for " + description);
replOptions.InlinePrompts = InlinePrompts;
replOptions.UseInterpreterPrompts = UseInterpreterPrompts;
replOptions.PrimaryPrompt = PrimaryPrompt;
replOptions.SecondaryPrompt = SecondaryPrompt;
replOptions.EnableAttach = EnableAttach;
var oldExecutionMode = replOptions.ExecutionMode;
app.OnDispose(() => replOptions.ExecutionMode = oldExecutionMode);
replOptions.ExecutionMode = executionMode;
var oldAddNewLineAtEndOfFullyTypedWord = options.Intellisense.AddNewLineAtEndOfFullyTypedWord;
app.OnDispose(() => options.Intellisense.AddNewLineAtEndOfFullyTypedWord = oldAddNewLineAtEndOfFullyTypedWord);
options.Intellisense.AddNewLineAtEndOfFullyTypedWord = AddNewLineAtEndOfFullyTypedWord;
bool success = false;
for (int retries = 1; retries < 20; ++retries) {
try {
app.ExecuteCommand("Python.Interactive", "/e:\"" + description + "\"");
success = true;
break;
} catch (AggregateException) {
}
app.DismissAllDialogs();
app.SetFocus();
Thread.Sleep(retries * 100);
}
Assert.IsTrue(success, "Unable to open " + description + " through DTE");
var interpreters = app.ComponentModel.GetService<IInterpreterOptionsService>();
var replId = PythonReplEvaluatorProvider.GetReplId(
interpreters.FindInterpreter(Version.Id, Version.Version.ToVersion())
);
var provider = app.ComponentModel.GetService<InteractiveWindowProvider>();
return (ToolWindowPane)provider.FindReplWindow(replId);
}