我已经将textmate设置为在我的文件上使用softtabs 2空格。但是当我尝试重新格式化整个文档时,它使用2个硬标签作为缩进。
常规缩进按我的意愿工作,只是文档格式没有。无论如何让textmate顺从吗?
感谢。
答案 0 :(得分:2)
JavaScript包的“重新格式化文档/选择”命令将文档的文本传递给bundle的beautify.php文件中的js_beautify函数(可在我的系统中找到,可能默认情况下在/Applications/TextMate.app/Contents/SharedSupport/Bundles/JavaScript.tmbundle/Support/lib/beautify.php
)。如果你看一下函数定义,你会看到第二个参数$ tab_size,默认值为4.在包中有一行读取print js_beautify($input);
。将其更改为print js_beautify($input, 2);
,我希望您可以使用两个空格获得制表位。
为了使其更灵活,请使用TextMate环境变量TM_TAB_SIZE,如print js_beautify( $input, getenv('TM_TAB_SIZE' ) );
中所示,如果您更改标签大小,则应更新命令的运行方式。
注意,我已经测试了 none 。 :)只是看看捆绑包并找出了似乎必要的东西。
答案 1 :(得分:1)
所以,我试过了查克的建议而且它给了我一个错误。我这样做是为了“修复它”。我相信它可以做得更优雅,但这对我有用。
打开同一个文件Chuck说打开,第50行(左右)应该是这样的:
function js_beautify($js_source_text, $tab_size = 4)
将$ tab_size更改为1
function js_beautify($js_source_text, $tab_size = 1)
现在,在第56行附近:
$tab_string = str_repeat(' ', $tab_size);
将空格更改为如下标签:
$tab_string = str_repeat("\t", $tab_size);
这对我有用。