blob: 5075eaf9e670ab9aa3181228ab6072a85b0d2d79 [file] [log] [blame]
////
Licensed to the Apache Software Foundation (ASF) under one
or more contributor license agreements. See the NOTICE file
distributed with this work for additional information
regarding copyright ownership. The ASF licenses this file
to you under the Apache License, Version 2.0 (the
"License"); you may not use this file except in compliance
with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing,
software distributed under the License is distributed on an
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
KIND, either express or implied. See the License for the
specific language governing permissions and limitations
under the License.
////
= Apache NetBeans (incubating) 10.0 Features
:jbake-type: page
:jbake-tags: 10.0 features
:jbake-status: published
:keywords: Apache NetBeans 10.0 IDE features
:icons: font
:description: Apache NetBeans 10.0 (incubating) features
:toc: left
:toc-title:
:toclevels: 4
////
This is the NetBeans 10.0 feature page.
nb100/index.asciidoc -> NetBeans 10.X feature page
nb100/nb100.asciidoc -> NetBeans 10.0 release information (voting links, etc.)
...
nb100/nb101.asciidoc (if any) -> NetBeans 10.1 release information
////
Apache NetBeans (incubating) 10.0 is the second major release of the Apache NetBeans IDE. It was released in December, 2018. link:/download/nb100/nb100.html[Click here to download] this release.
This release is focused in adding support for JDK 11, JUnit 5, PHP, JavaScript and Groovy, as well in solving many issues.
////
To display a feature do as follows:
Add a header title, and an anonymous asciidoc block (--) with the ".feature" metadata, and write text inside the block:
== A title here
[.feature]
--
This is a feature
--
You can add images to the feature by adding a png file along with the document, and adding a image: construct to the text.
Use role="left" for left alignment or role="right" for right alignment.
Examples:
== An amazing feature
[.feature]
--
Here goes some text
image:nb90-module-info.png[Adding module-info.java, title="Adding module-info.java", role="left", link="nb90-module-info.png"]
And some more text
image:nb90-module-info-completion.png[Autocompletion in module-info.java, title="Autocompletion in module-info.java", role="right", link="nb90-module-info-completion.png"]
And even some more
--
Note: When rendered into HTML, the images will automatically be wrapped around 'colorbox', so that they're enlarged when clicked.
////
== JDK 11 Support
JDK 11 support has been enhanced in the following ways:
- Integration with the link:https://hg.netbeans.org/main/nb-java-x[nb-javac] project, adding support for JDK 11.
- Removed the CORBA modules.
- Support for link:http://openjdk.java.net/jeps/309[JEP 309, Dynamic Class-File Constants].
- Support for link:http://openjdk.java.net/jeps/323[JEP 323, Local-Variable Syntax for Lambda Parameters].
- Support for link:https://cwiki.apache.org/confluence/display/NETBEANS/LVTI+Support+for+Lamdba+Parameters+in+NetBeans+10[LVTI Support for Lamdba Parameters]
image:convert-to-var.png[New Hint to convert variable type to 'var' for lambda parameters(JDK 11 and above)]
- Code completion for var lambda parameters
image:var-autocomplete-1st-param.png[Code completion support for var type lambda parameters.(JDK 11 and above)]
See the link:https://cwiki.apache.org/confluence/display/NETBEANS/Feature%3A+JDK+11[JDK 11 Confluence Page] for more detailed features.
== PHP Support
All the PHP support for NetBeans 10 was contributed by our NetBeans committer
link:http://netbeans.apache.org/community/who.html#_junichi_yamamoto[Junichi Yamamoto].
These are some of the new features:
=== PHP 7.3
[.feature]
--
You can now add trailing commas in function calls under PHP 7.3 (link:https://lists.apache.org/thread.html/3f7fee458f5b47d5531ad42350c6e7f619636f0708b6bbc33db2f49a@%3Cdev.netbeans.apache.org%3E[mailing list thread]).
image::nb100-php73-trailing-comma-in-function-calls-small.png["Trailing commas in function calls in PHP 7.3", role="left", link="nb100-php73-trailing-comma-in-function-calls.png"]
And also use the link:https://wiki.php.net/rfc/list_reference_assignment[list reference assignment]
image::nb100-php73-list-reference-assignment.png[role="right"]
The link:https://wiki.php.net/rfc/flexible_heredoc_nowdoc_syntaxes[flexible Heredoc and Nowdoc Syntaxes] are also supported.
image::nb100-php73-flexible-heredoc-and-nowdoc-syntaxes.png[role="left"]
--
=== PHP 7.2
[.feature]
--
For PHP 7.2 we support trailing commas in list syntax, coloring for object types and PHP version in project properties.
image::nb100_php_editor_php_version_72_trailing_commas_in_list_syntax.png[role="right"]
--
=== PHP 7.1
[.feature]
--
For PHP 7.1 we have class constant visibility, multi-catch exception handling, nullable types, support for keys in list(),
coloring for new keywords (void, iterable).
image::nb100_php_editor_class_constant_visibility_01.png[role="left"]
--
=== More PHP features
And more: context sensitive lexer, PHPStan support, debugger, twig, hints, suggestions, code completion... visit link:https://cwiki.apache.org/confluence/display/NETBEANS/Feature%3A+PHP[PHP Features Page]
and link:https://cwiki.apache.org/confluence/display/NETBEANS/Apache+NetBeans+10.0+New+and+Noteworthy#ApacheNetBeans10.0NewandNoteworthy-OpenJDK[NetBeans 10 New and Noteworthy]
for more details on PHP support.
== JUnit 5
[.feature]
--
JUnit 5.3.1 has been added as a new Library to NetBeans, so you can quickly add
it to your Java projects. For Maven projects without existing tests, JUnit 5
is now the default JUnit version.
image:nb100-junit5-library-small.png[JUnit 5 Library, role="left", link="nb100-junit5-library.png"]
The JUnit 5 `@Testable` annotation is also supported. Any method that includes
an annotation that inherits from this, will be allowed to be executed with
these action menu items.
Default JUnit 5 Test Template provided out of the box. Note JUnit 5 doesn't
currently support test suite's for its Jupiter engine, so the template provided
will attempt to create a test suite using the Vintage engine.
image:nb100-junit5-templates-small.png[JUnit 5 Templates, role="right", link="nb100-junit5-templates.png"]
--