public override void InsertCompletionText(CompletionListWindow window, ref KeyActions ka, MonoDevelop.Ide.Editor.Extension.KeyDescriptor descriptor) { Initialize(); var doc = ext.DocumentContext; using (var undo = ext.Editor.OpenUndoGroup()) { string text = insertNamespace ? type.ContainingNamespace.ToDisplayString(SymbolDisplayFormat.CSharpErrorMessageFormat) + "." + type.Name : type.Name; if (text != GetCurrentWord(window)) { if (window.WasShiftPressed && generateUsing) { text = type.ContainingNamespace.ToDisplayString(SymbolDisplayFormat.CSharpErrorMessageFormat) + "." + text; } window.CompletionWidget.SetCompletionText(window.CodeCompletionContext, GetCurrentWord(window), text); } if (!window.WasShiftPressed && generateUsing) { AddGlobalNamespaceImport(ext.Editor, doc, type.ContainingNamespace.ToDisplayString(SymbolDisplayFormat.CSharpErrorMessageFormat)); } } ka |= KeyActions.Ignore; }
// public override TooltipInformation CreateTooltipInformation (bool smartWrap) // { // var sig = new SignatureMarkupCreator (ext.Editor, ext.DocumentContext, ext.Editor.CaretOffset); // sig.BreakLineAfterReturnType = smartWrap; // return sig.GetKeywordTooltip (title, null); // } public override void InsertCompletionText(CompletionListWindow window, ref KeyActions ka, MonoDevelop.Ide.Editor.Extension.KeyDescriptor descriptor) { var currentWord = GetCurrentWord(window, descriptor); var text = CompletionText; if (descriptor.KeyChar == '>' && text.EndsWith(">", StringComparison.Ordinal)) { text = text.Substring(0, text.Length - 1); } if (text.StartsWith("<", StringComparison.Ordinal)) { text = text.Substring(1); } window.CompletionWidget.SetCompletionText(window.CodeCompletionContext, currentWord, text); }
public override void InsertCompletionText(CompletionListWindow window, ref KeyActions ka, MonoDevelop.Ide.Editor.Extension.KeyDescriptor descriptor) { Initialize(); var doc = completionExt.DocumentContext; var offset = completionExt.CurrentCompletionContext.TriggerOffset; base.InsertCompletionText(window, ref ka, descriptor); using (var undo = completionExt.Editor.OpenUndoGroup()) { if (!window.WasShiftPressed && generateUsing) { AddGlobalNamespaceImport(completionExt.Editor, doc, type.ContainingNamespace.ToDisplayString(SymbolDisplayFormat.CSharpErrorMessageFormat)); } else { doc.AnalysisDocument.GetSemanticModelAsync().ContinueWith(t => { Runtime.RunInMainThread(delegate { completionExt.Editor.InsertText(offset, type.ContainingNamespace.ToMinimalDisplayString(t.Result, offset, SymbolDisplayFormat.CSharpErrorMessageFormat) + "."); }); }); } } ka |= KeyActions.Ignore; }