本文整理汇总了C#中Microsoft.VisualStudioTools.VisualStudioApp.GetDocument方法的典型用法代码示例。如果您正苦于以下问题:C# VisualStudioApp.GetDocument方法的具体用法?C# VisualStudioApp.GetDocument怎么用?C# VisualStudioApp.GetDocument使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Microsoft.VisualStudioTools.VisualStudioApp
的用法示例。
在下文中一共展示了VisualStudioApp.GetDocument方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: ClientServerIntelliSenseModes
public void ClientServerIntelliSenseModes() {
string
solutionLabel = "Solution 'ClientServerCode' (1 project)",
projectLabel = "ClientServerCode",
nodeDirectoryLabel = NodejsFolderNode.AppendLabel("NodeDirectory", FolderContentType.Node),
nodeSubDirectoryLabel = NodejsFolderNode.AppendLabel("NodeSubDirectory", FolderContentType.Node),
browserDirectoryLabel = NodejsFolderNode.AppendLabel("BrowserDirectory", FolderContentType.Browser),
emptyBrowserSubDirectoryLabel = "BrowserSubDirectory",
browserSubDirectoryLabel = NodejsFolderNode.AppendLabel("BrowserSubDirectory", FolderContentType.Browser),
mixedDirectoryLabel = NodejsFolderNode.AppendLabel("MixedDirectory", FolderContentType.Mixed),
mixedDirectoryBrowserDirectoryLabel = NodejsFolderNode.AppendLabel("BrowserDirectory", FolderContentType.Browser),
mixedDirectoryNodeDirectoryLabel = NodejsFolderNode.AppendLabel("NodeDirectory", FolderContentType.Node),
browserCodeLabel = "browserCode.js",
mixedDirectoryRenamedLabel = NodejsFolderNode.AppendLabel("MixedDirectoryRenamed", FolderContentType.Mixed);
using (var app = new VisualStudioApp()) {
var project = app.OpenProject(@"TestData\ClientServerCode\ClientServerCode.sln");
using (new NodejsOptionHolder(NodejsPackage.Instance.GeneralOptionsPage, "ShowBrowserAndNodeLabels", true)) {
// Wait until project is loaded
var solutionExplorer = app.OpenSolutionExplorer();
solutionExplorer.WaitForItem(
solutionLabel,
projectLabel,
"app.js");
var nodejsProject = app.GetProject("ClientServerCode").GetNodejsProject();
var projectNode = solutionExplorer.WaitForItem(
solutionLabel,
projectLabel);
var browserDirectory = solutionExplorer.WaitForItem(
solutionLabel,
projectLabel,
browserDirectoryLabel
);
Assert.IsNotNull(
browserDirectory,
"Browser directories should be labeled as such. Could not find " + browserDirectoryLabel);
var browserSubDirectory = solutionExplorer.WaitForItem(
solutionLabel,
projectLabel,
browserDirectoryLabel,
emptyBrowserSubDirectoryLabel
);
Assert.IsNotNull(
browserSubDirectory,
"Project initialization: could not find " + emptyBrowserSubDirectoryLabel);
var nodeDirectory = solutionExplorer.WaitForItem(
solutionLabel,
projectLabel,
nodeDirectoryLabel
);
Assert.IsNotNull(
nodeDirectory,
"Node directories should be labeled as such. Could not find " + nodeDirectoryLabel);
var nodeSubDirectory = solutionExplorer.WaitForItem(
solutionLabel,
projectLabel,
nodeDirectoryLabel,
nodeSubDirectoryLabel
);
Assert.IsNotNull(
nodeSubDirectory,
"Project initialization: could not find " + nodeSubDirectoryLabel);
projectNode.Select();
using (var newItem = NewItemDialog.FromDte(app)) {
newItem.FileName = "newItem.js";
newItem.OK();
}
Assert.AreEqual(
"Compile",
nodejsProject.GetItemType("newItem.js"),
"Top level files should be set to item type 'Compile'");
Keyboard.Type("process.");
Keyboard.Type(Keyboard.CtrlSpace.ToString());
using (var session = app.GetDocument(Path.Combine(nodejsProject.ProjectHome, @"newItem.js")).WaitForSession<ICompletionSession>()) {
var completions = session.Session.CompletionSets.First().Completions.Select(x => x.InsertionText);
Assert.IsTrue(
completions.Contains("env"),
"New documents of the node type should open with default VS editor"
);
}
browserSubDirectory.Select();
using (var newBrowserItem = NewItemDialog.FromDte(app)) {
newBrowserItem.FileName = "newBrowserItem.js";
newBrowserItem.OK();
}
Keyboard.Type("document.");
//.........这里部分代码省略.........
示例2: TypingTest
/// <summary>
/// Single auto indent test
/// </summary>
/// <param name="project">containting project</param>
/// <param name="filename">filename in the project</param>
/// <param name="line">zero-based line</param>
/// <param name="column">zero based column</param>
/// <param name="expectedText"></param>
private static void TypingTest(VisualStudioApp app, Project project, string filename, int line, int column, string expectedText, Action typing) {
var item = project.ProjectItems.Item(filename);
var window = item.Open();
window.Activate();
var doc = app.GetDocument(item.Document.FullName);
doc.SetFocus();
var textLine = doc.TextView.TextViewLines[line];
((UIElement)doc.TextView).Dispatcher.Invoke((Action)(() => {
try {
doc.TextView.Caret.MoveTo(textLine.Start + column);
((UIElement)doc.TextView).Focus();
} catch (Exception) {
Debug.Fail("Bad position for moving caret");
}
}));
typing();
string actual = null;
for (int i = 0; i < 100; i++) {
actual = doc.TextView.TextBuffer.CurrentSnapshot.GetText();
if (expectedText == actual) {
break;
}
System.Threading.Thread.Sleep(100);
}
Assert.AreEqual(expectedText, actual);
}
示例3: AutoBraceCompetionTest
private static void AutoBraceCompetionTest(VisualStudioApp app, Project project, string typedText, string expectedText) {
var item = project.ProjectItems.Item("Program.py");
var window = item.Open();
window.Activate();
Keyboard.Type(typedText);
var doc = app.GetDocument(item.Document.FullName);
string actual = null;
for (int i = 0; i < 100; i++) {
actual = doc.TextView.TextBuffer.CurrentSnapshot.GetText();
if (expectedText == actual) {
break;
}
System.Threading.Thread.Sleep(100);
}
Assert.AreEqual(expectedText, actual);
window.Document.Close(vsSaveChanges.vsSaveChangesNo);
}
示例4: AutoIndentExistingTest
/// <summary>
/// Single auto indent test
/// </summary>
/// <param name="project">containting project</param>
/// <param name="filename">filename in the project</param>
/// <param name="line">zero-based line</param>
/// <param name="column">zero based column</param>
/// <param name="expectedText"></param>
private static void AutoIndentExistingTest(VisualStudioApp app, Project project, string filename, int line, int column, string expectedText) {
var item = project.ProjectItems.Item(filename);
var window = item.Open();
window.Activate();
var doc = app.GetDocument(item.Document.FullName);
doc.SetFocus();
var textLine = doc.TextView.TextViewLines[line];
((UIElement)doc.TextView).Dispatcher.Invoke((Action)(() => {
doc.TextView.Caret.MoveTo(textLine.Start + column);
((UIElement)doc.TextView).Focus();
}));
Keyboard.Type("\r");
string actual = null;
for (int i = 0; i < 100; i++) {
actual = doc.TextView.TextBuffer.CurrentSnapshot.GetText();
if (expectedText == actual) {
break;
}
System.Threading.Thread.Sleep(100);
}
Assert.AreEqual(actual, expectedText);
}