本文整理汇总了C#中EditorContext.GetCached方法的典型用法代码示例。如果您正苦于以下问题:C# EditorContext.GetCached方法的具体用法?C# EditorContext.GetCached怎么用?C# EditorContext.GetCached使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类EditorContext
的用法示例。
在下文中一共展示了EditorContext.GetCached方法的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: Execute
public override void Execute(EditorContext context)
{
var cache = context.GetCached<CheckAssignmentCache>();
var ifStatement = GenerateAstToInsert(cache.VariableName);
context.Editor.InsertCodeAfter(cache.Element, ifStatement, true);
}
示例2: Execute
public override void Execute(EditorContext context)
{
var cache = context.GetCached<CheckAssignmentCache>();
var ifStatement = GenerateAstToInsert(cache.VariableName);
var editor = context.Editor;
string indent = DocumentUtilitites.GetWhitespaceAfter(editor.Document, editor.Document.GetLineStartOffset(cache.ElementRegion.GetStart()));
string code = cache.CodeGenerator.GenerateCode(ifStatement, indent);
int insertOffset = editor.Document.GetLineEndOffset(cache.ElementRegion.GetEnd());
editor.Document.Insert(insertOffset, code);
editor.Caret.Offset = insertOffset + code.Length - 1;
}
示例3: Execute
public override void Execute(EditorContext context)
{
var cache = context.GetCached<CheckAssignmentCache>();
var ifStatement = GenerateAstToInsert(cache.VariableName);
var editor = context.Editor;
var doc = editor.Document;
using (var undoGroup = editor.Document.OpenUndoGroup()) {
editor.InsertCodeAfter(cache.Element, ifStatement);
// set caret to the position of the special marker
var caretPos = doc.Text.IndexOf(caretMarker, doc.GetLineEndOffset(cache.Element.EndLocation));
editor.Caret.Offset = caretPos;
editor.Document.RemoveRestOfLine(caretPos);
}
}
示例4: Execute
public override void Execute(EditorContext context)
{
var cache = context.GetCached<CheckAssignmentCache>();
var ifStatement = GenerateAstToInsert(cache.VariableName);
var editor = context.Editor;
string indent = DocumentUtilitites.GetWhitespaceAfter(editor.Document, editor.Document.GetLineStartOffset(cache.ElementRegion.GetStart()));
string code = cache.CodeGenerator.GenerateCode(ifStatement, indent);
int insertOffset = editor.Document.GetLineEndOffset(cache.ElementRegion.GetEnd());
using (var undoGroup = editor.Document.OpenUndoGroup()) {
editor.Document.Insert(insertOffset, code);
var caretPos = editor.Document.Text.IndexOf(caretMarker, insertOffset);
editor.Caret.Offset = caretPos;
editor.Document.RemoveRestOfLine(caretPos);
}
}
示例5: IsAvailable
public override bool IsAvailable(EditorContext context)
{
var cache = context.GetCached<CheckAssignmentCache>();
return cache.IsActionAvailable;
}