Javascript textmate重新格式化为2个空格

Javascript textmate重新格式化为2个空格,javascript,textmate,indentation,Javascript,Textmate,Indentation,我已将textmate设置为在文件中使用softtabs 2空格。但当我试图重新格式化整个文档时,它使用两个硬制表符作为缩进 常规缩进可以按照我的要求工作,只是文档格式不行。无论如何都要让textmate听话 谢谢。JavaScript捆绑包的“重新格式化文档/选择”命令正在将文档文本传递给捆绑包的beautify.php文件中的js_beautify函数(可在我的系统上找到,默认情况下可能位于/Applications/TextMate.app/Contents/SharedSupport/B

我已将textmate设置为在文件中使用softtabs 2空格。但当我试图重新格式化整个文档时,它使用两个硬制表符作为缩进

常规缩进可以按照我的要求工作,只是文档格式不行。无论如何都要让textmate听话

谢谢。

JavaScript捆绑包的“重新格式化文档/选择”命令正在将文档文本传递给捆绑包的beautify.php文件中的js_beautify函数(可在我的系统上找到,默认情况下可能位于
/Applications/TextMate.app/Contents/SharedSupport/Bundles/JavaScript.tmbundle/Support/lib/beautify.php
)。如果查看函数定义,您将看到第二个参数$tab\u size,默认值为4。捆绑包中有一行内容是
print js_beautify($input)。将此更改为打印js_美化($input,2)
为了使其更加灵活,请使用TextMate环境变量TM_TAB_SIZE,如
print js_beautify($input,getenv('TM_TAB_SIZE')),如果更改选项卡大小,则应更新命令的操作方式


注意,我没有测试过这一切。:)只是看了一下包,找到了似乎必要的东西。

因此,我尝试了chuck的建议,但它给了我一个错误。我这样做是为了“修复它”。我相信可以做得更优雅一些,但这对我来说很有效

打开Chuck说的同一个文件要打开,第50行(大约)应该是这样的:

function js_beautify($js_source_text, $tab_size = 4)
将$tab\u大小更改为1

function js_beautify($js_source_text, $tab_size = 1)
现在,在第56行,上面写着:

$tab_string = str_repeat(' ', $tab_size);
将空间更改为选项卡,如下所示:

$tab_string = str_repeat("\t", $tab_size); 

这对我很有用。

你说的“重新格式化整个文档”是什么意思?请准确描述您正在做什么,我们可能会提供更多帮助。@chuck在js包中有一个“重新格式化文档”按钮