问题描述
关于Sublime Text中的缩进的自动转换,有一些主题,但是我没有找到自动进行缩进的方法。
我下载的许多文件都有缩进2,我讨厌,所以我想将它们转换为4。我要做的是:
- 选择
Tab size: 2
-
Convert indentation to Tabs
- 选择
Tab size: 4
-
Convert indentation to Spaces
我认为无需提及每个文件的太多工作。有人建议使用Reindent
选项,但是根据我的经验,它几乎永远无法正常工作。
是否有某种构建方式,或者是一个可以一步转换缩进的软件包?
解决方法
将缩进转换为个人喜好在Sublime Text中是一项繁琐的任务,如您所见,在StackOverflow上经常会提到它。实际上,四年前,我answered a question几乎完全列出了您在问题中列出的步骤。
我也发现3个 Command Pallette reindent
命令有点气质,有时按我认为应该的工作,有时却什么也没做。但是没关系...
当然,有一种方法可以一步执行您列出的动作;使用宏。
复制下面的宏代码并将其粘贴到User
文件夹中,并将其另存为IndentationTo4Spaces.sublime-macro
。
[
{ "command": "set_setting","args": {"setting": "tab_size","value": 2} },{ "command": "unexpand_tabs","args": {"set_translate_tabs": true} },{ "command": "set_setting","value": 4} },{ "command": "expand_tabs","args": {"set_translate_tabs": true} }
]
您可以从菜单Tools --> Macros --> User --> IndentationTo4Spaces
运行宏,设置键绑定,或向 Command Pallette 添加条目。
// Add keys to: Packages/User/Default (Linux/OSX/Windows).sublime-keymap
{ "keys": ["ctrl+shift+y"],"command": "run_macro_file","args": {"file": "res://Packages/User/IndentationTo4Spaces.sublime-macro"} },// Add command to: Packages/User/Default.sublime-commands
{ "caption": "Convert Indentation To 4 Spaces",