
I have another thing I would like your help:
I have two modus:
1. the expertmode where the intellipromptList is filled with everything (like I did in the replies above)
2. the normal mode where I want to create my own List without the Reflection, etc.
So I do following:
 
void cSharp_SyntaxEditorIntelliPromptMemberListPreFilter(object sender, ActiproSoftware.SyntaxEditor.IntelliPromptMemberListPreFilterEventArgs e)
    {
      if (((CSharpContext)e.Context).Items == null)
      {
        //----------------------------------------------------
        //Erstelle alle Gruppen
        //----------------------------------------------------
        e.Items.Clear();
        e.Items.Add("PV", new ActiproSoftware.SyntaxEditor.IntelliPromptMemberListItem("PV", (int)IconResource.PrivateClass)
        {
          Tag = new ActiproSoftware.SyntaxEditor.Addons.DotNet.Ast.PropertyDeclaration(ActiproSoftware.SyntaxEditor.Addons.DotNet.Ast.Modifiers.None
                                                                                      , new ActiproSoftware.SyntaxEditor.Addons.DotNet.Ast.QualifiedIdentifier("PV"))
          {
            Documentation = "<summary>Liste aller Planungsgrößen</summary>"
          }
        });
        foreach (Shared.Data.FormulaEditorData.FN func in _data.FNs)
        {
          ActiproSoftware.SyntaxEditor.Addons.DotNet.Ast.MethodDeclaration tag =  
            new ActiproSoftware.SyntaxEditor.Addons.DotNet.Ast.MethodDeclaration(ActiproSoftware.SyntaxEditor.Addons.DotNet.Ast.Modifiers.Public
                                                                                , new ActiproSoftware.SyntaxEditor.Addons.DotNet.Ast.QualifiedIdentifier(func.Name));
          tag.Documentation = "<summary>Funktion " + func.Name + "</summary>";
          
          foreach (Shared.Data.FormulaEditorData.PRM prm in func.Params)
          {
            tag.Parameters.Add(new ActiproSoftware.SyntaxEditor.Addons.DotNet.Ast.ParameterDeclaration(ActiproSoftware.SyntaxEditor.Addons.DotNet.Ast.ParameterModifiers.None, prm.Name)
            {
              ParameterType = new ActiproSoftware.SyntaxEditor.Addons.DotNet.Ast.TypeReference(prm.Type, new TextRange())
            }); 
            tag.Documentation += "<param name=\"" + prm.Name + "\">" + prm.Desc + "</param>";
          }
          tag.Documentation += "<returns></returns>";
          tag.ReturnType = new ActiproSoftware.SyntaxEditor.Addons.DotNet.Ast.TypeReference(func.ReturnType, new TextRange());
          tag.Modifiers = ActiproSoftware.SyntaxEditor.Addons.DotNet.Ast.Modifiers.Public;
          e.Items.Add(func.Name, new ActiproSoftware.SyntaxEditor.IntelliPromptMemberListItem(func.Name, (int)IconResource.PublicMethod) { Tag = tag });
        }
      }
 
// Fill the PV-Group
 Everything works fine and I get my Groups with the necessary Items. The problem are the functions.
If I open the Intellipromptlist I get (e.g. "Function1" - "decimal function(int x, int y)" with description below) but if I use the function and write "function(" in the editor, the editor won't show me the parameter which is necessary for the function which should be first "int x" and after I type "function(1," "int y".
So I want the IntelliSense to show me which parametertype is awaited.
I hope it's understandable.
Thanks for your help.
[Modified 13 years ago]