Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.
Bug 360755 - Remove content assist annotation
Summary: Remove content assist annotation
Status: CLOSED FIXED
Alias: None
Product: z_Archived
Classification: Eclipse Foundation
Component: EDT (show other bugs)
Version: unspecified   Edit
Hardware: PC Windows XP
: P3 enhancement (vote)
Target Milestone: ---   Edit
Assignee: Xiao Bin Chen CLA
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2011-10-13 02:00 EDT by Xiao Bin Chen CLA
Modified: 2017-02-23 14:19 EST (History)
3 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Xiao Bin Chen CLA 2011-10-13 02:00:16 EDT
Build Identifier: 

We will use other existing condition to determine whether an external type could be shown in a blank line in The EDT1.0

Please see https://bugs.eclipse.org/bugs/show_bug.cgi?id=355574

Reproducible: Always
Comment 1 Xiao Bin Chen CLA 2011-10-13 02:02:31 EDT
Brian:

NOTE: The following changes should not be considered at this time, but should
be re-visited after .7 ships, or after the critical defects in .7 have been
resolved. [Unless my proposals result in a major design change, which I don't
think should happen]

I talked with Paul Harmon about this today, and I believe we should attempt to
resolve this issue without the addition of a new ContentAssist annotation. 
Based on my conversation with Paul, the problem is that we are not proposing
'singleton' External Types on a blank line when a user invokes content assist,
and the ContentAssist annotation indicates that the System External Types (e.g.
MathLib, etc) should be displayed as a proposal.  My first question was to ask
how this would work if I defined my own External Type with a private
constructor in an EGL project, which means that it is a 'singleton'.  I believe
our solution for System External Types should be the same as the one we would
use for User defined External Types.  When a user invokes content assist on a
blank line, any External Type with a private constructor, either defined by the
user or defined by the system, should be displayed as an option.  

A subtle change in this proposal, in addition to the removal of the
ContentAssist annotation, is that we should no longer store a
ContentAssistManager in the System Environment.  I do not believe that the
System Environment, which can be used outside of the IDE, should 'know about'
IDE related classes.  Hopefully we can just re-use some of the existing models
that are already used in the IDE to provide content assist proposals based on
User defined parts, but I would be ok with re-using ContentAssistManager in an
IDE only plug-in if that is what is required.

Finally, there are additional considerations for showing External Types on a
blank line in content assist, which can be tracked as part of this defect or in
a new defect:
* External types should be proposed on a blank line if the part contains
'static' functions, even when the constructor is not private.
* When a user chooses an External Type from content assist on a blank line, a
variable should not be created by default (e.g. var1 TheExternalType;).  This
allows the user to directly invoke functions on the type (e.g.
TheExternalType.doSomething();)
Comment 2 Xiao Bin Chen CLA 2012-02-29 20:23:25 EST
fixed
Comment 3 Lisa Lasher CLA 2012-03-30 18:32:16 EDT
close