Skip to content

Commit 615d540

Browse files
authored
v0.6.0 release notes
1 parent d95283c commit 615d540

9 files changed

+155
-0
lines changed

release-notes/v0.6.0.md

Lines changed: 155 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,155 @@
1+
# What's new in Visual Studio Code Java?
2+
3+
*February 2019*
4+
5+
Welcome to the February 2019 release of Java Extension Pack. This document aims to recap the features, bug fixes around Java language support in between releases. Here are some of the key highlights:
6+
7+
- **[IntelliCode](#intellicode)** for faster coding assisted by AI
8+
- **[Standalone Java Files](#standalone-java-files-supported)** better supported
9+
- **[Performance](#performance)** improved
10+
- **[Dependency Auto-Completion](#dependency-auto-completion-for-pom.xml-files)** for editing `pom.xml` files
11+
12+
The release notes are arranged in the following sections related to VS Code Java focus areas. Here are some further updates:
13+
14+
- **[Code Editing](#code-editing)**
15+
- **[Source Code Management](#source-code-management)**
16+
- **[Performance](#performance)**
17+
- **[Maven](#maven)**
18+
- **[Debugging](#debugging)**
19+
- **[Testing](#testing)**
20+
21+
As always, please feel free to [tweet us your feedback](https://twitter.com/intent/tweet?via=code&hashtags=Java%2CHappyCoding) or [open issues](https://github.com/Microsoft/vscode-java-pack/issues).
22+
23+
## Code Editing
24+
25+
### IntelliCode
26+
27+
IntelliCode saves you time by putting what you’re most likely to use at the top of your completion list. IntelliCode recommendations are based on thousands of open source projects on GitHub each with over 100 stars. When combined with the context of your code, the completion list is tailored to promote common practices.
28+
29+
IntelliCode works well with popular Java libraries and frameworks like Java SE and Spring. It will help you whether you are doing monolithic web apps or modern microservices.
30+
31+
In the sample below, some of the completion lists have items marked with ★. These items are the recommendations provided by IntelliCode according to the current code context.
32+
33+
![IntelliCode](v0.5.0/intellicode.gif)
34+
35+
**Note:** TypeScript/JavaScript, Python, C++, C# and XAML are also supported.
36+
37+
For more information, follow [this link](https://docs.microsoft.com/en-us/visualstudio/intellicode/intellicode-visual-studio-code).
38+
39+
### Bulk Generate Getters & Setters
40+
41+
More source actions were added to the language server. Now you can bulk generate getters and setters for all new member variables.
42+
43+
![Generate Getters & Setters](v0.6.0/bulk.gen.getter.setter.gif)
44+
45+
## Source Code Management
46+
47+
### Standalone Java Files Supported
48+
49+
We improved the support for standalone Java files. If you want to work with Java files directly but don't bother to create a project, we've got you covered.
50+
51+
The solution is folder based, so all you need to do is open a folder, and all the Java files inside will be properly compiled. Then you are free to run or debug them.
52+
53+
![Standalone Java File Support](v0.6.0/standalone.file.support.gif)
54+
55+
### Multiple Source Folder Supported
56+
57+
What if you have multiple sub-folders that have source code inside and want to go freestyle? We've got you covered too. Just add these folders to source path, then all the code inside will be correctly compiled.
58+
59+
![Multiple Source Folder Support](v0.6.0/multiple.source.folder.gif)
60+
61+
### Hide Temporary Files
62+
63+
After opening a project folder, some extra files are generated inside the folder. These are the temporary files generated by Java Language Server, which relies on the existence of those files to work properly.
64+
65+
Now it's your choice to hide those files in VS Code. When opening a project folder, Java Language Server asks how you want handle those files. You can hide them globally or just within the current workspace, or leave them as-is.
66+
67+
![Hide Temporary Files](v0.6.0/hide.temp.files.png)
68+
69+
## Performance
70+
71+
### Parallel Build
72+
73+
Thank to the improvement made from upstream JDT project, we can now enable parallel build in Java Language Server. By doing so, the time of loading a project can be reduced. The build process is per project. You will get the most performance gain when you have multiple child projects in your workspace.
74+
75+
To enable parallel build, open `settings.json` and set the option `java.maxConcurrentBuilds` to a numeric value. The recommended value is the number of CPU cores on your machine.
76+
77+
```json
78+
{
79+
"java.maxConcurrentBuilds": 4 // on a 4 core machine
80+
}
81+
```
82+
83+
### Extension Load Time Reduced
84+
85+
The load time of Java extensions is reduced by adopting *webpack*. As you know, all VS Code extensions are written in JavaScript/TypeScript. Recently, we started to adopt webpack to generate the production packages, with code combined and minified. This dramatically reduced the extension load time.
86+
87+
Please update the extensions to the newest version, and you'll get this improvement automatically.
88+
89+
## Maven
90+
91+
### Dependency Auto-Completion for `pom.xml` files
92+
93+
Maven extension now provides code snippet to quickly add new dependencies to `pom.xml` files. You also get auto-completion when further completing the dependency info.
94+
95+
![Dependency Auto-Completion](v0.6.0/pom-dependency-completion.gif)
96+
97+
### Maven Plugin Goals
98+
99+
Plugins and their goals are now listed in the explorer along with other Maven resources. You can execute the goals with a few clicks.
100+
101+
![Maven Plugin Goals](v0.6.0/maven-plugin-goals.png)
102+
103+
### Flat View & Hierarchical View
104+
105+
Maven explorer now allows you to switch between flat view and hierarchical view, to your preference.
106+
107+
## Debugging
108+
109+
### Easy Launching for Multi-Main-Class Projects
110+
111+
When you have multiple main classes in your workspace, you can have a special launch configuration to launch whatever is in the active editor. This can be handy when you use hot keys. And here's the new configuration:
112+
113+
```json
114+
{
115+
"type": "java",
116+
"name": "Debug (Launch) - Current File",
117+
"request": "launch",
118+
"mainClass": "${file}" // whatever main class in the active editor
119+
}
120+
```
121+
122+
![Multiple Main Class Easy Launch](v0.6.0/multiple.main.entry.gif)
123+
124+
## Testing
125+
126+
### Test Configuration Reorganized
127+
128+
Test configurations are very useful in special test setups. Those configurations were originally stored in `launch.test.json`, which generated lots of confusions according to the user feedback.
129+
130+
We listened, and as a result, we **deprecated** `launch.test.json`, and replaced it with regular VS Code settings. Now, the test configurations stay in `settings.json`, which can be global or at the workspace level. And they look like this:
131+
132+
```json
133+
"java.test.config": [
134+
{
135+
"name": "myTestConfiguration",
136+
"workingDirectory": "${workspaceFolder}",
137+
"args": [ "-c", "com.test" ],
138+
"vmargs": [ "-Xmx512M" ],
139+
"env": { "key": "value" },
140+
},
141+
{
142+
// Other configuration entry...
143+
}
144+
]
145+
```
146+
147+
For more details, visit [Test Runner Configurations](https://github.com/Microsoft/vscode-java-test/blob/master/runner-config.md).
148+
149+
### Navigate to Source from Test Report
150+
151+
You can now jump to the definition of a test case by clicking the link in test reports.
152+
153+
![Navigate to Source from Test Report](v0.6.0/navigate.to.source.gif)
154+
155+
## Happy Coding!
535 KB
Loading
48.3 KB
Loading
82.6 KB
Loading
517 KB
Loading
379 KB
Loading
332 KB
Loading
283 KB
Loading
487 KB
Loading

0 commit comments

Comments
 (0)