{"id":230072,"date":"2023-08-29T20:20:29","date_gmt":"2023-08-30T03:20:29","guid":{"rendered":"https:\/\/devblogs.microsoft.com\/java\/?p=230072"},"modified":"2023-08-29T20:20:29","modified_gmt":"2023-08-30T03:20:29","slug":"java-on-visual-studio-code-august-2023","status":"publish","type":"post","link":"https:\/\/devblogs.microsoft.com\/java\/java-on-visual-studio-code-august-2023\/","title":{"rendered":"Java on Visual Studio Code &#8211; August 2023"},"content":{"rendered":"<p>Hi everyone, welcome to our August update for Visual Studio Code for Java! In this blog we are going to provide you more improvements about de-compiler support. Additionally, we are going to show creating Maven projects without archetype and important code highlighting bug fix. Let&#8217;s get started!<\/p>\n<h3><span style=\"font-size: 18pt;\"><strong>More Decompiler Support Improvements<\/strong><\/span><\/h3>\n<p>When we introduced the powerful Fernflower de-compiler to our extensions in <a href=\"https:\/\/devblogs.microsoft.com\/java\/java-on-visual-studio-code-july-2023\/\">our last blog<\/a>, we received great feedback from the community. However, there were still some enhancements we can make based on the current experience. In our latest experience, we have improved the support for these two major cases:<\/p>\n<p><strong>Case 1: Automatically prompt to allow developer to switch decompiled source code and original downloaded source code<\/strong><\/p>\n<p>This enhancement will allow the developer to switch between decompiled source code and downloaded source code with a pop-up from the Visual Studio Code. Here&#8217;s a demo.<\/p>\n<p><figure id=\"attachment_230087\" aria-labelledby=\"figcaption_attachment_230087\" class=\"wp-caption alignnone\" ><a href=\"https:\/\/devblogs.microsoft.com\/java\/wp-content\/uploads\/sites\/51\/2023\/08\/switchtodwnloadedsrouce.gif\"><img decoding=\"async\" class=\"size-full wp-image-230087\" src=\"https:\/\/devblogs.microsoft.com\/java\/wp-content\/uploads\/sites\/51\/2023\/08\/switchtodwnloadedsrouce.gif\" alt=\"Switch between decompiled and downloaded source\" width=\"2998\" height=\"1404\" \/><\/a><figcaption id=\"figcaption_attachment_230087\" class=\"wp-caption-text\">Switch between decompiled and downloaded source<\/figcaption><\/figure><\/p>\n<p><strong>Case 2 : Support &#8220;Attach Source&#8221; operation so developer can see the original source code if needed.<\/strong><\/p>\n<p>Sometimes rather than the de-compiled code, the developer wants to attach the original source code and bringing out the context menu and clicking on &#8220;Attach Source&#8221;, the developer can easily do so. Here&#8217;s a demo.<\/p>\n<p><figure id=\"attachment_230088\" aria-labelledby=\"figcaption_attachment_230088\" class=\"wp-caption alignnone\" ><a href=\"https:\/\/devblogs.microsoft.com\/java\/wp-content\/uploads\/sites\/51\/2023\/08\/attach_source.gif\"><img decoding=\"async\" class=\"size-full wp-image-230088\" src=\"https:\/\/devblogs.microsoft.com\/java\/wp-content\/uploads\/sites\/51\/2023\/08\/attach_source.gif\" alt=\"Attach source\" width=\"2060\" height=\"1404\" \/><\/a><figcaption id=\"figcaption_attachment_230088\" class=\"wp-caption-text\">Attach source<\/figcaption><\/figure><\/p>\n<p>We hope by improving the UX for these two cases, our extensions can further increase the productivity when developers are using the decompiling features.<\/p>\n<h3><span style=\"font-size: 18pt;\"><strong>Create Maven Projects without Archetype<\/strong><\/span><\/h3>\n<p>In addition to decompiler experience improvements, we have also added a minor enhancement on our Maven for Java extension. In some cases developers just want to quickly create a Maven project without any archetypes such as a Hello World program. This workflow was enabled in our recent released. When creating the Maven project using the extension, developers just need to select &#8220;No Archetype&#8221; from the dropdown, and a basic project will be created in seconds. Here&#8217;s a demo.<\/p>\n<p><figure id=\"attachment_230084\" aria-labelledby=\"figcaption_attachment_230084\" class=\"wp-caption alignnone\" ><a href=\"https:\/\/devblogs.microsoft.com\/java\/wp-content\/uploads\/sites\/51\/2023\/08\/create_maven_archetype.gif\"><img decoding=\"async\" class=\"size-full wp-image-230084\" src=\"https:\/\/devblogs.microsoft.com\/java\/wp-content\/uploads\/sites\/51\/2023\/08\/create_maven_archetype.gif\" alt=\"Create Maven Project without archetype\" width=\"1264\" height=\"868\" \/><\/a><figcaption id=\"figcaption_attachment_230084\" class=\"wp-caption-text\">Create Maven Project without archetype<span class=\"EOP BCX0 SCXP87953449\" style=\"font-size: 1rem; text-align: var(--bs-body-text-align);\">\u200b<\/span><span style=\"font-size: 1rem; text-align: var(--bs-body-text-align);\">\u200b<\/span><\/figcaption><\/figure><\/p>\n<h3><strong><span class=\"TextRun SCXP227703730 BCX0\" lang=\"EN-US\" style=\"font-size: 18pt;\" xml:lang=\"EN-US\" data-usefontface=\"false\" data-contrast=\"none\"><span class=\"NormalTextRun SCXP227703730 BCX0\">Bug Fix: Out-of-Sync Semantic Highlighting<\/span><\/span><\/strong><\/h3>\n<p>Apart from the updates above, we have recently saw from our user feedback that our semantic highlighting will get out of sync from time to time, causing inconvenience when typing code. We have spend some time to investigate this and delivered fix for the issue. Here are the PRs to address them:<\/p>\n<ul>\n<li><a class=\"fui-Link ___1eya986 f3rmtva f1ewtqcl fyind8e f1k6fduh f1w7gpdv fk6fouc fjoy568 figsok6 f1hu3pq6 f11qmguv f19f4twv f1tyq0we f1g0x7ka fhxju0i f1qch9an f1cnd47f fqv5qza f1vmzxwi f1o700av f13mvf36 f1cmlufx f9n3di6 f1ids18y f1tx3yz7 f1deo86v f1eh06m1 f1iescvh fhgqx19 f1olyrje f1p93eir f1nev41a f1h8hb77 f1x7u7e9 f10aw75t fsle3fq f17ae5zn\" title=\"https:\/\/github.com\/eclipse\/eclipse.jdt.ls\/pull\/2709\" href=\"https:\/\/github.com\/eclipse\/eclipse.jdt.ls\/pull\/2709\" target=\"_blank\" rel=\"noreferrer noopener\" aria-label=\"Link Fix wrong semantic highlighting due to out-of-date AST being used. by jdneo \u00b7 Pull Request #2709 \u00b7 eclipse\/eclipse.jdt.ls (github.com)\">Fix wrong semantic highlighting due to out-of-date AST being used. by jdneo \u00b7 Pull Request #2709 \u00b7 eclipse\/eclipse.jdt.ls (github.com)<\/a><\/li>\n<li><a class=\"fui-Link ___1eya986 f3rmtva f1ewtqcl fyind8e f1k6fduh f1w7gpdv fk6fouc fjoy568 figsok6 f1hu3pq6 f11qmguv f19f4twv f1tyq0we f1g0x7ka fhxju0i f1qch9an f1cnd47f fqv5qza f1vmzxwi f1o700av f13mvf36 f1cmlufx f9n3di6 f1ids18y f1tx3yz7 f1deo86v f1eh06m1 f1iescvh fhgqx19 f1olyrje f1p93eir f1nev41a f1h8hb77 f1x7u7e9 f10aw75t fsle3fq f17ae5zn\" title=\"https:\/\/github.com\/eclipse\/eclipse.jdt.ls\/pull\/2714\" href=\"https:\/\/github.com\/eclipse\/eclipse.jdt.ls\/pull\/2714\" target=\"_blank\" rel=\"noreferrer noopener\" aria-label=\"Link Prevent caching outdated AST in CoreASTProvider by 0dinD \u00b7 Pull Request #2714 \u00b7 eclipse\/eclipse.jdt.ls (github.com)\">Prevent caching outdated AST in CoreASTProvider by 0dinD \u00b7 Pull Request #2714 \u00b7 eclipse\/eclipse.jdt.ls (github.com)<\/a><\/li>\n<\/ul>\n<h3><strong>Install Extension Pack for Java<\/strong><\/h3>\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<h2><span style=\"font-size: 18pt;\"><strong><span class=\"x-hidden-focus\">Feedback and suggestions<\/span><\/strong><\/span><\/h2>\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 our August update for Visual Studio Code for Java! In this blog we are going to provide you more improvements about de-compiler support. Additionally, we are going to show creating Maven projects without archetype and important code highlighting bug fix. Let&#8217;s get started! More Decompiler Support Improvements When we introduced the [&hellip;]<\/p>\n","protected":false},"author":31999,"featured_media":230104,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[14,1,8,15],"tags":[],"class_list":["post-230072","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-cloud","category-java","category-open-source","category-vscode"],"acf":[],"blog_post_summary":"<p>Hi everyone, welcome to our August update for Visual Studio Code for Java! In this blog we are going to provide you more improvements about de-compiler support. Additionally, we are going to show creating Maven projects without archetype and important code highlighting bug fix. Let&#8217;s get started! More Decompiler Support Improvements When we introduced the [&hellip;]<\/p>\n","_links":{"self":[{"href":"https:\/\/devblogs.microsoft.com\/java\/wp-json\/wp\/v2\/posts\/230072","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=230072"}],"version-history":[{"count":0,"href":"https:\/\/devblogs.microsoft.com\/java\/wp-json\/wp\/v2\/posts\/230072\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/java\/wp-json\/wp\/v2\/media\/230104"}],"wp:attachment":[{"href":"https:\/\/devblogs.microsoft.com\/java\/wp-json\/wp\/v2\/media?parent=230072"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/java\/wp-json\/wp\/v2\/categories?post=230072"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/java\/wp-json\/wp\/v2\/tags?post=230072"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}