本文整理汇总了C#中SnapshotSpan.IsComment方法的典型用法代码示例。如果您正苦于以下问题:C# SnapshotSpan.IsComment方法的具体用法?C# SnapshotSpan.IsComment怎么用?C# SnapshotSpan.IsComment使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类SnapshotSpan
的用法示例。
在下文中一共展示了SnapshotSpan.IsComment方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: GetClassificationSpans
/// <summary>
/// This method scans the given SnapshotSpan for potential matches for this classification.
/// In this instance, it classifies everything and returns each span as a new ClassificationSpan.
/// </summary>
/// <param name="trackingSpan">The span currently being classified</param>
/// <returns>A list of ClassificationSpans that represent spans identified to be of this classification</returns>
public IList<ClassificationSpan> GetClassificationSpans(SnapshotSpan span)
{
List<ClassificationSpan> classifications = new List<ClassificationSpan>();
/*
* Comment Classifications
*/
if (span.IsComment())
classifications.Add(new ClassificationSpan(span, _commentClassificationType));
/*
* Keyword Classifications
*/
if (span.IsCommand())
{
string command = span.GetCommand();
classifications.Add(new ClassificationSpan(new SnapshotSpan(span.Start, command.Length), _keywordClassificationType));
}
return classifications;
}
示例2: OnKeyDown
private void OnKeyDown(object sender, KeyEventArgs e)
{
// Make sure that this event happened on the same text view to which we're attached.
ITextView textView = sender as ITextView;
if (this.subjectTextView != textView)
return;
// if there is a session already leave it be
if (activeSession != null)
return;
// determine which subject buffer is affected by looking at the caret position
SnapshotPoint? caret = textView.Caret.Position.Point.GetPoint(textBuffer => (
subjectBuffers.Contains(textBuffer)),
PositionAffinity.Predecessor);
// return if no suitable buffer found
if (!caret.HasValue)
return;
SnapshotPoint caretPoint = caret.Value;
ITextSnapshotLine line = caretPoint.GetContainingLine();
SnapshotSpan span = new SnapshotSpan(line.Start, line.End);
if (span.IsComment() || span.IsCommand())
return;
// the invocation occurred in a subject buffer of interest to us
triggerPosition = caretPoint.Position;
ITrackingPoint triggerPoint = caretPoint.Snapshot.CreateTrackingPoint(triggerPosition, PointTrackingMode.Negative);
completionSpan = caretPoint.Snapshot.CreateTrackingSpan(caretPoint.Position, 0, SpanTrackingMode.EdgeInclusive);
// Create a completion session
activeSession = completionBroker.CreateCompletionSession(textView, triggerPoint, true);
// Put the completion context and original (empty) completion span
// on the session so that it can be used by the completion source
activeSession.Properties.AddProperty(typeof(ApacheIntellisenseController), completionSpan);
// Attach to the session events
activeSession.Dismissed += new System.EventHandler(OnActiveSessionDismissed);
activeSession.Committed += new System.EventHandler(OnActiveSessionCommitted);
// Start the completion session. The intellisense will be triggered.
activeSession.Start();
}
开发者ID:managedfusion,项目名称:managedfusion-rewriter-visualstudio,代码行数:46,代码来源:ApacheIntellisenseController.cs
示例3: IsComment
public static bool IsComment(this ITextSnapshotLine line)
{
SnapshotSpan span = new SnapshotSpan(line.Start, line.End);
return span.IsComment();
}