overturetool / overture

The Overture Tool
http://overturetool.org
GNU General Public License v3.0
49 stars 25 forks source link

Convenience features #593

Open paulch42 opened 8 years ago

paulch42 commented 8 years ago

I use NetBeans for Java development and there are certain features I use repeatedly that are very convenient. They could be considered for inclusion in Overture (some are probably in the Eclipse Java IDE, I am not familiar with that).

1 - Code folds

To ignore parts of a file not of current interest, definitions, blocks, etc can be folded into a single line, and unfolded to display all again.

2 - Auto-formatting

Have the tool reformat the active file in a standard format. Saves the effort of ensuring consistent formatting, and allows consistent presentation of specification across different people, papers, presentations, etc.

3 - Module imports

It is a manual task to maintain the imports of a module. Have the system automatically determine and populate the imports section of a module (add those that are missing, remove those not in use). This sounds rather tricky in Overture due to the renaming on import feature of modules.

4 - Jump to definition

The right-click context menu when the mouse is over a reference to a type, value, function or operation could have a selection ‘go to definition’ that jumps to the definition of the relevant item (in a different file if necessary). There is an 'Open Declaration' item which works in some cases.

5 - Find all uses

The right-click context menu when the mouse is over a type, value, function or operation definition could have a selection ‘find all uses’ that displays a list containing one item for each use of the selected definition (selecting a specific item jumps to that use).

6 - Rename

Allow renaming of a type, value, function or operation such that all places where it is used are also renamed.

7 – Comment wrapper

Enclose the selected text in a comment.

The following not related to NetBeans but would be of value.

8 – More localised LaTeX

At present it is only possible to generate LaTeX for an entire project (the LaTeX context menu item is only displayed when a project is selected in the browser). Add the LaTeX menu item to folders, which would include only files subordinate to the selected folder. Also add LaTeX menu item to individual files which would create the LaTeX for that file only.

peterwvj commented 8 years ago

In terms of convenience features we already have students working on an auto-completion feature. It's not as powerful as the IntelliJ or Eclipse ones, but it's a start. The current state of this feature is described in #423. I expect it will be included in the next Overture release.

In relation to this issue, two MSc students just started working on a project that concerns the development of a re-factoring feature for Overture. I don't know the details about this project, but I would expect that the students plan to implement some of the features listed above. I'm encouraging them to do so.

@louvmand @petemachine I think the above list of features is useful input for your work.

Other than that AU is currently looking for a student programmer. If we find one it's not unlikely that he/she will be working on implementing some of these features.