Integrating Eclipse JDT Core into a new editor - java

I'm building a Java IDE and am trying to implement autocompletion or intellisense. After looking around for something that will do most of the work for me (not reinventing the wheel etc) I've pulled the code for Eclipse JDT core and am trying to figure out how to implement it in my own IDE. I'm obviously working under the assumption that this is possible.
If anyone knows a lot about Eclipse JDT Core, implementing intellisense, or other fun things that would help me accomplish my goal and would like to weigh in, I would appreciate it! Thanks!

Another module that could help when implementing intellisense would be XText
(might be a bit too generic for your specific JDT domain)
Xtext is a framework for development of programming languages and domain specific languages (DSLs). Just describe your very own DSL using Xtext's simple EBNF grammar language and the generator will create a parser, an AST-meta model (implemented in EMF) as well as a full-featured Eclipse text editor from that.
alt text http://www.eclipse.org/Xtext/documentation/0_7_2/images/getting-started-editor.png

Related

How to use a Java GUI designer for Clojure?

I'm LOVING coding with Clojure. It's a great language! But until the moment I haven't found any GUI designer for Clojure (with drag and drop components such as Visual Studio's Form Designer, etc). I'm studying programming and my teachers are used to require we do forms. Sometimes the forms are very simple, sometimes more complex.
What I really want to know is: What's the best way to integrate Clojure code within a Java Swing project? I know all that stuff off using jars from compiled Clojure code, but it doesn't seem the right way to do it (coding Clojure, compiling it than using it in the Java project).
I usually use NetBeans for Java projects and Atom + proto-repl for Clojure.
Thank you! (and sorry for any English mistake)
I use seesaw (https://github.com/daveray/seesaw/tree/develop). It is not a GUI designer, only a library/DSL for constructing user interfaces in Clojure build on swing but in clojure, because of REPL, is very easy to develop gui interface interactively (see the tutorial https://gist.github.com/daveray/1441520)

Drag and Drop visual editor in Eclipse

In my current project, I write high-level specification ( as indicated below for reference) and am parsing it using grammar written in ANTLR and then using StringTempate to generate equivalent Java programming code. Now, my client finds the writing of this textual high-level specification difficult and want me to provide equivalent visual drag and drop programming constructs and editor to specify this programming constructs. My question is : does eclipse provide any
drag and drop workbench to develop visual programming constructs and editors?
It MAY be easy to integrate with ANTLR.
A Sample example or its link will be useful.
TemperatureSensor
generate tempMeasurement : TempStruct;
TempStruct
tempValue : double;
unitOfMeasurement: String;
You could have a look at Graphiti, it is much lighter than GMF and easier to setup.
https://eclipse.org/graphiti/
In any case to leverage existing tools in eclipse to manipulate models, you absolutely need a metamodel to integrate into the EMF, so you might use Xtext to develop that, based on your existing antlr grammar.
Have a look at Eclipse Graphical Editing Framework (GEF), it's a framework for creating graphical editors in an Eclipse-based product or plug-in. There are even some efforts to integration GEF with XText, for example this one.
Yes, Eclipse has the Sirius project. https://www.eclipse.org/sirius/

UI Development with Java and XUL

I'm interested in using XUL as a standard way of defining my Java app (both Swing and web alike) UIs. To do this, I need two major components:
An open source GUI builder that allows me to drag n'drop UI elements, like Abeille forms or Matisse, etc., and export these UIs into a standards-compliant XUL file
A Java lib for reading that exported XUL file and building UI components out of it
I would have thought this would be easy to find, however there are a number of problems:
For one, I can't seem to find an "official" XSD Schema for XUL (even off of Mozilla's site), so it doesn't seem to be universally enforced/validated from a central schema, and as such, seems to have lots of conflicting variations across various XUL tools/products
Hence, gettting one tool that can export a XUL file, and a Java lib to read that XUL file without errors, seems to be difficult/impossible
All the XUL-based GUI builders I've found seem to be proprietary and expensive
The only Java libs that can read XUL files seem to be billed as "XUL toolkits" and include a web server, templating engine, etc. In other words, they are overkill for what I need, which is something that can read a XUL file and produce a container object full of UI widgets.
Anyone have any idea as to how I could marry these two ideas together and accomplish what I need? Thanks in advance!
I once explored that avenue with many toolkits. From my experience, it is not worth it, but why not give it another try?...
I needed the following :
CSS Integration, if possible, to skin the UI
Scripting using Rhino and/or other JVM scripting languages
XML markup support and basic Swing integration (Not really important)
I ended up customizing an existing library. I can't recall the exact name, but I think it was a fork of swingml to support inline scripting better. I improved the Rhino support and also hooked some Jython integration.
There were many other options, but nothing that was really astonishing.
I also tried to use Apache Commons Jelly (main library behind early Apache Maven versions). Commons Jelly has/had a Jelly Swing module.
At the end, I realized that it wasn't both convenient and time saving, in addition to overhead (Java reflection and dynamic method dispatching, proxies and interaction with JVM scripting languages -> scoping among other things, etc.).
I have developed some years ago and I am currently refreshing a Java sourceforge project based on XUL, and integrating scripting languages called javaXUL: https://sourceforge.net/projects/javaxul/
Check http://www.zkoss.org/product/zk
I have used zk in past it's a nice tool based on XUL. It has community edition as well as License version.
Please check if this will help. thanks

