Announcement

Collapse
No announcement yet.

Wechseln zwischen ContentAssistProcessors

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Wechseln zwischen ContentAssistProcessors

    Hi,

    ich erstelle gerade eine CodeCompletion.

    Hierfür habe ich (momentan) zwei CompletionProcessors. Einen für Templates und einen für Code Sachen.

    Code:
    public class CodeCompletionProcessor() implements IContentAssistProcessor{
    /* methods */
    }
    
    public class TemplateCompletionProcessor() extends TemplateCompletionProcessor{
    /* methods */
    }
    Diese Klassen werden beide dem ContentAssistant hinzugefügt

    Code:
    public IContentAssistant getContentAssistant(ISourceViewer sourceViewer) {
       ContentAssistant assistant= new ContentAssistant();
       assistant.setContentAssistProcessor(new CodeCompletionProcessor(), IDocument.DEFAULT_CONTENT_TYPE);
       assistant.setContentAssistProcessor(new TemplateCompletionProcessor(), IDocument.DEFAULT_CONTENT_TYPE );
    
       return assistant;
    }
    Jetzt möchte ich (wie in der Java-Perspektive), dass ich mit [STRG]+Space in die verschiedenen Assistants wechseln kann, also das ich einmal die Template und einmal die Code Proposals angezeigt bekomme.. Die einzelnen Klassen funktionieren. nur wenn ich beide lade, bekomme ich immer nur die Proposals der Klasse angezeigt, die als letztes hinzugefügt wurde.

    Hat jemand einen Vorschlag/eine Idee?

    Danke schon mal im Voraus.

    Eigene Dummheut: Der contentType bei setContentAssistProcessor darf nicht gleich sein. Nun muss ich nur noch raus finden, wie der ContentType gesetzt wird, bzw ob er gesetzt wurde und diesen auslesen. Hierzu finde ich nur gerade nichts. Also wer da eine Idee hat, bitte melden, danke.
    Zuletzt editiert von Christian Marquardt; 16.03.2010, 12:34. Reason: Beiträge zusammengefasst
Working...
X