我正在尝试更改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"
任何人都对如何使格式化程序不留下多行方法链接有任何想法吗?
答案 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中打开您的项目,并在其中设置项目的格式首选项。
您要寻找的选项是:
行换行> 换行设置> 函数调用> 限定调用
将其设置为包装所有元素,换行中的每个元素,如下图所示: