Summary: | Filter code assist choices based on context | ||
---|---|---|---|
Product: | [Eclipse Project] JDT | Reporter: | Randy Hudson <hudsonr> |
Component: | Core | Assignee: | Philipe Mulet <philippe_mulet> |
Status: | RESOLVED WORKSFORME | QA Contact: | |
Severity: | enhancement | ||
Priority: | P2 | ||
Version: | 2.0 | ||
Target Milestone: | 2.1 RC1 | ||
Hardware: | All | ||
OS: | All | ||
Whiteboard: |
Description
Randy Hudson
2002-03-08 09:38:46 EST
this is on our un-committed list for 2.0. We will not filter but intend to use sorting. The basic support has to come from JDT Core. We will add an extra parameter in ICompletionRequestor callback API to denote the relevance of the completion candidate, which will discriminate on the following criteria: - case matching - expected type matching (i.e. completion in right-hand side of assignments) - visible vs. non-visible - unqualified vs. qualified completions for types We do not promise in a first cut to address the completion inside method call scenario (provide completions which match respective parameter types), but this can be added later on. Description of the supported scenarii will be added to this note. Other scenario: exception type should have better relevance if containing "exception" or "error" in their name. If the completion identifier and proposal are equal and the case match then the proposal relevance grow. If the completion is inside a super type in type declaration header then the relevance grow when the type have the correct nature : After extends keyword of a class header the relevance grow if the type is a class. After implements keyword of a class header the relevance grow if the type is an interface. After extends keyword of an interface header the relevance grow if the type is an interface. If the completion is inside a type in a catch or throws clause the relevance grow when the type is an exception (if the name of the type contain exception or error). If the completion is inside a throw statement the relevance grow when the proposal is an exception. Downgrading priority, some of the relevance is in already. Rest will happen post 2.0 Defer Defer Defer CodeAssist relevances are now used for sorting. Closing Closing |