本文整理汇总了C#中VisualStudioApp.ExecuteCommand方法的典型用法代码示例。如果您正苦于以下问题:C# VisualStudioApp.ExecuteCommand方法的具体用法?C# VisualStudioApp.ExecuteCommand怎么用?C# VisualStudioApp.ExecuteCommand使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类VisualStudioApp
的用法示例。
在下文中一共展示了VisualStudioApp.ExecuteCommand方法的6个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: AddCloudProject
public void AddCloudProject() {
using (var app = new VisualStudioApp()) {
var project = app.CreateProject(
PythonVisualStudioApp.TemplateLanguageName,
PythonVisualStudioApp.DjangoWebProjectTemplate,
TestData.GetTempPath(),
"AddCloudProject"
);
app.SolutionExplorerTreeView.SelectProject(project);
try {
app.ExecuteCommand("Project.ConverttoMicrosoftAzureCloudServiceProject");
} catch (Exception ex1) {
try {
app.ExecuteCommand("Project.ConverttoWindowsAzureCloudServiceProject");
} catch (Exception ex2) {
Console.WriteLine("Unable to execute Project.ConverttoWindowsAzureCloudServiceProject.\r\n{0}", ex2);
try {
app.ExecuteCommand("Project.AddWindowsAzureCloudServiceProject");
} catch (Exception ex3) {
Console.WriteLine("Unable to execute Project.AddWindowsAzureCloudServiceProject.\r\n{0}", ex3);
throw ex1;
}
}
}
var res = app.SolutionExplorerTreeView.WaitForItem(
"Solution '" + app.Dte.Solution.Projects.Item(1).Name + "' (2 projects)",
app.Dte.Solution.Projects.Item(1).Name + ".Azure"
);
Assert.IsNotNull(res);
}
}
示例2: 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);
}
示例3: TestPublishFtp
public void TestPublishFtp() {
using (var app = new VisualStudioApp()) {
var project = app.OpenProject(@"TestData\HelloWorld.sln");
string subDir = Guid.NewGuid().ToString();
string url = TestFtpUrl + "/" + subDir;
project.Properties.Item("PublishUrl").Value = url;
app.OnDispose(() => project.Properties.Item("PublishUrl").Value = "");
string dir = Path.Combine(FtpValidateDir, subDir);
Debug.WriteLine(dir);
app.OpenSolutionExplorer().SelectProject(project);
app.ExecuteCommand("Build.PublishSelection");
System.Threading.Thread.Sleep(2000);
var files = WaitForFiles(dir);
Assert.AreEqual(1, files.Length);
Assert.AreEqual("Program.py", Path.GetFileName(files[0]));
// do it again w/ the directories already existing
File.Delete(files[0]);
app.OpenSolutionExplorer().SelectProject(project);
app.ExecuteCommand("Build.PublishSelection");
files = WaitForFiles(dir);
Assert.AreEqual(1, files.Length);
Assert.AreEqual("Program.py", Path.GetFileName(files[0]));
Directory.Delete(dir, true);
}
}
示例4: ObjectBrowserNavigationTest
public void ObjectBrowserNavigationTest()
{
using (var app = new VisualStudioApp()) {
var project = app.OpenProject(@"TestData\MultiModule.sln");
System.Threading.Thread.Sleep(1000);
app.OpenObjectBrowser();
var objectBrowser = app.ObjectBrowser;
objectBrowser.EnsureLoaded();
int nodeCount = objectBrowser.TypeBrowserPane.Nodes.Count;
Assert.AreEqual(1, nodeCount, "Node count: " + nodeCount.ToString());
objectBrowser.TypeBrowserPane.Nodes[0].ExpandCollapse();
System.Threading.Thread.Sleep(1000);
nodeCount = objectBrowser.TypeBrowserPane.Nodes.Count;
Assert.AreEqual(3, nodeCount, "Node count: " + nodeCount.ToString());
string str = objectBrowser.TypeBrowserPane.Nodes[1].Value;
Assert.AreEqual("MyModule.py", str, "");
str = objectBrowser.TypeBrowserPane.Nodes[2].Value;
Assert.AreEqual("Program.py", str, "");
objectBrowser.TypeBrowserPane.Nodes[2].ExpandCollapse();
System.Threading.Thread.Sleep(1000);
objectBrowser.TypeBrowserPane.Nodes[1].ExpandCollapse();
System.Threading.Thread.Sleep(1000);
nodeCount = objectBrowser.TypeBrowserPane.Nodes.Count;
Assert.AreEqual(6, nodeCount, "Node count: " + nodeCount.ToString());
objectBrowser.TypeBrowserPane.Nodes[4].Select();
System.Threading.Thread.Sleep(1000);
app.ExecuteCommand("Edit.GoToDefinition");
System.Threading.Thread.Sleep(1000);
str = app.Dte.ActiveDocument.Name;
Assert.AreEqual("Program.py", str, "");
int lineNo = ((TextSelection)app.Dte.ActiveDocument.Selection).ActivePoint.Line;
Assert.AreEqual(14, lineNo, "Line number: " + lineNo.ToString());
app.OpenObjectBrowser();
objectBrowser.TypeBrowserPane.Nodes[2].Select();
System.Threading.Thread.Sleep(1000);
app.ExecuteCommand("Edit.GoToDefinition");
System.Threading.Thread.Sleep(1000);
str = app.Dte.ActiveDocument.Name;
Assert.AreEqual("MyModule.py", str, "");
lineNo = ((TextSelection)app.Dte.ActiveDocument.Selection).ActivePoint.Line;
Assert.AreEqual(1, lineNo, "Line number: " + lineNo.ToString());
objectBrowser.TypeBrowserPane.Nodes[3].ExpandCollapse();
System.Threading.Thread.Sleep(1000);
objectBrowser.TypeBrowserPane.Nodes[1].ExpandCollapse();
System.Threading.Thread.Sleep(1000);
}
}
示例5: CutPasteTest
public void CutPasteTest() {
using (var app = new VisualStudioApp()) {
app.OpenProject(@"TestData\CutPasteRelocatedTest.sln");
app.OpenSolutionExplorer();
var window = app.SolutionExplorerTreeView;
var folder = window.FindItem("Solution 'CutPasteRelocatedTest' (1 project)", "CutPasteTest", "TestFolder", "SubItem.py");
AutomationWrapper.Select(folder);
app.ExecuteCommand("Edit.Cut");
var projectItem = window.FindItem("Solution 'CutPasteRelocatedTest' (1 project)", "CutPasteTest");
AutomationWrapper.Select(projectItem);
app.ExecuteCommand("Edit.Paste");
Assert.IsNotNull(window.WaitForItem("Solution 'CutPasteRelocatedTest' (1 project)", "CutPasteTest", "SubItem.py"));
app.Dte.Solution.Close(true);
// Ensure file was moved and the path was updated correctly.
var project = app.OpenProject(@"TestData\CutPasteRelocatedTest.sln");
foreach (var item in project.ProjectItems.OfType<OAFileItem>()) {
Assert.IsTrue(File.Exists((string)item.Properties.Item("FullPath").Value), (string)item.Properties.Item("FullPath").Value);
}
}
}
示例6: RemoveSmartTagTest
private static void RemoveSmartTagTest(string filename, int line, int column, bool allScopes, string expectedText) {
using (var app = new VisualStudioApp()) {
var project = app.OpenProject(@"TestData\RemoveImport.sln");
var item = project.ProjectItems.Item(filename);
var window = item.Open();
window.Activate();
var doc = app.GetDocument(item.Document.FullName);
doc.Invoke(() => {
var point = doc.TextView.TextBuffer.CurrentSnapshot.GetLineFromLineNumber(line - 1).Start.Add(column - 1);
doc.TextView.Caret.MoveTo(point);
});
if (allScopes) {
app.ExecuteCommand("EditorContextMenus.CodeWindow.RemoveImports.AllScopes");
} else {
app.ExecuteCommand("EditorContextMenus.CodeWindow.RemoveImports.CurrentScope");
}
doc.WaitForText(expectedText);
}
}