diff --git a/ICSharpCode.NRefactory.CSharp/Completion/CSharpParameterCompletionEngine.cs b/ICSharpCode.NRefactory.CSharp/Completion/CSharpParameterCompletionEngine.cs index 087c50654b..e0809eb73c 100644 --- a/ICSharpCode.NRefactory.CSharp/Completion/CSharpParameterCompletionEngine.cs +++ b/ICSharpCode.NRefactory.CSharp/Completion/CSharpParameterCompletionEngine.cs @@ -260,7 +260,7 @@ namespace ICSharpCode.NRefactory.CSharp.Completion { SetOffset (triggerOffset); var text = GetMemberTextToCaret (); - if (text.Item1.EndsWith ("(")) + if (text.Item1.EndsWith ("(") || text.Item1.EndsWith ("<")) return 0; var parameter = new Stack (); @@ -282,6 +282,17 @@ namespace ICSharpCode.NRefactory.CSharp.Completion if (parameter.Count > 0) parameter.Pop (); break; + case '<': + if (inString || inChar || inVerbatimString || inSingleComment || inMultiLineComment) + break; + parameter.Push (0); + break; + case '>': + if (inString || inChar || inVerbatimString || inSingleComment || inMultiLineComment) + break; + if (parameter.Count > 0) + parameter.Pop (); + break; case ',': if (inString || inChar || inVerbatimString || inSingleComment || inMultiLineComment) break;