本文整理汇总了C#中MonoDevelop.Components.Commands.CommandArrayInfo.Insert方法的典型用法代码示例。如果您正苦于以下问题:C# CommandArrayInfo.Insert方法的具体用法?C# CommandArrayInfo.Insert怎么用?C# CommandArrayInfo.Insert使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类MonoDevelop.Components.Commands.CommandArrayInfo
的用法示例。
在下文中一共展示了CommandArrayInfo.Insert方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: Update
protected override void Update (CommandArrayInfo ainfo)
{
var doc = IdeApp.Workbench.ActiveDocument;
if (doc == null || doc.FileName == FilePath.Null || doc.ParsedDocument == null)
return;
var caretOffset = doc.Editor.Caret.Offset;
DomRegion region;
var resolveResult = doc.GetLanguageItem (caretOffset, out region);
if (resolveResult == null)
return;
var resolveMenu = new CommandInfoSet ();
resolveMenu.Text = GettextCatalog.GetString ("Resolve");
var possibleNamespaces = GetPossibleNamespaces (doc, resolveResult);
bool addUsing = !(resolveResult is AmbiguousTypeResolveResult);
if (addUsing) {
foreach (string ns in possibleNamespaces) {
var info = resolveMenu.CommandInfos.Add (GettextCatalog.GetString ("Import Namespace {0}", ns), new System.Action (new AddImport (doc, resolveResult, ns, true).Run));
info.Icon = MonoDevelop.Ide.Gui.Stock.AddNamespace;
}
}
bool resolveDirect = !(resolveResult is UnknownMemberResolveResult);
if (resolveDirect) {
if (resolveMenu.CommandInfos.Count > 0)
resolveMenu.CommandInfos.AddSeparator ();
foreach (string ns in possibleNamespaces) {
resolveMenu.CommandInfos.Add (GettextCatalog.GetString ("Use {0}", ns + "." + doc.Editor.GetTextBetween (region.Begin, region.End)), new System.Action (new AddImport (doc, resolveResult, ns, false).Run));
}
}
if (resolveMenu.CommandInfos.Count > 0)
ainfo.Insert (0, resolveMenu);
}
示例2: Update
protected override void Update (CommandArrayInfo ainfo)
{
var doc = IdeApp.Workbench.ActiveDocument;
if (doc == null || doc.FileName == FilePath.Null || doc.ParsedDocument == null)
return;
ResolveResult resolveResult;
AstNode node;
if (!ResolveAt (doc, out resolveResult, out node))
return;
var resolveMenu = new CommandInfoSet ();
resolveMenu.Text = GettextCatalog.GetString ("Resolve");
var possibleNamespaces = GetPossibleNamespaces (doc, node, ref resolveResult);
foreach (var t in possibleNamespaces.Where (tp => tp.OnlyAddReference)) {
var reference = t.Reference;
var info = resolveMenu.CommandInfos.Add (
t.GetImportText (),
new System.Action (new AddImport (doc, resolveResult, null, reference, true, node).Run)
);
info.Icon = MonoDevelop.Ide.Gui.Stock.AddNamespace;
}
bool addUsing = !(resolveResult is AmbiguousTypeResolveResult);
if (addUsing) {
foreach (var t in possibleNamespaces.Where (tp => tp.IsAccessibleWithGlobalUsing)) {
string ns = t.Namespace;
var reference = t.Reference;
var info = resolveMenu.CommandInfos.Add (
t.GetImportText (),
new System.Action (new AddImport (doc, resolveResult, ns, reference, true, node).Run)
);
info.Icon = MonoDevelop.Ide.Gui.Stock.AddNamespace;
}
}
bool resolveDirect = !(resolveResult is UnknownMemberResolveResult);
if (resolveDirect) {
if (resolveMenu.CommandInfos.Count > 0)
resolveMenu.CommandInfos.AddSeparator ();
foreach (var t in possibleNamespaces) {
string ns = t.Namespace;
var reference = t.Reference;
resolveMenu.CommandInfos.Add (t.GetInsertNamespaceText (doc.Editor.GetTextBetween (node.StartLocation, node.EndLocation)), new System.Action (new AddImport (doc, resolveResult, ns, reference, false, node).Run));
}
}
if (resolveMenu.CommandInfos.Count > 0)
ainfo.Insert (0, resolveMenu);
}
示例3: Update
protected override void Update (CommandArrayInfo ainfo)
{
var doc = IdeApp.Workbench.ActiveDocument;
if (doc == null || doc.FileName == FilePath.Null || doc.ParsedDocument == null)
return;
ResolveResult resolveResult;
AstNode node;
if (!ResolveAt (doc, out resolveResult, out node))
return;
var resolveMenu = new CommandInfoSet ();
resolveMenu.Text = GettextCatalog.GetString ("Resolve");
var possibleNamespaces = GetPossibleNamespaces (doc, node, resolveResult);
bool addUsing = !(resolveResult is AmbiguousTypeResolveResult);
if (addUsing) {
foreach (string ns in possibleNamespaces) {
var info = resolveMenu.CommandInfos.Add (
string.Format ("using {0};", ns),
new System.Action (new AddImport (doc, resolveResult, ns, true).Run)
);
info.Icon = MonoDevelop.Ide.Gui.Stock.AddNamespace;
}
}
bool resolveDirect = !(resolveResult is UnknownMemberResolveResult);
if (resolveDirect) {
if (resolveMenu.CommandInfos.Count > 0)
resolveMenu.CommandInfos.AddSeparator ();
foreach (string ns in possibleNamespaces) {
resolveMenu.CommandInfos.Add (string.Format ("{0}", ns + "." + doc.Editor.GetTextBetween (node.StartLocation, node.EndLocation)), new System.Action (new AddImport (doc, resolveResult, ns, false).Run));
}
}
if (resolveMenu.CommandInfos.Count > 0)
ainfo.Insert (0, resolveMenu);
}
示例4: Update
protected override void Update (CommandArrayInfo ainfo)
{
var doc = IdeApp.Workbench.ActiveDocument;
if (doc == null || doc.FileName == FilePath.Null || doc.ParsedDocument == null)
return;
ResolveResult resolveResult;
AstNode node;
if (!ResolveAt (doc, out resolveResult, out node)) {
var location = RefactoringService.GetCorrectResolveLocation (doc, doc.Editor.Caret.Location);
resolveResult = GetHeuristicResult (doc, location, ref node);
if (resolveResult == null)
return;
}
var resolveMenu = new CommandInfoSet ();
resolveMenu.Text = GettextCatalog.GetString ("Resolve");
var possibleNamespaces = GetPossibleNamespaces (doc, node, ref resolveResult);
bool addUsing = !(resolveResult is AmbiguousTypeResolveResult);
if (addUsing) {
foreach (var t in possibleNamespaces.Where (tp => tp.Item2)) {
string ns = t.Item1;
var info = resolveMenu.CommandInfos.Add (
string.Format ("using {0};", ns),
new System.Action (new AddImport (doc, resolveResult, ns, true, node).Run)
);
info.Icon = MonoDevelop.Ide.Gui.Stock.AddNamespace;
}
}
bool resolveDirect = !(resolveResult is UnknownMemberResolveResult);
if (resolveDirect) {
if (resolveMenu.CommandInfos.Count > 0)
resolveMenu.CommandInfos.AddSeparator ();
if (node is ObjectCreateExpression)
node = ((ObjectCreateExpression)node).Type;
foreach (var t in possibleNamespaces) {
string ns = t.Item1;
resolveMenu.CommandInfos.Add (string.Format ("{0}", ns + "." + doc.Editor.GetTextBetween (node.StartLocation, node.EndLocation)), new System.Action (new AddImport (doc, resolveResult, ns, false, node).Run));
}
}
if (resolveMenu.CommandInfos.Count > 0)
ainfo.Insert (0, resolveMenu);
}