Nick Zhu

Senior Program Manager, Developer Division at Microsoft

大家好,欢迎来到 Visual Studio Code Java 的 3 月更新。这次我们将为您带来一些关于我们代码补全的优化、Maven 改进以及我们最新的 Java 插件预览版本的最新更新。让我们开始吧!

更多生成代码片段的快捷方式

由于我们对 Java 的语言支持是通过Eclipse JDT Language Server 提供的,所以生成某些代码片段(例如System.out.println() )的快捷方式大多基于 Eclipse 风格。例如,System.out.println()的快捷方式是sysout 。但是,我们从很多用户那里听说他们习惯了其它 IDE(例如 IntelliJ IDEA)的快捷方式,并且希望看到 VS Code 也支持这些 IDE 的快捷方式。因此,我们也在插件中添加了这些常用代码片段的快捷方式。以下是我们支持的快捷方式的列表

代码片段 Eclipse风格快捷方式 IDEA风格快捷方式
System.out.println() sysout sout
System.err.println() syserr serr
当前函数签名的System.out.println() systrace soutm
public static void main(String[] args) {} main psvm / main
Iterator (for 循环) foreach iter

以下是展示这些新快捷方式的演示

构造函数的代码补全优化

关于代码补全,目前用户反馈最多的问题之一是在 VS Code 中编写构造函数时,用户一般希望补全的提示可以和定义的类型直接相关(例如, List list = …,提示“…”部分的时候应该建议ArrayList等列表类型),但是,在当前的插件中通常不是这种情况。

在过去的几次迭代中,我们已经调查了这个问题并进行了更改以改善这种体验。通过这些新的改进,代码补全将更加了解用户正在创建的类型,并为构造函数建议最相关的类型。例如, 定义List将导致对 new ArrayList补全的建议。类似地,一个String[]将导致一个数组类型的建议来完成构造函数。以下是一个对该优化的演示:

我们仍在对上述功能进行一些调整,并将在接下来的几个版本中发布。

今年早些时候,我们发布了 2022 年路线图,更好的代码补全体验是我们的重点之一。我们希望继续改进这一领域,所以如果您希望看到有关代码补全质量和性能的任何其它反馈,请告诉我们(提供反馈的渠道在最下方)。

Maven 改进

除了代码完成的新功能外,我们还对 Maven 插件进行了一些改进。

显示 Maven POM 文件路径

在之前的插件中,当用户打开多个同名项目时,很难区分项目属于哪个POM文件。此外,显示 POM 文件的确切路径有助于为用户提供更多信息。因此,我们加入了一个小的改进:当用户将鼠标悬停在 Maven 插件视图中的主节点上时,会显示一个提示来显示完整的 Maven POM 文件路径。这是此改进的屏幕截图:

POM 版本中的代码补全现在可以正确替换版本

当自动补全一个 Maven 依赖的版本时,以前我们的插件会将结果添加到现有文本中而不是替换它,从而导致我们的用户体验出现问题。我们在最近的版本中修复了这个问题,现在自动补全将正确替换版本,类似的改进也适用于artifactId和groupId 。以下是一段演示:

新的Java插件预览版本机制

1.63 版以来,Visual Studio Code 已支持插件的预览版本机制,因此用户对于一款插件,可以选择安装”预览版本(Pre-Release Version)”或者是“发布版本(Release Version)”。目前,我们已经为 Gradle for JavaMaven for Java 插件启用了预发布通道,并将在本月底对于Java插件包中其它的插件启用预览机制。对于总是喜欢获取最新功能的用户,可以选择安装预览版本并给我们第一手的反馈。对于偏向稳定的用户,可以像以前一样继续使用“发布版 (Release version)”(默认)

您可以使用 Visual Studio Code 中“安装”按钮旁边的附加按钮轻松地在预览版本(Pre-Release Version)和发布版本(Release Version)之间切换(如下图所示)

反馈与建议

2022 年,Visual Studio Code 上的 Java 会有很多激动人心的更新,一如既往,您的反馈和建议对我们非常重要,将有助于我们未来的产品塑造。有几种方法可以给我们留下反馈

资源

以下链接和资源能帮助您更好地了解Java on Visual Studio Code的相关信息

