intellij-idea - 在 IntelliJ 中将单行方法重新格式化为单行文本
问题描述
我希望 IntelliJ 2019.x 更改单行方法,例如:
public String getFileName ( )
{
return this.fileName;
}
…成为单行文本,如下所示:
public String getFileName ( ) { return this.fileName; }
我希望格式是永久性的。是否有一些代码样式或其他设置?
解决方案
可以使用以下代码样式设置:
Preferences | Editor | Code Style | Java | Wrapping and Braces | Keep when reformatting | Simple methods in one line
启用它以将任何方法的格式设置为您想要的样式。
不幸的是,没有代码样式设置来格式化单行单行体的方法。但是有一种解决方法是使用这样的模板对这种格式使用结构搜索和替换:
<replaceConfiguration name="constructors & methods" text="$ReturnType$ $Method$($ParameterType$ $Parameter$) { $st$; }" recursive="false" caseInsensitive="true" type="JAVA" pattern_context="member" reformatAccordingToStyle="true" shortenFQN="true" replacement="$ReturnType$ $Method$($ParameterType$ $Parameter$) { $st$; }">
<constraint name="__context__" within="" contains="" />
<constraint name="ReturnType" minCount="0" within="" contains="" />
<constraint name="Method" within="" contains="" />
<constraint name="ParameterType" within="" contains="" />
<constraint name="Parameter" minCount="0" maxCount="2147483647" within="" contains="" />
<constraint name="st" within="" contains="" />
</replaceConfiguration>
复制上面的模板并打开Edit | Find | Replace Structurally
. 接下来通过调用Import Template from Clipboard
(在 cog 菜单下)导入模板,然后单击 Find。
这将找到具有单行正文的所有方法,并将它们替换为在一行上格式化的相同方法。
推荐阅读
- signalr - 协商方法中的自定义 SignalR 无服务器访问令牌(JWT)?
- python - Python3:可以使用命名函数定义进行列表理解吗?
- python - var 类型字符串而不是 int
- angular - 如何将输入值从组件发送到模态
- python - 在 Python 中,如何在不使用 itertools 的情况下组合给定元组列表中的一组元组?
- javascript - 如何获取当前滚动高度 - react-infinite-scroller
- android-intent - Dialogflow:在给定的上下文中强制某些意图无效
- python - 减少 Paramiko 最大请求大小
- c++ - 内联函数和前向引用
- python - python 3:如何在不添加新键和值的情况下通过新变量重新排列列表中的字典