(Difference between revisions)
Line 5: Line 5:
=Features for future releases=
=Features for future releases=
[[GUIBuilderPlan72| GUI Builder Plan]]
[[CslPlan72 | CSL plans ]]
==Transactional index==
==Transactional index==
({{iz|182653}}) Use data from old index while indexing is running (where possible) '''60 days'''
({{iz|182653}}) Use data from old index while indexing is running (where possible) '''60 days'''

Revision as of 16:04, 1 December 2011

Disclaimer: The content of this NetBeans development wiki page is intended for pre-planning purposes ONLY. The development, release, and timing of any feature or functionality described here should not be treated as final, and is subject to change at any time at the sole discretion of Oracle. For information about NetBeans software releases please visit the NetBeans Roadmap.

Plan for the upcoming release is here: EditorPlan72. This page serves as placeholder for items for future releases.


Features for future releases

GUI Builder Plan CSL plans

Transactional index

(Issue 182653) Use data from old index while indexing is running (where possible) 60 days

Some features like Lucene Indexes already lock the index only in time of index update not during the whole indexing but the index reader client is negatively affected by the IO. Improving the index caching should help, see Improve Go To Type.

Complete Transactional Index support requires several changes:

  • The threading model of parsing has to be changed from a single dedicated parser thread to a concurrent model where the indexer (parser) is called by a non dedicated thread concurrently to the parser thread. This is an incompatible API change in the threading model which may affect existing languages depending on the single threaded model. On the other hand the Indexing API never declared the single threaded model.
  • The disk caches have to be transactional. The Lucene index supports transactions, but a custom storage implementation such as Java Signature Files have to be updated to support transactions as well. The transactional cache introduces higher IO load as the disk operations are done twice (the first time in a log phase, the second time in a commit phase - simpler).
  • The biggest problem is how to avoid OOM situations. Currently the dedicated parser thread uses VM telemetry to prevent OOME. This approach will not work as there will be more parsing threads running concurrently and consuming memory.
  • The JavaCustomIndexer and JavaBinaryIndexer have to be rewritten so that they can handle requests even before the up-to-date check is finished.

More Hints

From IDEA, Eclipse

Internal Wiki

JDK 8 features

JSR 308

http://openjdk.java.net/projects/type-annotations/ Seems to be implemented in the JDK7 code base (???)

Jigsaw (???)

http://jcp.org/en/jsr/detail?id=294 The status is currently unknown.

Module project type

Platform manager changes

Library Manager

Debugger, Profiler

Handled by the respective teams --- but almost no changes required there.

Dependency Viewer

From Maven.

OSGi bundles support

The main question here whether we want to support bundles without using Maven. If so the following would have to be implemented:

OSGi bundle project type

Platform manager changes

Library Manager

Debugger, Profiler

Handled by the respective teams --- but almost no changes required there.

Dependency Viewer

From Maven.

More refactorings

Batch Refactorings (please)

From IDEA, Eclipse

Replace Temp with Query

Extract Method Object

Introduce Parameter Object

Issue 148567 Invert Boolean

Issue 72059 Make Method Class Static

197190 Issue 197190 Implement Replace Constructor With Factory Method/builder

Issue 57545 Inline Method/Variable

Issue 55762, Issue 56726 Generify

Copy Clone Move

Move: Issue 57767, Issue 91516, Issue 92904, Issue 154900 Issue 147849 depends on this

Copy: Issue 101216 Issue 100758 Beans Refactoring Integration

Issue 57715 Replace Method Code Duplicates

Issue 57545 Inline Method/Variable Improved Java Search


  • Find Usages for methods (relates to Call Hierarchy too)
  • Mimetype registration for actions and plugins

Hints from annotations

Java Source Code Processing Annotations (Honza L., Jarda) --- obsoleted by Jackpot 3.0

Stabilize editor APIs

Issue 130487 Provide replacements for API/SPIs from org.netbeans.editor (Mila,Vita)

Issue 130488 Provide better supports for particular editor API/SPIs (Mila,Vita)

(B) Issue 120357 Rework and stabilize Indentation API - this in particular means to (Vita 5)

  • isolate old formatting API to a deprecated autoload module (in progress)
  • cleanup GSF formatting related API
  • improve the new API, documentation, usecases, etc.