VS Code Java 3月更新|代码补全、Maven 以及 Java 插件预览版本新升级!的更多相关文章

  1. VS Code Java 2 月更新!教育特别版:单元测试、GUI开发支持、Gradle项目创建、以及更多!

    新春快乐!欢迎来到 Visual Studio Code Java 的 2 月更新,这个月我们给大家带来了一期教育特别版.每年的年初是许多学校开学的时间,为了给学生和教师提供在 Visual Stud ...

  2. VS Code插件Vue2 代码补全工具

    一.简介 此扩展将Vue 2代码片段和语法突出显示添加到Visual Studio代码中. 这个插件基于最新的Vue官方语法高亮文件添加了语法高亮,并且依据Vue 2的API添加了代码片段. 支持语言 ...

  3. Jupyter Notebook主题字体设置及自动代码补全

    Jupyter Notebook用久了就离不开了,然而自带的主题真的不忍直视.为了视力着想,为了自己看起来舒服,于是折腾了一番..在github上发现了一个jupyter-themes工具,可以通过p ...

  4. vue(element)中使用codemirror实现代码高亮,代码补全,版本差异对比

    vue(element)中使用codemirror实现代码高亮,代码补全,版本差异对比 使用的是vue语言,用element的组件,要做一个在线编辑代码,要求输入代码内容,可以进行高亮展示,可以切换各 ...

  5. [jetbrains系列] 外链第三方库+代码补全设置

    jetbrains系列的IDE真的是太好用了,有种相见恨晚的感觉. 在开发过程中第三方库是必不可少的,在开发的时候如果有一个可以补全的IDE可以节省查文档的时间. 举个例子:给pycharm配pysp ...

  6. vim代码补全-spf13,YouCompleteMe

    vim代码补全 现在的图形界面的IDE(Integrated Development Environment)一般具有语法高亮,语法检查,自动补全功能,大大提高了编程的效率. vim作为文本编辑器其强 ...

  7. ADT中的代码补全设置

    设置自动补全代码 刚刚学Android,有很多变量和方法 都不熟悉.需要有提示,才更加方便. 快捷方式:Alt + /    可以出现代码提示. 默认的只有输入“ .” 以后才会有代码补全提示,可作如 ...

  8. eclipse 代码补全

    代码补全 window-> properties -> Java ->Editor ->content Assist -> Auto activation trigger ...

  9. Netbeans源代码编辑技巧——使用代码补全和代码生成

    原文 Netbeans源代码编辑技巧——使用代码补全和代码生成 使用代码补全生成代码 一般来说,代码补全对于自动填充缺失的代码是有帮助的,例如标识符和关键字.截至 NetBeans IDE 6.0,您 ...

随机推荐

  1. 最全Java架构师130面试题:微服务、高并发、大数据、缓存等中间件

    一.数据结构与算法基础 · 说一下几种常见的排序算法和分别的复杂度. · 用Java写一个冒泡排序算法 · 描述一下链式存储结构. · 如何遍历一棵二叉树? · 倒排一个LinkedList. · 用 ...

  2. 基于GDAL库,读取.grd文件(以海洋地形数据为例)Java版

    技术背景 海洋地形数据主要是通过美国全球地形起伏数据(GMT)获得,数据格式为grd(GSBG)二进制数据,打开软件通过是Surfer软件,surfer软件可进行数据的编辑处理,以及进一步的可视化表达 ...

  3. Solution -「ABC 215H」Cabbage Master

    \(\mathcal{Description}\)   Link.   有 \(n\) 种颜色的,第 \(i\) 种有 \(a_i\) 个,任意两球互不相同.还有 \(m\) 个盒子,每个盒子可以被放 ...

  4. Java中类变量(静态变量)和类方法(静态方法)

    类变量 类变量也叫静态变量或静态属性,是该类所有对象共享的变量任何一个该类的对象去访问它时,取得都是一样的值 语法: 访问修饰符  static  数据类型  变量名 static  访问修饰符  数 ...

  5. pytest(10)-常用执行参数说明

    pytest单元测试框架中可以使用命令行及代码pytest.main()两种方式执行测试,且可以加入各种参数来组织执行测试.接下来我们来了解常用的执行参数的含义及其用法. pytest中的执行参数根据 ...

  6. Dubbo扩展点应用之三异步调用

    Dubbo不只提供了堵塞式的同步调用,同时提供了异步调用的方式.这种方式主要应用于提供者接口响应耗时明显,消费者端可以利用调用接口的时间去做一些其他的接口调用,利用Future模式来异步等待和获取结果 ...

  7. 使用java程序完成大量文件目录拷贝工作

    java程序完成目录拷贝工作 背景描述:我目录有140多个,每个目录里面都有一个src目录.我现在想要所有的src目录移动到同一个目录中. package com.util.cp; import ja ...

  8. k8s之pod讲解

    什么是Pod?    Pod 是一组紧密关联的容器集合,它由一组.一个或多个容器组成,每个Pod还包含了一个Pause容器,Pause容器是Pod的父容器,主要负责僵尸进程的回收管理,通过Pause容 ...

  9. IP网络性能测试工具——Renix Perf

    一.Renix Perf 基于软件的网络及应用服务性能测试工具 · 双臂测试 · 单臂测试 通过测试端点产生网络流量对网络性能进行测量 · TCP.UDP.PING · 语音.视频.HTTP.FTP. ...

  10. 【C#DLR 动态编程】CallSite<T>

    CallSite<T>译为"动态(调用)站点",它是DLR中的核心组件之一