aymanhs / jsyntaxpane

Automatically exported from code.google.com/p/jsyntaxpane
4 stars 1 forks source link

Intellisense is needed #10

Open GoogleCodeExporter opened 8 years ago

GoogleCodeExporter commented 8 years ago
it would be nice to get an code completion just like Java IDE Eclipse. When
Ctrl + space is pressed, a popup menu appears to help user select words.

For instance, I can pass two arrays:

String[] text =  {“Name”, “Comment”};
Icon[] icons = {…..};

Text array is for the text of Intellisence and icons array is for the icons
on the left side.

Possible request: 

1. the Intellisense popup menu appears wherever Ctrl + Space is pressed 
2. if there is no letter before the cursor, IntelliHint will show all the
items from text array 
3. if there is a letter before the cursor, IntelliHint will only show the
items beginning with the letter from text array 
4. if the item from popup menu is selected, the corresponding text should
be inserted 

Original issue reported on code.google.com by hongyi.j...@gmail.com on 30 Jul 2008 at 10:15

GoogleCodeExporter commented 8 years ago
This is also an enhancement.  I'll investigate this for a future release.  
However
this is almost out of scope for a simple highlighting editor pane.

Original comment by ayman.al...@gmail.com on 31 Jul 2008 at 1:36

GoogleCodeExporter commented 8 years ago
Hi Ayman,

I'm the founder of photo album software Jalbum (http://jalbum.net). I would 
like to
use your editor inside Jalbum in order to simplify editing Jalbum's template 
files.
For this I'd love to see the exact same enhancment. This is why:
Users editing Jalbum template files really don't remember all the (say 100) 
Jalbum
skin variables. If the editor was smart enough to present a pop up menu with 
multiple
choices when there is an ambiguity in the code completion (like most IDEs do), 
that
would help tremendously.

I know you don't want "creeping featurism", but such an addition would in my 
opintion
make this component very versatile.

I'd also love to see Combined html and Java syntax support (jsp style, 
sensitive to
<% scriptlets %> )

Original comment by da...@enty.se on 7 Dec 2008 at 10:42

GoogleCodeExporter commented 8 years ago
Thanks for your interest.
Intellisense is a bit tricky.  It's more than just a menu to be popped up.  
When you
have that "menu", it should narrow down as you type, and it should dynamically 
change
with characters as you type.  Otherwise it will look really crude.  I'll try to 
have
some tests for that and see how it feels.  I'll surely upload that test as well.
As for jsp support, it could be done by a new Lexer.  I just did not have time 
to add
that.  I'd love if somebody else can do that, and i'll gladly put it in the 
main release.

Original comment by ayman.al...@gmail.com on 11 Dec 2008 at 6:56

GoogleCodeExporter commented 8 years ago
Forgot to mention that in the meantime, you should be able to use the 
preliminary
completion feature like in JavaSyntaxKit.  The completions are in
jsyntaxpane.javasyntaxkit.completions.properties

Original comment by ayman.al...@gmail.com on 11 Dec 2008 at 6:57

GoogleCodeExporter commented 8 years ago
Just because, I'm currently working on the UI for Intellisense.  I initially 
used an
editable combobox, but it was not that easy to work with, and did not provide 
all the
functionality.  I ended up creating a textbox and a list box frame that is much
better.  It is kinda crude, but does the job pretty well for its size.
I'll wrap up and clean the code, then add some completions to test the UI.

Original comment by ayman.al...@gmail.com on 15 Dec 2008 at 8:39

GoogleCodeExporter commented 8 years ago
Reflection and Abbreviations should do the job for now.

Original comment by ayman.al...@gmail.com on 6 Mar 2009 at 8:32

GoogleCodeExporter commented 8 years ago
Are there any plans to further integrate reflection and intellisense? 

Original comment by chad.dor...@gmail.com on 9 Mar 2009 at 7:40

GoogleCodeExporter commented 8 years ago
Possibly.  But that requires full parsing of the language to be
usable.  I researched that a bit, but it was a bit complicated.
Adding a parsing library will be doable, but will be a substantial
change.  A google project "javaparser" seems like a good fit. but not
right now.  I'll add an Enhancement and see how many votes it gets.

Vote for this if you think its worth the effort.  It will blow up the size of 
the jar
and take us into a new territory.

Original comment by ayman.al...@gmail.com on 9 Mar 2009 at 2:12

GoogleCodeExporter commented 8 years ago
Code assist functionality would be amazing, but it's not practical (or even 
beneficial) for a project like this.  In order to be useful, code assist would 
need to be aware of the build tree, including all linked libraries, build 
paths, etc.  This would require in-depth knowledge of the environment, which 
would destroy jsyntaxpane's portability.

It would be a much better design to use an external code assist library (such 
as JDT) and once you've generated your list of suggestions, feed them into 
JSyntaxPane to be rendered.

Original comment by laser...@gmail.com on 19 Jun 2010 at 9:53

GoogleCodeExporter commented 8 years ago
Well, that is why no more work was done for this.  It would be too much for 
this kind of utility library.

Original comment by ayman.al...@gmail.com on 22 Jun 2010 at 8:03