本文整理汇总了C#中ITextBuffer.GetBufferAdapter方法的典型用法代码示例。如果您正苦于以下问题:C# ITextBuffer.GetBufferAdapter方法的具体用法?C# ITextBuffer.GetBufferAdapter怎么用?C# ITextBuffer.GetBufferAdapter使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类ITextBuffer
的用法示例。
在下文中一共展示了ITextBuffer.GetBufferAdapter方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: NavigateToTextBuffer
/// <summary>
/// Activates a text view for a text buffer, and sets the cursor to a specific location
/// </summary>
public static bool NavigateToTextBuffer(ITextBuffer textBuffer, int start, int length) {
IProjectionSnapshot projectionSnapshot = textBuffer.CurrentSnapshot as IProjectionSnapshot;
if (projectionSnapshot != null) {
// Find the main buffer for the view
SnapshotPoint sourcePoint = new SnapshotPoint();
bool success = true;
try {
sourcePoint = projectionSnapshot.MapToSourceSnapshot(start, PositionAffinity.Successor);
} catch (ArgumentOutOfRangeException) {
success = false;
} catch (InvalidOperationException) {
success = false;
}
if (success) {
return NavigateToTextBuffer(sourcePoint.Snapshot.TextBuffer, sourcePoint.Position, length);
}
} else {
// This is the main buffer for the view
IVsTextManager textManager = VsAppShell.Current.GetGlobalService<IVsTextManager>(typeof(SVsTextManager));
IVsTextBuffer vsTextBuffer = textBuffer.GetBufferAdapter<IVsTextBuffer>();
Guid viewType = VSConstants.LOGVIEWID_TextView;
if (vsTextBuffer != null &&
ErrorHandler.Succeeded(textManager.NavigateToPosition(vsTextBuffer, ref viewType, start, length))) {
return true;
}
}
return false;
}