Visual Studio代码:格式化Java方法链

时间:2018-11-04 21:48:48

标签: java visual-studio-code vscode-settings

我正在尝试更改VSCode设置,这将允许我通过方法链接来做类似的事情:

Flux
  .just("test", "string", "flux")
  .log()
  .map(String::toUpperCase);

问题在于,每当应用格式化程序时,它都会将其更改回仅一行:

Flux.just("test", "string", "flux").log().map(String::toUpperCase);

我安装了Java Extensions Pack,其中包括“ Red Hat对Java的语言支持”。该扩展程序添加了一些格式选项,我一直在尝试使用它们,但是没有这种运气。

以下是我更改的格式选项:

"editor.formatOnSave": true,
"java.format.settings.url": "https://raw.githubusercontent.com/google/styleguide/gh-pages/eclipse-java-google-style.xml",
"java.format.enabled": true,
"java.format.settings.profile": "GoogleStyle"

任何人都对如何使格式化程序不留下多行方法链接有任何想法吗?

2 个答案:

答案 0 :(得分:2)

我获得了相同的结果,而没有为了下载所需的设置而下载Eclipse。我从vscode-java-formatter.md

看了狂热的指南

我已经在vscode JSON设置中有了这个

"java.format.settings.url": "dir/to/eclipse-java-google-style.xml"

在本地eclipse-java-google-style.xml内,将以下值从true更改为false。

<setting id="org.eclipse.jdt.core.formatter.join_wrapped_lines" value="false"/>

保存并重新启动vscode。现在,链接的方法将不会被压缩为一行。

答案 1 :(得分:1)

来自here

  

您还可以在项目的 .settings / org.eclipse.jdt.core.prefs 中定义格式首选项。它将覆盖全局格式设置。   由于这很繁琐,因此编辑这些首选项的最佳方法是在Eclipse中打开您的项目,并在其中设置项目的格式首选项。

您要寻找的选项是:

行换行> 换行设置> 函数调用> 限定调用

将其设置为包装所有元素,换行中的每个元素,如下图所示:

Redhat Developer VSCode-Java plugin wiki