Siegfried Pammer 15 years ago
parent
commit
e615548bfa
  1. 9
      src/AddIns/BackendBindings/VBNetBinding/Project/Src/CompletionDataHelper.cs
  2. 4
      src/AddIns/BackendBindings/VBNetBinding/Project/Src/VBNetCompletionBinding.cs

9
src/AddIns/BackendBindings/VBNetBinding/Project/Src/CompletionDataHelper.cs

@ -95,14 +95,21 @@ namespace ICSharpCode.VBNetBinding
AddSpecialItems(ref result, info, resolvedType, m, expressionResult, editor); AddSpecialItems(ref result, info, resolvedType, m, expressionResult, editor);
char prevChar;
if (pressedKey == '\0') { // ctrl+space if (pressedKey == '\0') { // ctrl+space
char prevChar = editor.Caret.Offset > 0 ? editor.Document.GetCharAt(editor.Caret.Offset - 1) : '\0'; prevChar = editor.Caret.Offset > 0 ? editor.Document.GetCharAt(editor.Caret.Offset - 1) : '\0';
word = char.IsLetterOrDigit(prevChar) || prevChar == '_' ? editor.GetWordBeforeCaret() : ""; word = char.IsLetterOrDigit(prevChar) || prevChar == '_' ? editor.GetWordBeforeCaret() : "";
if (!string.IsNullOrWhiteSpace(word)) if (!string.IsNullOrWhiteSpace(word))
result.PreselectionLength = word.Length; result.PreselectionLength = word.Length;
} }
prevChar = editor.Caret.Offset > 0 ? editor.Document.GetCharAt(editor.Caret.Offset - 1) : '\0';
if (prevChar == '_')
result.PreselectionLength++;
result.SortItems(); result.SortItems();
return result; return result;

4
src/AddIns/BackendBindings/VBNetBinding/Project/Src/VBNetCompletionBinding.cs

@ -125,6 +125,10 @@ namespace ICSharpCode.VBNetBinding
return CodeCompletionKeyPressResult.None; return CodeCompletionKeyPressResult.None;
if (IsTypeCharacter(ch, prevChar)) if (IsTypeCharacter(ch, prevChar))
return CodeCompletionKeyPressResult.None; return CodeCompletionKeyPressResult.None;
if (prevChar == '_') {
result.Expression = '_' + result.Expression;
result.Region = new DomRegion(result.Region.BeginLine, result.Region.BeginColumn - 1, result.Region.EndLine, result.Region.EndColumn);
}
LoggingService.Debug("CC: Beginning to type a word, result=" + result + ", context=" + result.Context); LoggingService.Debug("CC: Beginning to type a word, result=" + result + ", context=" + result.Context);
ShowCompletion(result, editor, ch); ShowCompletion(result, editor, ch);
return CodeCompletionKeyPressResult.CompletedIncludeKeyInCompletion; return CodeCompletionKeyPressResult.CompletedIncludeKeyInCompletion;

Loading…
Cancel
Save