Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
[jdt-ui-dev] Introducing SoC Project: JDT UI Code Completion and Refactoring Improvements

Dear JDT UI Developers,

My name is Gábor and I'm a PhD student at the Budapest University of Technology and Economics. During this summer, I'll be working on improving the code completion and refactoring features of JDT UI under the mentorship of Noopur Gupta, Raffi Khatchadourian and Lars Vogel.

In my project, I plan to accomplish the following:

- Implement efficient subwords completion. The subwords code completion is not meant to duplicate or replace the functionality provided by Code Recommenders. Only a small subset of subwords matching will be implemented, which are useful to be an integral part of JDT UI. For example, .SelectionListener should match .addSelectionListener but not .addSelectionTestListener or .SL should match .addSelectionListener and .setSelectionListener but not .addSelectionTestListener.

- Implement postfix code completion. Postfix code completion is a feature that increases developer productivity by reducing the need to jump back in the code. Often we start to type variable or type names and then we realize we have to go back to put a specific keyword before, such as if or throw. A demo about the concept is available at [1]. Also, there is some initial work [2] done towards this feature. I propose reviewing and integrating this to JDT.

- Explore at what extent current refactorings and quick assists cover Java 8 features and extend the functionality to add more useful refactorings. For example, refactoring fields to be Optional<T>, use String.join() instead of StringBuffer, remove inferable types etc.

I'll post my status updates about my work on a weekly basis and I'll also keep it at my wiki page [3].

Best Regards,
Gábor Kövesdán

[1] http://blog.jetbrains.com/idea/2014/03/postfix-completion/
[2] https://bugs.eclipse.org/bugs/show_bug.cgi?id=458804
[3] https://wiki.eclipse.org/Google_Summer_of_Code_2015/JDT_UI_Code_Completion_and_Refactoring



Back to the top