{"id":229944,"date":"2023-06-29T23:14:36","date_gmt":"2023-06-30T06:14:36","guid":{"rendered":"https:\/\/devblogs.microsoft.com\/java\/?p=229944"},"modified":"2023-06-29T23:14:36","modified_gmt":"2023-06-30T06:14:36","slug":"java-on-visual-studio-code-june-2023","status":"publish","type":"post","link":"https:\/\/devblogs.microsoft.com\/java\/java-on-visual-studio-code-june-2023\/","title":{"rendered":"Java on Visual Studio Code &#8211; June 2023"},"content":{"rendered":"<p>Hi everyone, welcome to the our June update for Visual Studio Code for Java! In this blog we are going to provide you an update about our code completion performance improvement, user experience enhancements in both unit testing and project creation, so let&#8217;s get started!<\/p>\n<h4><strong>Code Completion Performance Improvement<\/strong><\/h4>\n<p>Faster code completion is a crucial aspect of any developer tool that can greatly enhance coding productivity. In the past, we have heard from our users they felt Java code completion was slow sometimes which has impacted their work. As a result, we have been researching into how to make it faster and as a result, we have actually made significant progress.<\/p>\n<p>We will write a detailed blog later highlighting the technical details but here is some preliminary result between version 1.16 (2023-03) and version 1.19 pre-release (2023-05)<\/p>\n<table style=\"border-collapse: collapse; width: 100%;\">\n<tbody>\n<tr>\n<td style=\"width: 16.6667%;\">Latency <strong>reduction<\/strong> (compared to 1.16)<\/td>\n<td style=\"width: 16.6667%;\">p99<\/td>\n<td style=\"width: 16.6667%;\">p95<\/td>\n<td style=\"width: 16.6667%;\">p90<\/td>\n<td style=\"width: 16.6667%;\">p80<\/td>\n<td style=\"width: 16.6667%;\">p50<\/td>\n<\/tr>\n<tr>\n<td style=\"width: 16.6667%;\">1.19 pre-release (2023-05-19)<\/td>\n<td style=\"width: 16.6667%;\">56%<\/td>\n<td style=\"width: 16.6667%;\">50%<\/td>\n<td style=\"width: 16.6667%;\">46%<\/td>\n<td style=\"width: 16.6667%;\">36%<\/td>\n<td style=\"width: 16.6667%;\">32%<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<h5><\/h5>\n<p>We hope the code completion performance improvement can bring you better coding experience and we will continue to enhance the performance, reliability and compatibility of the Java language support in Visual Studio Code Java. In the next few months we will roll out a series of performance updates, please stay tuned!<\/p>\n<h4><strong>Support postDebugTask in Test Runner for Java<\/strong><\/h4>\n<p>In latest release of <a href=\"https:\/\/marketplace.visualstudio.com\/items?itemName=vscjava.vscode-java-test\">Test Runner for Java<\/a> (part of <a href=\"https:\/\/marketplace.visualstudio.com\/items?itemName=vscjava.vscode-java-pack\">Extension Pack for Java<\/a>), we have added the support for attribute <span style=\"font-family: 'courier new', courier, monospace;\">postDebugTask. <\/span>This attribute will launch a task at the very end of a debug session. This will be very useful if developer needs to perform some cleanup task after the unit testing is done. For example, cleaning up databases. You can configure the task in the following way:<\/p>\n<p><strong>Settings.json<\/strong><\/p>\n<p><a href=\"https:\/\/devblogs.microsoft.com\/java\/wp-content\/uploads\/sites\/51\/2023\/06\/settings.png\"><img decoding=\"async\" class=\"alignnone size-full wp-image-229966\" src=\"https:\/\/devblogs.microsoft.com\/java\/wp-content\/uploads\/sites\/51\/2023\/06\/settings.png\" alt=\"Settings\" width=\"1727\" height=\"850\" srcset=\"https:\/\/devblogs.microsoft.com\/java\/wp-content\/uploads\/sites\/51\/2023\/06\/settings.png 1727w, https:\/\/devblogs.microsoft.com\/java\/wp-content\/uploads\/sites\/51\/2023\/06\/settings-300x148.png 300w, https:\/\/devblogs.microsoft.com\/java\/wp-content\/uploads\/sites\/51\/2023\/06\/settings-1024x504.png 1024w, https:\/\/devblogs.microsoft.com\/java\/wp-content\/uploads\/sites\/51\/2023\/06\/settings-768x378.png 768w, https:\/\/devblogs.microsoft.com\/java\/wp-content\/uploads\/sites\/51\/2023\/06\/settings-1536x756.png 1536w\" sizes=\"(max-width: 1727px) 100vw, 1727px\" \/><\/a><\/p>\n<p><strong>Tasks.json<\/strong><\/p>\n<p><a href=\"https:\/\/devblogs.microsoft.com\/java\/wp-content\/uploads\/sites\/51\/2023\/06\/tasks.png\"><img decoding=\"async\" class=\"alignnone size-full wp-image-229967\" src=\"https:\/\/devblogs.microsoft.com\/java\/wp-content\/uploads\/sites\/51\/2023\/06\/tasks.png\" alt=\"Tasks\" width=\"1766\" height=\"1121\" srcset=\"https:\/\/devblogs.microsoft.com\/java\/wp-content\/uploads\/sites\/51\/2023\/06\/tasks.png 1766w, https:\/\/devblogs.microsoft.com\/java\/wp-content\/uploads\/sites\/51\/2023\/06\/tasks-300x190.png 300w, https:\/\/devblogs.microsoft.com\/java\/wp-content\/uploads\/sites\/51\/2023\/06\/tasks-1024x650.png 1024w, https:\/\/devblogs.microsoft.com\/java\/wp-content\/uploads\/sites\/51\/2023\/06\/tasks-768x488.png 768w, https:\/\/devblogs.microsoft.com\/java\/wp-content\/uploads\/sites\/51\/2023\/06\/tasks-1536x975.png 1536w\" sizes=\"(max-width: 1766px) 100vw, 1766px\" \/><\/a><\/p>\n<p>Notice that these are just examples and you can configure the tasks the way whichever way you prefer.<\/p>\n<p>Here&#8217;s a demo:<\/p>\n<p><a href=\"https:\/\/devblogs.microsoft.com\/java\/wp-content\/uploads\/sites\/51\/2023\/06\/postdebugtask.gif\"><img decoding=\"async\" class=\"alignnone size-full wp-image-229968\" src=\"https:\/\/devblogs.microsoft.com\/java\/wp-content\/uploads\/sites\/51\/2023\/06\/postdebugtask.gif\" alt=\"Post debug task\" width=\"1580\" height=\"1080\" \/><\/a><\/p>\n<p>For more about postDebugTask, you can <a href=\"https:\/\/code.visualstudio.com\/docs\/editor\/debugging#_launchjson-attributes\">read more here<\/a>.<\/p>\n<h4><strong>New Project Types in Project Manager<\/strong><\/h4>\n<p>Thanks to contribution from the community (<a href=\"https:\/\/github.com\/microsoft\/vscode-java-dependency\/pull\/765\">PR #765<\/a> and <a href=\"https:\/\/github.com\/microsoft\/vscode-java-dependency\/pull\/757\">PR#757<\/a>). Project Manager for Java now supports creating Micronaut and Graal Cloud Native Projects, you can now create those projects from the command palette (<strong>Java: Create Java Project<\/strong>) or just using &#8220;Create Java Project&#8221; button on the UI. Here&#8217;s a demo. <strong>Notice: you will need to install the corresponding extensions for these to work.<\/strong><\/p>\n<p><a href=\"https:\/\/devblogs.microsoft.com\/java\/wp-content\/uploads\/sites\/51\/2023\/06\/project.png\"><img decoding=\"async\" class=\"alignnone size-full wp-image-229963\" src=\"https:\/\/devblogs.microsoft.com\/java\/wp-content\/uploads\/sites\/51\/2023\/06\/project.png\" alt=\"New project type\" width=\"2093\" height=\"1311\" srcset=\"https:\/\/devblogs.microsoft.com\/java\/wp-content\/uploads\/sites\/51\/2023\/06\/project.png 2093w, https:\/\/devblogs.microsoft.com\/java\/wp-content\/uploads\/sites\/51\/2023\/06\/project-300x188.png 300w, https:\/\/devblogs.microsoft.com\/java\/wp-content\/uploads\/sites\/51\/2023\/06\/project-1024x641.png 1024w, https:\/\/devblogs.microsoft.com\/java\/wp-content\/uploads\/sites\/51\/2023\/06\/project-768x481.png 768w, https:\/\/devblogs.microsoft.com\/java\/wp-content\/uploads\/sites\/51\/2023\/06\/project-1536x962.png 1536w, https:\/\/devblogs.microsoft.com\/java\/wp-content\/uploads\/sites\/51\/2023\/06\/project-2048x1283.png 2048w\" sizes=\"(max-width: 2093px) 100vw, 2093px\" \/><\/a><\/p>\n<h4><strong>Install Extension Pack for Java<\/strong><\/h4>\n<p>To use all features mentioned above, please download and install <a href=\"https:\/\/marketplace.visualstudio.com\/items?itemName=vscjava.vscode-java-pack\">Extension Pack for Java<\/a> on Visual Studio Code.<\/p>\n<p><a href=\"https:\/\/devblogs.microsoft.com\/java\/wp-content\/uploads\/sites\/51\/2022\/09\/javapack.png\"><img decoding=\"async\" class=\"alignnone size-full wp-image-229421\" src=\"https:\/\/devblogs.microsoft.com\/java\/wp-content\/uploads\/sites\/51\/2022\/09\/javapack.png\" alt=\"Extension pack for Java\" width=\"1215\" height=\"238\" srcset=\"https:\/\/devblogs.microsoft.com\/java\/wp-content\/uploads\/sites\/51\/2022\/09\/javapack.png 1215w, https:\/\/devblogs.microsoft.com\/java\/wp-content\/uploads\/sites\/51\/2022\/09\/javapack-300x59.png 300w, https:\/\/devblogs.microsoft.com\/java\/wp-content\/uploads\/sites\/51\/2022\/09\/javapack-1024x201.png 1024w, https:\/\/devblogs.microsoft.com\/java\/wp-content\/uploads\/sites\/51\/2022\/09\/javapack-768x150.png 768w\" sizes=\"(max-width: 1215px) 100vw, 1215px\" \/><\/a><\/p>\n<p>If you are a Spring developer working on a Spring Boot application, you can also download the <a href=\"https:\/\/marketplace.visualstudio.com\/items?itemName=Pivotal.vscode-boot-dev-pack\">Spring Boot Extension Pack<\/a> for specialized Spring experience.<\/p>\n<p><a href=\"https:\/\/devblogs.microsoft.com\/java\/wp-content\/uploads\/sites\/51\/2022\/10\/spring.png\"><img decoding=\"async\" class=\"alignnone size-full wp-image-229533\" src=\"https:\/\/devblogs.microsoft.com\/java\/wp-content\/uploads\/sites\/51\/2022\/10\/spring.png\" alt=\"Spring boot extension pack\" width=\"1221\" height=\"224\" srcset=\"https:\/\/devblogs.microsoft.com\/java\/wp-content\/uploads\/sites\/51\/2022\/10\/spring.png 1221w, https:\/\/devblogs.microsoft.com\/java\/wp-content\/uploads\/sites\/51\/2022\/10\/spring-300x55.png 300w, https:\/\/devblogs.microsoft.com\/java\/wp-content\/uploads\/sites\/51\/2022\/10\/spring-1024x188.png 1024w, https:\/\/devblogs.microsoft.com\/java\/wp-content\/uploads\/sites\/51\/2022\/10\/spring-768x141.png 768w\" sizes=\"(max-width: 1221px) 100vw, 1221px\" \/><\/a><\/p>\n<p><span style=\"font-size: 18pt;\"><strong><span class=\"x-hidden-focus\">Feedback and suggestions<\/span><\/strong><\/span><\/p>\n<p>As always, your feedback and suggestions are very important to us and will help shape our product in future. There are several ways to give us feedback<\/p>\n<ul>\n<li>Leave your comment on this blog post<\/li>\n<li><a href=\"https:\/\/github.com\/microsoft\/vscode-java-pack\/issues\/new\/choose\" target=\"_blank\" rel=\"noopener\">Open an issue<\/a>\u00a0on our GitHub Issues page<\/li>\n<li>Send an email to: vscjfeedback@microsoft.com<\/li>\n<\/ul>\n<h2 id=\"try-it-out\" class=\"x-hidden-focus\"><span style=\"font-size: 18pt;\"><strong><span class=\"x-hidden-focus\">Resources<\/span><\/strong><\/span><\/h2>\n<p>Here is a list of links that are helpful to learn Java on Visual Studio Code.<\/p>\n<ul>\n<li class=\"x-hidden-focus\">Learn more about\u00a0<a class=\"x-hidden-focus\" href=\"https:\/\/code.visualstudio.com\/docs\/languages\/java\" target=\"_blank\" rel=\"noopener noreferrer\">Java on Visual Studio Code<\/a>.<\/li>\n<\/ul>\n","protected":false},"excerpt":{"rendered":"<p>Hi everyone, welcome to the our June update for Visual Studio Code for Java! In this blog we are going to provide you an update about our code completion performance improvement, user experience enhancements in both unit testing and project creation, so let&#8217;s get started! Code Completion Performance Improvement Faster code completion is a crucial [&hellip;]<\/p>\n","protected":false},"author":31999,"featured_media":229987,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[22,1,8,15],"tags":[],"class_list":["post-229944","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-desktop","category-java","category-open-source","category-vscode"],"acf":[],"blog_post_summary":"<p>Hi everyone, welcome to the our June update for Visual Studio Code for Java! In this blog we are going to provide you an update about our code completion performance improvement, user experience enhancements in both unit testing and project creation, so let&#8217;s get started! Code Completion Performance Improvement Faster code completion is a crucial [&hellip;]<\/p>\n","_links":{"self":[{"href":"https:\/\/devblogs.microsoft.com\/java\/wp-json\/wp\/v2\/posts\/229944","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/devblogs.microsoft.com\/java\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/devblogs.microsoft.com\/java\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/java\/wp-json\/wp\/v2\/users\/31999"}],"replies":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/java\/wp-json\/wp\/v2\/comments?post=229944"}],"version-history":[{"count":0,"href":"https:\/\/devblogs.microsoft.com\/java\/wp-json\/wp\/v2\/posts\/229944\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/java\/wp-json\/wp\/v2\/media\/229987"}],"wp:attachment":[{"href":"https:\/\/devblogs.microsoft.com\/java\/wp-json\/wp\/v2\/media?parent=229944"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/java\/wp-json\/wp\/v2\/categories?post=229944"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/java\/wp-json\/wp\/v2\/tags?post=229944"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}