mat*_*aso 1 indentation sublimetext sublimetext2 sublimetext3
我在网上搜索了如何为所有文件执行sublime text命令,然后保存.我需要重构我的旧项目,其中包含诸如硬标签之类的缩进问题.
我想要的是对整个项目执行命令"expand_tabs".我该怎么做?
我写了一个小插件来做到这一点.将此代码放在"Packages/User/BatchTabToSpaceFixer.py"下:
import sublime
import sublime_plugin
class BatchTabToSpaceFixerCommand(sublime_plugin.TextCommand):
def run(self, view):
self.run_all_views()
# self.run_current_view()
def is_enabled(self):
return len(sublime.active_window().views()) > 0
def run_all_views(self):
for view in sublime.active_window().views():
self.process(view)
def run_current_view(self):
self.process(sublime.active_window().active_view())
def process(self, view):
# Previous tab size
view.run_command('set_setting', {"setting": "tab_size", "value": 3})
# This trick will correctly convert inline (not leading) tabs.
view.run_command('expand_tabs', {"set_translate_tabs": True}) # This will touch inline tabs
view.run_command('unexpand_tabs', {"set_translate_tabs": True}) # This won't
# New tab size
view.run_command('set_setting', {"setting": "tab_size", "value": 4})
view.run_command('expand_tabs', {"set_translate_tabs": True})
Run Code Online (Sandbox Code Playgroud)
然后打开要处理的项目文件.该插件将处理打开的标签并将其弄脏.一旦您认为一切正常,您就可以进行"全部保存".
不要忘记在代码中编辑上一个和新的选项卡大小.例如,我的案例是从3(作为制表符)到4(空格).在这种情况下,此插件将正确保留使用制表符进行的垂直内联(非前导)对齐.
如果您愿意,可以为此作业分配快捷键:
{"keys": ["ctrl+alt+t"], "command": "batch_tab_to_space_fixer"}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1539 次 |
| 最近记录: |