我知道我可以通过以下方式更改缩进:
File > Settings > Editor > Code Style > ANY_LANGUAGE > Tabs and Indents > Use tab character
但是在我的遗留项目中,在不同的文件中有一个混合o缩进。 IDE中是否有任何键盘快捷键用于将空格更改为选项卡并返回?或者我如何为所有或指定的语言文件设置一个?
答案 0 :(得分:29)
要在标签和空格之间切换:
在主菜单上,选择编辑→转换缩进,然后分别选择 To Spaces 或 To Tabs 。详细了解Changing Indentation。
您可以通过按 Ctrl + Shift + A 快速执行与导航到操作菜单相同的操作在字段中输入convert indents
:
如果您想默认设置空格缩进,请转到设置→编辑器→代码样式→Java ,确保取消选中使用标签字符复选框并设置缩进值:
答案 1 :(得分:1)
在IntelliJ IDEA中,要将现有的选项卡转换为空格,反之亦然,请使用文件→编辑→转换缩进→空格(或至标签页)。 重新格式化代码快捷键 Ctrl + Alt + L 也会执行此操作,同时应用其他更改。
要告诉IDE为标签前进插入空格,请转到文件→设置→编辑器 →代码样式→(任何语言)→制表符和缩进→然后取消选中 使用制表符< / strong>。
您可能还需要注意另一个控制文件缩进的设置:文件→设置→检测并使用现有文件缩进进行编辑< / strong>。由于某些原因,此设置并不总是一致的。如果您取消选中,则IntelliJ可能会也可能不会使用制表符自动缩进文件中的新行。
例如,假设您的一个Java文件中的每一行已经以制表符开头。例如,出于源代码控制的原因,您希望保留这些内容,但希望所有新代码都用空格代替制表符,包括缩进。因此,您已检测并使用现有文件缩进进行编辑 未选中,并且具有使用制表符 未选中(对于Java)。您清楚地告诉IntelliJ,即使缩进也不要插入制表符。
尽管如此,当您在以制表符开头的新行末尾按 Enter 时,IntelliJ会继续前进,并在刚创建的下一行的开头添加制表符。再次点击标签,它将添加空格(根据您的设置,这是预期的)。
如果有人知道如何解决此令人不愉快的意外行为,请发表评论。诚然,通过执行 Ctrl + Alt + L 将文件中的所有标签更改为空格,然后继续操作,您可以轻松解决此问题没有看到这种奇怪。但同样,这会修改源历史记录。
答案 2 :(得分:0)
编辑器>代码样式>检测并使用现有文件缩进进行编辑 如果文件缩进了空格,这会将“制表符”分成四个空格 当文件使用制表符缩进时,这还可以让您显示通知,并为您提供将其更改为空格的功能 注意-如果有区别,我使用的是intellij的专业版
答案 3 :(得分:0)
选择一个文件夹,执行:
Cmd+Shift+R
在其中[\t]
作为要替换的文字因为转换缩进操作会按文件进行归档,这对于大型项目而言不是很方便。
注意:在您仍然需要更改默认首选项以使用空格作为缩进时,如@DimaSan所述
答案 4 :(得分:-1)
您可以在“代码”>“重新设置代码格式”菜单中重新格式化每个文件以应用样式。 在Windows上,相关的快捷键是Ctrl-Alt-L。
选择包后,您可以选择重新格式化所有源文件(包括子目录)的格式,可以选择按文件扩展名过滤。
这是从IntelliJ IDEA 2018.2.3开始的Java文件。