在Sublime文本2中缩进代码?


Answers:


843

你可以找到它Edit→交通Line→交通Reindent,但它并没有默认的快捷方式。您可以通过进入菜单中添加一个快捷键Preferences→交通Keybindings→交通User,然后添加有:

{ "keys": ["f12"], "command": "reindent", "args": {"single_line": false} }  

(使用该F12功能键的示例)

配置文件使用JSON语法,因此这些花括号必须以逗号分隔在默认情况下位于的方括号中。如果您还没有任何其他键绑定,那么整个KeybindingsUser文件将看起来像这样,当然:

[
    { "keys": ["f12"], "command": "reindent", "args": {"single_line": false}}
]

28
alt + tab?用于切换窗口!
Bernd Elkemann 2012年

1
糟糕!它表明我在Mac上。也许是windows_key +选项卡?
gdelfino 2012年

3
@NunoGonçalves菜单未显示新的快捷方式,但它应该可以使用。确保您的Preferences-Keybindings-User包含这些行,然后保存该文件。还要确保ST知道应使用哪种文件类型/语法(语法突出显示正确吗?)。如果仍然不起作用,请尝试使用其他键(例如,“ f8”似乎未使用),然后如果不起作用,请检查是否由于某种原因在安装时禁用了用户定义的键绑定。
Bernd Elkemann

2
什么也没做,它突然开始工作。:)我想问题一直在键盘和椅子之间:)还是谢谢你。:)
NunoGonçalves2012年

1
{“ keys”:[“ f12”],“ command”:“ reindent”,“ args”:{“ single_line”:false}}将使所有文档重新缩进,而无需选择所需内容
Alexis 2015年

277

除非“ single_line”参数设置为false,否则reindent命令仅在当前选定的行上有效。

{ "keys": ["f12"], "command": "reindent", "args": {"single_line": false} }

现在,按f12将重新缩进整个文档。


2
“当前行”可以是其中包含多行的选择。
gagarine

4
这应该是可接受的答案(或至少合并为可接受的答案),因为在Visual Studio中,Ctrl + K + D还将重新格式化整个文档。
Jedidja 2012年

14
将[“ f12”]换为[“ ctrl + k”,将“ ctrl + d”]换成两按式和弦。
Fabian Tamp

25
[{“键”:[“ ctrl + shift + f”],“命令”:“ reindent”,“ args”:{“ single_line”:false}}]这是我的自定义,非常感谢!!!
duykhoa 2013年

1
非常感谢您的“加号”(“ args”:{“ single_line”:false})!
亚瑟

32

似乎没有人喜欢mac重新缩进,因此在这里我该怎么做:

[
   { "keys": ["command+shift+i"], "command": "reindent"}
]

在首选项>按键绑定-用户中

另一个提示:添加

{ "keys": ["command+0"], "command": "focus_side_bar" }

使用键盘进行侧边栏文件树状视图导航。

注意:如果您有一组以上的{}对象,则在每个{}的末尾添加,


请不要在语句末尾使用逗号(,)。它给了我一个错误。键入不带逗号(,)
Gihanmu 2014年

1
如果您不是Mac用户,请使用ctrl而不是命令{“” keys“:[” ctrl + shift + i“],” command“:” reindent“}
Juraj Petrik

29

没有用于缩进文件的默认快捷方式。但是,您可以按照eznme的回答创建一个。