(B) Issue 102406 Stop using and deprecate Syntax (Vita 10)

  • get rid of Syntax based java indenter
  • rewrite or make Marian Petras to lexerify properties module
  • isolate all Syntax related classes to a deprecated autoload module

Make Parsing and Indexing API stable (??)

JNLP and WebStart improvements

Issue 181260 Do not add Class-Path attribute into applet jar

Issue 181261 Provide a way to mark JNLP jars as eager or lazy.

Issue 181262 Add "indexMetaInf" attribute into jar task

Issue 181263 Provide UI to manage certificates to sign the JNLP application

Issue 181264 Add more sophisticated customizer of VM options

Issue 181265 Add filter warnings possibility into the output window

PelMel (?)


  • extended support for closure-like anonymous innerclasses (anonymous innerclasses with one method):
    • folding of the anonymous innerclass class into a closure-like format
    • code completion shows a closure-like entry when possible, that generates the appropriate anonymous innerclass
  • folding of constructor and method type parameters

Integrated search (???)

We have many issues with Search dialogs (details) We should work on integration of those features: Find, Replace, Find in Projects, Replace in Projects, Find Usages

Code beautifier (reformat and fix imports on more files)

Organize imports (?)

Issue 122109 Optimize Imports

Misc Features

Issue 105927 Support for Class-Path attribute in manifest (Tomas 5)

Issue 46863 Issue 43601 Permit library names to contain spaces and rename (Tomas 7)

Issue 174506 Run File for any java file with main methods should accept command line parameters (Tomas 3)

Various fixes/improvements in indexing (eg. Issue 170521, Issue 177511, Issue 170939, Issue 176271, Issue 159756, Issue 170915, etc.) (Vita 10) (Tomas 5)

Issue 101843 Up-to-date status in error stripe (Lahoda 3)

Top Voted Enhancements

Paste Formatted improvements

Issue 122100 Analyze framework (tool for static analysis) (Honza P., Honza L.)

Issue 60941 Javadoc Formatter (Honza P. 7)

(E) Issue 152749 Scanning of sources and compiling should be removed (Scan On Demand) (Vita 5 (evaluation))

Issue 47507 Transitively required libraries not automatically added to runtime classpath

General Infrastructure Improvements

Issue 135492 Simplify Coloring Profiles creation (Vita)

Issue 177866 CSL SPI for allowing clients to register their own "navigator views"

Issue 170281 API for declaring item in Navigator to collapsed/expanded as default

Usability Improvements

Issue 166451 Strip trailing spaces on file save - add more customization

Issue 138794 - Redesign "Javadoc Index Search" GUI

Features on Save (reformat, fix imports, etc) (Mila)

Issue 157079 Keymap Panel UI improvements

Issue 164601 Expansions improvements

Quality Feedback

  • Dusan
  • Issue 74806 Code completion for method/variable/class names should offer used but undeclared identifiers
  • Couple of simple changes in code completion:
  • Issue 75503 Cross deprecated constructors in pop-up menu invoked by Ctrl-P
  • Issue 80733 Ctrl-P should work for generics type parameters
  • Issue 96008 Use simple name for inner classes
  • Issue 112742 Simple return value for methods returning wildcard generic
  • Honza L.
  • Hanz
  • Mila
  • Issue 103467 Explicit control of UndoableEdit chunking
  • Issue 86511 Create syntax coloring guide for Lexer
  • Issue 122856 Eliminate non-read/write-locked use of TokenHierarchy's methods
  • Issue 150197 Switch off Lexer's Token Hierarchy during formatting
  • Vita
  • Honza P.
  • Max
  • There was also an idea of hardcoding lists of the most common shortcut that are used by various OSes and to warn a user when they try to assign them to Netbeans actions.
  • Issue 133145 - Surround with try-catch needs user options
  • Issue 131873 - "add parameter to constructor" hint
  • Issue 148751 - Provide change type hint when there are incompatible generic type
  • Issue 145018 - Change return type hint!! Performance
Not logged in. Log in, Register

By use of this website, you agree to the NetBeans Policies and Terms of Use. © 2012, Oracle Corporation and/or its affiliates. Sponsored by Oracle logo