How to program a Dreamweaver-style IDE, integrated with language engines?

Premise:
I started writing an IDE web application a year or so ago. It would be similar to Adobe's Dreamweaver. It would have a WYSIWYG, text editor, and debugging tools. Of course, there are other new features that I'd like to write- otherwise, I wouldn't be writing my own IDE. I wrote a syntax highlighter and parser in JavaScript and started writing the WYSIWYG using the HTML DOM. However, as fast as rendering and JavaScript engines have gotten, they aren't the best choice for writing an IDE. So, yes, I realize how difficult an IDE is to program.
Question: Currently, I plan to write the IDE in Java or C++ (preferably Java). Instead of writing my own interpreter for PHP/HTML/CSS/JavaScript/etc., I'd like to integrate my application with as many existing tools as I can. I know Java has Rhino and Quercus. Gecko and pretty much any JavaScript engine can be integrated with C++. My question is:
What are the best engines available for C++ and Java? For PHP, HTML, CSS, and JavaScript specifically.
Would it be possible to tap into these engines to write a debugger and other tools? Preferably, as unobtrusively as possible, so I can update engine versions without much hassle.
I'm not sure what the best way to approach this. I'd prefer not to have to go back and rewrite the whole thing because my design is flawed. Any suggestions would be deeply appreciated.
I would start with an open source IDE and extend it. Netbeans and Eclipse already support a good number of languages and have debuggers.
IntelliJ CE supports all the languages mentioned, so perhaps you only need to extend it to do what you want. You might not need to write any code at all. ;)

Advice for mapping an undocumented Java Eclipse Project

I have started at a new firm and as part of my duties am making small changes on a Java Project that was developed previously. The problem is that it is mostly undocumented and very complex. By undocumented I mean no comments, no Java doc, no documentation guide, nothing. It's a website Java project developed in Eclipse and built using Ant. My question is what tools are available to help me map out the project to better understand it. Or is there any advice on the best set of steps to follow.
Thank you for your time.
Look into reverse engineering tools that can create UML diagrams for java, like omondo. If the ant build script is complex aswell - I once visualized some complex ant build script using yEd, that helped a lot.
I personally found that UML-based tools do not scale well in such cases, except for some very specific cases, where sequence diagrams might help a lot.
Instead, I would refer to the following book (available online) for a general approach to the problem:
http://scg.unibe.ch/download/oorp/
And try out some research tools for code visualization to get an overview, for example:
http://www.inf.usi.ch/faculty/lanza/codecrawler.html
(would love to post more links, but can't due to stackoverflow's spam prevention mechanism)

Categories