您还可以通过按以下命令使用命令面板

  1. Control+ Shift+ P(或Mac上为+ Shift + P
  2. 输入Reindent的前几个字符,例如:rein
  3. 按下Enter以运行命令
    (顶部的第一个命令现在应显示“ Indentation:Reindent Lines”

19

对于那些感兴趣的人来说,更改很容易,但是对于NetBeans和自动格式的爱好者,您可以将键绑定从更改F12ctrl+ shift+ F以使用您喜欢的键绑定。可悲的是,您必须全选所有文件才能格式化整个文件。Netbeans在这方面仍然占据上风。如果有人知道如何克服这一限制,我将不胜枚举。否则,请重新缩进(自动格式化)。


4
不知道是否有人还在看这个,但要回复@jeff。添加命令后,使用,“ args”:{“ single_line”:false},然后您无需选择行来对其进行格式化。它为您格式化整个文档。(尼克提出了愚蠢的命令)
H先生

NetBeans快捷键是Alt + Shift + F(默认情况下; Ctrl + Shift + F会打开项目搜索),并且功能有限且不一定明智(CSS无效,并且可能会将新的代码行保持在同一行)。Eclipse的快捷键是Ctrl + Shift + F,在某些方面它是更好的方法,并且可以在CSS上运行,但是新代码行仍然存在问题。尽管您可以进行一些配置(在Eclipse中更多),但它们都存在一些关于换行的内线属性(例如HTML)的问题。
Davicus,2014年

Mac上的cmd + a或Windows上的ctrl + a会在当前窗口中自动为您选择所有文本。这样做,然后选择为自动缩进选择的任何键绑定以重新格式化整个文件。
user137717 '16

16

与喜欢相同的键缩进的Visual Studio Ctrl+ K+ D(我是一个Visual Studio用户,所以我用这个组合),我建议:

[
{ "keys": ["ctrl+k", "ctrl+d"], "command": "reindent", "args": {"single_line": false} }
]

写在“首选项”>“键绑定-用户”上




6

选择要缩进的所有代码,然后在Sublime文本中按Ctrl+ ]进行缩进。

适用于MacOS用户,使用command+ ]缩进,和command+ [取消缩进。


4

代码格式化程序

易于使用。


1.安装


2.press ctrl+ alt+ f(默认)


而已。


对我不起作用,它只是禁用所有行的缩进。

我已经使用了很长时间了。它可以正常工作。什么问题。安装成功。
希拉·塔库尔

1
当然可以,我正在针对HTML代码段使用它……所有行都删除了缩进。看起来像一首诗... :(


2

万一这对于像我这样的人停止工作,在OS X中,命令键被标识为,super因此它应该能够执行以下操作:

[
    {
    "keys": ["super+i"], 
    "command": "reindent", 
    "args": {
        "single_line": 
        false}
    } 
]

在这种情况下,使用command+ i将使您的整个代码缩进(eclipse like :))


1

我曾经在NetBeans中使用Alt+ Shift+ F,我检查了sublime的默认keymap数组中是否没有冲突,因此我将其添加到sublime中,并且使用起来没有任何问题。


1

对于喜欢IntelJ IDEA的默认键绑定的用户,请选择“首选项” > “设置”-“用户”

在此处输入图片说明

并粘贴在下面有command+ shift+ l的自动缩进快捷方式:

[
   { "keys": ["command+shift+l"], "command": "reindent"}
]

1

您可以通过进入菜单中添加一个快捷方式首选项键绑定用户,然后加入有:

{ "keys": ["f12"], "command": "reindent", "args": {"single_line": false} }  

0

对于Sublime Text 2中的自动格式化,请执行以下操作:在命令面板中安装Package:Tag,然后在文档上转到Edit-> Tag-> Auto-Format Tags


0

选择所有内容,或选择要重新缩进的所有内容,然后执行Alt+ E+ L+ R。这确实是快速而轻松的。


0

这是我的sublime-keymap配置:

[
  {
    "keys": [",+=+="],
    "command": "reindent",
    "args": {
      "single_line": false
    }
  }
]

对于vim用户,只需使用,==重新缩进整个文件即可。


0
{ "keys": ["f12"], "command": "reindent", "args": {"single_line": false} } 

您可以使用上面的代码获得reindent选项


0

首先打开崇高文字。
而不是公开的偏好
比打开键绑定-User
比把下面的代码

[{“ keys”:[“ ctrl + shift + c”],“ command”:“ reindent”},]

我使用,CtrlShiftC并且您还使用其他快捷键。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.