本文整理汇总了C#中MonoDevelop.Components.Commands.CommandArrayInfo.AddSeparator方法的典型用法代码示例。如果您正苦于以下问题:C# CommandArrayInfo.AddSeparator方法的具体用法?C# CommandArrayInfo.AddSeparator怎么用?C# CommandArrayInfo.AddSeparator使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类MonoDevelop.Components.Commands.CommandArrayInfo
的用法示例。
在下文中一共展示了CommandArrayInfo.AddSeparator方法的13个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: GenerateExecutionModeCommands
public static void GenerateExecutionModeCommands(SolutionEntityItem project, CanExecuteDelegate runCheckDelegate, CommandArrayInfo info)
{
CommandExecutionContext ctx = new CommandExecutionContext (project, runCheckDelegate);
bool supportsParameterization = false;
foreach (List<IExecutionMode> modes in GetExecutionModeCommands (ctx, false, true)) {
foreach (IExecutionMode mode in modes) {
CommandInfo ci = info.Add (mode.Name, new CommandItem (ctx, mode));
if ((mode.ExecutionHandler is ParameterizedExecutionHandler) || ((mode is CustomExecutionMode) && ((CustomExecutionMode)mode).PromptForParameters)) {
// It will prompt parameters, so we need command to end with '..'.
// However, some commands may end with '...' already and we don't want to break
// already-translated strings by altering them
if (!ci.Text.EndsWith ("..."))
ci.Text += "...";
supportsParameterization = true;
} else {
// The parameters window will be shown if ctrl is pressed
ci.Description = GettextCatalog.GetString ("Run With: {0}", ci.Text);
if (SupportsParameterization (mode, ctx)) {
ci.Description += " - " + GettextCatalog.GetString ("Hold Control key to display the execution parameters dialog.");
supportsParameterization = true;
}
}
}
if (info.Count > 0)
info.AddSeparator ();
}
if (supportsParameterization) {
info.AddSeparator ();
info.Add (GettextCatalog.GetString ("Edit Custom Modes..."), new CommandItem (ctx, null));
}
}
示例2: Update
protected override void Update(CommandArrayInfo info)
{
ResolverContextStack ctxt;
var rr = Resolver.DResolverWrapper.ResolveHoveredCode(out ctxt);
bool noRes = true;
if (rr != null && rr.Length > 0)
{
res = rr[rr.Length - 1];
n = DResolver.GetResultMember(res);
if (n != null)
{
noRes = false;
info.Add(IdeApp.CommandService.GetCommandInfo(RefactoryCommands.GotoDeclaration), new Action(GotoDeclaration));
info.Add(IdeApp.CommandService.GetCommandInfo(RefactoryCommands.FindReferences), new Action(FindReferences));
if (RenamingRefactoring.CanRename(n))
{
info.AddSeparator();
info.Add(IdeApp.CommandService.GetCommandInfo(EditCommands.Rename), new Action(RenameSymbol));
}
}
}
if(noRes)
info.Add(IdeApp.CommandService.GetCommandInfo(RefactoryCommands.ImportSymbol), new Action(ImportSymbol));
info.Add(IdeApp.CommandService.GetCommandInfo(Commands.OpenDDocumentation), new Action(OpenDDoc));
}
示例3: Update
protected override void Update (CommandArrayInfo ainfo)
{
MonoDevelop.Ide.Gui.Document doc = IdeApp.Workbench.ActiveDocument;
if (doc != null) {
SourceEditorView view = IdeApp.Workbench.ActiveDocument.GetContent <SourceEditorView>();
if (view != null) {
DocumentLocation location = view.TextEditor.Caret.Location;
if (location.IsEmpty)
return;
LineSegment line = view.Document.GetLine (location.Line);
if (line == null || line.Markers == null)
return;
foreach (TextMarker marker in line.Markers) {
UrlMarker urlMarker = marker as UrlMarker;
if (urlMarker != null) {
if (urlMarker.StartColumn <= location.Column && location.Column < urlMarker.EndColumn) {
ainfo.Add (urlMarker.UrlType == UrlType.Email ? GettextCatalog.GetString ("_Write an e-mail to...") : GettextCatalog.GetString ("_Open URL..."), urlMarker);
ainfo.AddSeparator ();
}
}
}
}
}
}
示例4: OnSetBuildActionUpdate
public void OnSetBuildActionUpdate (CommandArrayInfo info)
{
Set<string> toggledActions = new Set<string> ();
Project proj = null;
foreach (ITreeNavigator node in CurrentNodes) {
ProjectFile finfo = (ProjectFile) node.DataItem;
//disallow multi-slect on more than one project, since available build actions may differ
if (proj == null && finfo.Project != null) {
proj = finfo.Project;
} else if (proj == null || proj != finfo.Project) {
info.Clear ();
return;
}
toggledActions.Add (finfo.BuildAction);
}
foreach (string action in proj.GetBuildActions ()) {
if (action == "--") {
info.AddSeparator ();
} else {
CommandInfo ci = info.Add (BuildAction.Translate (action), action);
ci.Checked = toggledActions.Contains (action);
if (ci.Checked)
ci.CheckedInconsistent = toggledActions.Count > 1;
}
}
}
示例5: PopulateOpenWithViewers
internal static void PopulateOpenWithViewers (CommandArrayInfo info, Project project, string filePath)
{
var viewers = DisplayBindingService.GetFileViewers (filePath, project).ToList ();
//show the default viewer first
var def = viewers.FirstOrDefault (v => v.CanUseAsDefault) ?? viewers.FirstOrDefault (v => v.IsExternal);
if (def != null) {
CommandInfo ci = info.Add (def.Title, def);
ci.Description = GettextCatalog.GetString ("Open with '{0}'", def.Title);
if (viewers.Count > 1)
info.AddSeparator ();
}
//then the builtins, followed by externals
FileViewer prev = null;
foreach (FileViewer fv in viewers) {
if (def != null && fv.Equals (def))
continue;
if (prev != null && fv.IsExternal != prev.IsExternal)
info.AddSeparator ();
CommandInfo ci = info.Add (fv.Title, fv);
ci.Description = GettextCatalog.GetString ("Open with '{0}'", fv.Title);
prev = fv;
}
}
示例6: Update
protected override void Update (CommandArrayInfo ainfo)
{
Document doc = IdeApp.Workbench.ActiveDocument;
if (doc == null || doc.FileName == FilePath.Null || IdeApp.ProjectOperations.CurrentSelectedSolution == null)
return;
ITextBuffer editor = doc.GetContent<ITextBuffer> ();
if (editor == null)
return;
bool added = false;
int line, column;
editor.GetLineColumnFromPosition (editor.CursorPosition, out line, out column);
ProjectDom ctx = doc.Dom;
ResolveResult resolveResult;
INode item;
GetItem (ctx, doc, editor, out resolveResult, out item);
IMember eitem = resolveResult != null ? (resolveResult.CallingMember ?? resolveResult.CallingType) : null;
string itemName = null;
if (item is IMember)
itemName = ((IMember)item).Name;
if (item != null && eitem != null && (eitem.Equals (item) || (eitem.Name == itemName && !(eitem is IProperty) && !(eitem is IMethod)))) {
// If this occurs, then @item is either its own enclosing item, in
// which case, we don't want to show it twice, or it is the base-class
// version of @eitem, in which case we don't want to show the base-class
// @item, we'd rather show the item the user /actually/ requested, @eitem.
item = eitem;
eitem = null;
}
IType eclass = null;
if (item is IType) {
if (((IType)item).ClassType == ClassType.Interface)
eclass = FindEnclosingClass (ctx, editor.Name, line, column); else
eclass = (IType)item;
if (eitem is IMethod && ((IMethod)eitem).IsConstructor && eitem.DeclaringType.Equals (item)) {
item = eitem;
eitem = null;
}
}
INode realItem = item;
if (item is InstantiatedType)
realItem = ((InstantiatedType)item).UninstantiatedType;
if (realItem is CompoundType) {
editor.GetLineColumnFromPosition (editor.CursorPosition, out line, out column);
((CompoundType)realItem).SetMainPart (doc.FileName, line, column);
item = realItem;
}
RefactoringOptions options = new RefactoringOptions () {
Document = doc,
Dom = ctx,
ResolveResult = resolveResult,
SelectedItem = realItem
};
if (resolveResult != null && resolveResult.ResolvedExpression != null && !string.IsNullOrEmpty (resolveResult.ResolvedExpression.Expression)) {
bool resolveDirect;
List<string> namespaces = QuickFixHandler.GetResolveableNamespaces (options, out resolveDirect);
if (item == null || namespaces.Count > 1) {
CommandInfoSet resolveMenu = new CommandInfoSet ();
resolveMenu.Text = GettextCatalog.GetString ("Resolve");
if (item == null) {
foreach (string ns in namespaces) {
// remove used namespaces for conflict resolving.
if (options.Document.CompilationUnit.IsNamespaceUsedAt (ns, options.ResolveResult.ResolvedExpression.Region.Start))
continue;
CommandInfo info = resolveMenu.CommandInfos.Add ("using " + ns + ";", new RefactoryOperation (new ResolveNameOperation (ctx, doc, resolveResult, ns).AddImport));
info.Icon = MonoDevelop.Ide.Gui.Stock.AddNamespace;
}
if (!(resolveResult is UnresolvedMemberResolveResult))
resolveMenu.CommandInfos.AddSeparator ();
} else {
// remove all unused namespaces (for resolving conflicts)
namespaces.RemoveAll (ns => !doc.CompilationUnit.IsNamespaceUsedAt (ns, resolveResult.ResolvedExpression.Region.Start));
}
if (resolveDirect) {
foreach (string ns in namespaces) {
resolveMenu.CommandInfos.Add (ns, new RefactoryOperation (new ResolveNameOperation (ctx, doc, resolveResult, ns).ResolveName));
}
}
if (namespaces.Count > (item == null ? 0 : 1))
ainfo.Add (resolveMenu, null);
}
}
var unit = doc.CompilationUnit;
if (unit != null && unit.Usings != null && unit.Usings.Any (u => !u.IsFromNamespace && u.Region.Contains (line, column))) {
CommandInfoSet organizeUsingsMenu = new CommandInfoSet ();
organizeUsingsMenu.Text = GettextCatalog.GetString ("_Organize Usings");
organizeUsingsMenu.CommandInfos.Add (IdeApp.CommandService.GetCommandInfo (RefactoryCommands.RemoveUnusedImports), new RefactoryOperation (delegate {
new RemoveUnusedImportsHandler ().Start (options);
}));
organizeUsingsMenu.CommandInfos.Add (IdeApp.CommandService.GetCommandInfo (MonoDevelop.Refactoring.RefactoryCommands.SortImports), new RefactoryOperation (delegate {
//.........这里部分代码省略.........
示例7: Update
protected override void Update (CommandArrayInfo ainfo)
{
var doc = IdeApp.Workbench.ActiveDocument;
if (doc == null || doc.FileName == FilePath.Null)
return;
var parsedDocument = doc.ParsedDocument;
if (parsedDocument == null || parsedDocument.IsInvalid)
return;
ResolveResult resolveResult;
object item = GetItem (doc, out resolveResult);
bool added = false;
var options = new RefactoringOptions (doc) {
ResolveResult = resolveResult,
SelectedItem = item
};
var ciset = new CommandInfoSet ();
ciset.Text = GettextCatalog.GetString ("Refactor");
bool canRename;
if (item is IVariable || item is IParameter) {
canRename = true;
} else if (item is ITypeDefinition) {
canRename = !((ITypeDefinition)item).Region.IsEmpty;
} else if (item is IType) {
canRename = ((IType)item).Kind == TypeKind.TypeParameter;
} else if (item is IMember) {
canRename = !((IMember)item).Region.IsEmpty;
} else {
canRename = false;
}
if (canRename) {
ciset.CommandInfos.Add (IdeApp.CommandService.GetCommandInfo (MonoDevelop.Ide.Commands.EditCommands.Rename), new System.Action (delegate {
new MonoDevelop.Refactoring.Rename.RenameHandler ().Start (null);
}));
added = true;
}
foreach (var refactoring in RefactoringService.Refactorings) {
if (refactoring.IsValid (options)) {
CommandInfo info = new CommandInfo (refactoring.GetMenuDescription (options));
info.AccelKey = refactoring.AccelKey;
ciset.CommandInfos.Add (info, new System.Action (new RefactoringOperationWrapper (refactoring, options).Operation));
}
}
var loc = doc.Editor.Caret.Location;
bool first = true;
if (lastDocument != doc.ParsedDocument || loc != lastLocation) {
validActions = RefactoringService.GetValidActions (doc, loc).Result;
lastLocation = loc;
lastDocument = doc.ParsedDocument;
}
foreach (var fix_ in validActions) {
var fix = fix_;
if (first) {
first = false;
if (ciset.CommandInfos.Count > 0)
ciset.CommandInfos.AddSeparator ();
}
ciset.CommandInfos.Add (fix.Title, new System.Action (() => fix.Run (doc, loc)));
}
if (ciset.CommandInfos.Count > 0) {
ainfo.Add (ciset, null);
added = true;
}
if (IdeApp.ProjectOperations.CanJumpToDeclaration (item)) {
var type = item as ICSharpCode.NRefactory.TypeSystem.IType;
if (type != null && type.GetDefinition ().Parts.Count > 1) {
var declSet = new CommandInfoSet ();
declSet.Text = GettextCatalog.GetString ("_Go to declaration");
var ct = type.GetDefinition ();
foreach (var part in ct.Parts)
declSet.CommandInfos.Add (string.Format (GettextCatalog.GetString ("{0}, Line {1}"), FormatFileName (part.Region.FileName), part.Region.BeginLine), new System.Action (new JumpTo (part).Run));
ainfo.Add (declSet);
} else {
ainfo.Add (IdeApp.CommandService.GetCommandInfo (RefactoryCommands.GotoDeclaration), new System.Action (new JumpTo (item).Run));
}
added = true;
}
if (item is IEntity || item is ITypeParameter || item is IVariable) {
ainfo.Add (IdeApp.CommandService.GetCommandInfo (RefactoryCommands.FindReferences), new System.Action (new FindRefs (item, false).Run));
if (doc.HasProject && ReferenceFinder.HasOverloads (doc.Project.ParentSolution, item))
ainfo.Add (IdeApp.CommandService.GetCommandInfo (RefactoryCommands.FindAllReferences), new System.Action (new FindRefs (item, true).Run));
added = true;
}
if (item is IMethod) {
IMethod method = item as IMethod;
if (method.IsOverride) {
ainfo.Add (GettextCatalog.GetString ("Go to _base"), new System.Action (new GotoBase ((IMethod)item).Run));
added = true;
}
//.........这里部分代码省略.........
示例8: Update
protected override void Update (CommandArrayInfo ainfo)
{
var doc = IdeApp.Workbench.ActiveDocument;
if (doc == null || doc.FileName == FilePath.Null)
return;
var parsedDocument = doc.ParsedDocument;
if (parsedDocument == null || parsedDocument.IsInvalid)
return;
ResolveResult resolveResult;
object item = GetItem (doc, out resolveResult);
bool added = false;
var options = new RefactoringOptions (doc) {
ResolveResult = resolveResult,
SelectedItem = item
};
var ciset = new CommandInfoSet ();
ciset.Text = GettextCatalog.GetString ("Refactor");
bool canRename;
if (item is IVariable || item is IParameter) {
canRename = true;
} else if (item is ITypeDefinition) {
canRename = !((ITypeDefinition)item).Region.IsEmpty;
} else if (item is IType) {
canRename = ((IType)item).Kind == TypeKind.TypeParameter;
} else if (item is IMember) {
canRename = !((IMember)item).Region.IsEmpty;
} else if (item is INamespace) {
canRename = true;
} else {
canRename = false;
}
if (canRename) {
ciset.CommandInfos.Add (IdeApp.CommandService.GetCommandInfo (MonoDevelop.Ide.Commands.EditCommands.Rename), new Action (delegate {
new MonoDevelop.Refactoring.Rename.RenameHandler ().Start (null);
}));
added = true;
}
foreach (var refactoring in RefactoringService.Refactorings) {
if (refactoring.IsValid (options)) {
CommandInfo info = new CommandInfo (refactoring.GetMenuDescription (options));
info.AccelKey = refactoring.AccelKey;
ciset.CommandInfos.Add (info, new Action (new RefactoringOperationWrapper (refactoring, options).Operation));
}
}
var refactoringInfo = doc.Annotation<RefactoringDocumentInfo> ();
if (refactoringInfo == null) {
refactoringInfo = new RefactoringDocumentInfo ();
doc.AddAnnotation (refactoringInfo);
}
var loc = doc.Editor.Caret.Location;
bool first = true;
if (refactoringInfo.lastDocument != doc.ParsedDocument || loc != lastLocation) {
try {
refactoringInfo.validActions = RefactoringService.GetValidActions (doc, loc, new CancellationTokenSource (500).Token);
} catch (TaskCanceledException) {
} catch (AggregateException ae) {
ae.Flatten ().Handle (x => x is TaskCanceledException);
}
lastLocation = loc;
refactoringInfo.lastDocument = doc.ParsedDocument;
}
if (refactoringInfo.validActions != null && refactoringInfo.lastDocument != null && refactoringInfo.lastDocument.CreateRefactoringContext != null) {
var context = refactoringInfo.lastDocument.CreateRefactoringContext (doc, CancellationToken.None);
foreach (var fix_ in refactoringInfo.validActions.OrderByDescending (i => Tuple.Create (CodeActionEditorExtension.IsAnalysisOrErrorFix(i), (int)i.Severity, CodeActionEditorExtension.GetUsage (i.IdString)))) {
if (CodeActionEditorExtension.IsAnalysisOrErrorFix (fix_))
continue;
var fix = fix_;
if (first) {
first = false;
if (ciset.CommandInfos.Count > 0)
ciset.CommandInfos.AddSeparator ();
}
ciset.CommandInfos.Add (fix.Title, new Action (() => RefactoringService.ApplyFix (fix, context)));
}
}
if (ciset.CommandInfos.Count > 0) {
ainfo.Add (ciset, null);
added = true;
}
if (IdeApp.ProjectOperations.CanJumpToDeclaration (item)) {
var type = item as IType;
if (type != null && type.GetDefinition ().Parts.Count > 1) {
var declSet = new CommandInfoSet ();
declSet.Text = GettextCatalog.GetString ("_Go to Declaration");
var ct = type.GetDefinition ();
foreach (var part in ct.Parts)
declSet.CommandInfos.Add (string.Format (GettextCatalog.GetString ("{0}, Line {1}"), FormatFileName (part.Region.FileName), part.Region.BeginLine), new System.Action (new JumpTo (part).Run));
ainfo.Add (declSet);
} else {
//.........这里部分代码省略.........
示例9: OnOpenWithUpdate
public void OnOpenWithUpdate (CommandArrayInfo info)
{
ProjectFile finfo = (ProjectFile) CurrentNode.DataItem;
FileViewer prev = null;
foreach (FileViewer fv in IdeApp.Workbench.GetFileViewers (finfo.Name)) {
if (prev != null && fv.IsExternal != prev.IsExternal)
info.AddSeparator ();
CommandInfo ci = info.Add (fv.Title, fv);
ci.Description = GettextCatalog.GetString ("Open with '{0}'", fv.Title);
prev = fv;
}
}
示例10: Update
protected override void Update (CommandArrayInfo ainfo)
{
var doc = IdeApp.Workbench.ActiveDocument;
if (doc == null || doc.FileName == FilePath.Null)
return;
var parsedDocument = doc.ParsedDocument;
if (parsedDocument == null || parsedDocument.IsInvalid)
return;
ResolveResult resolveResult;
object item = GetItem (doc, out resolveResult);
bool added = false;
var options = new RefactoringOptions (doc) {
ResolveResult = resolveResult,
SelectedItem = item
};
var ciset = new CommandInfoSet ();
ciset.Text = GettextCatalog.GetString ("Refactor");
bool canRename;
if (item is IVariable || item is IParameter) {
canRename = true;
} else if (item is ITypeDefinition) {
canRename = !((ITypeDefinition)item).Region.IsEmpty;
} else if (item is IType) {
canRename = ((IType)item).Kind == TypeKind.TypeParameter;
} else if (item is IMember) {
canRename = !((IMember)item).Region.IsEmpty;
} else if (item is INamespace) {
canRename = true;
} else {
canRename = false;
}
if (canRename) {
ciset.CommandInfos.Add (IdeApp.CommandService.GetCommandInfo (MonoDevelop.Ide.Commands.EditCommands.Rename), new Action (delegate {
new MonoDevelop.Refactoring.Rename.RenameHandler ().Start (null);
}));
added = true;
}
foreach (var refactoring in RefactoringService.Refactorings) {
if (refactoring.IsValid (options)) {
CommandInfo info = new CommandInfo (refactoring.GetMenuDescription (options));
info.AccelKey = refactoring.AccelKey;
ciset.CommandInfos.Add (info, new Action (new RefactoringOperationWrapper (refactoring, options).Operation));
}
}
var loc = doc.Editor.Caret.Location;
bool first = true;
if (lastDocument != doc.ParsedDocument || loc != lastLocation) {
if (QuickTaskStrip.EnableFancyFeatures) {
var ext = doc.GetContent <CodeActionEditorExtension> ();
validActions = ext != null ? ext.GetCurrentFixes () : null;
} else {
validActions = RefactoringService.GetValidActions (doc, loc).Result;
}
lastLocation = loc;
lastDocument = doc.ParsedDocument;
}
if (validActions != null) {
foreach (var fix_ in validActions) {
var fix = fix_;
if (first) {
first = false;
if (ciset.CommandInfos.Count > 0)
ciset.CommandInfos.AddSeparator ();
}
ciset.CommandInfos.Add (fix.Title, new Action (() => fix.Run (doc, loc)));
}
}
if (ciset.CommandInfos.Count > 0) {
ainfo.Add (ciset, null);
added = true;
}
if (IdeApp.ProjectOperations.CanJumpToDeclaration (item)) {
var type = item as IType;
if (type != null && type.GetDefinition ().Parts.Count > 1) {
var declSet = new CommandInfoSet ();
declSet.Text = GettextCatalog.GetString ("_Go to declaration");
var ct = type.GetDefinition ();
foreach (var part in ct.Parts)
declSet.CommandInfos.Add (string.Format (GettextCatalog.GetString ("{0}, Line {1}"), FormatFileName (part.Region.FileName), part.Region.BeginLine), new System.Action (new JumpTo (part).Run));
ainfo.Add (declSet);
} else {
ainfo.Add (IdeApp.CommandService.GetCommandInfo (RefactoryCommands.GotoDeclaration), new System.Action (new JumpTo (item).Run));
}
added = true;
}
if (item is IEntity || item is ITypeParameter || item is IVariable || item is INamespace) {
ainfo.Add (IdeApp.CommandService.GetCommandInfo (RefactoryCommands.FindReferences), new System.Action (new FindRefs (item, false).Run));
if (doc.HasProject && HasOverloads (doc.Project.ParentSolution, item))
//.........这里部分代码省略.........
示例11: OnUpdateInsertOption
protected void OnUpdateInsertOption (CommandArrayInfo info)
{
foreach (string[] op in options) {
if (op [0] == "-")
info.AddSeparator ();
else
info.Add (op [0], op [1]);
}
}
示例12: OnOpenWithUpdate
public void OnOpenWithUpdate (CommandArrayInfo info)
{
SystemFile file = CurrentNode.DataItem as SystemFile;
FileViewer prev = null;
foreach (FileViewer fv in IdeApp.Workbench.GetFileViewers (file.Path)) {
if (prev != null && fv.IsExternal != prev.IsExternal)
info.AddSeparator ();
info.Add (fv.Title, fv);
prev = fv;
}
}
示例13: Update
protected override void Update (CommandArrayInfo info)
{
foreach (ExternalTools.ExternalTool externalTool in ExternalTools.ExternalToolService.Tools) {
//Create CommandInfo object
CommandInfo commandInfo = new CommandInfo ();
commandInfo.Text = externalTool.MenuCommand;
commandInfo.Description = GettextCatalog.GetString ("Start tool {0}", string.Join (string.Empty, externalTool.MenuCommand.Split('&')));
commandInfo.AccelKey = externalTool.AccelKey;
//Add menu item
info.Add (commandInfo, externalTool);
}
if (info.Count > 0)
info.AddSeparator ();
}