我对如何在TextMate中折叠和组织我的代码有点肛门,而且一个让我困扰TextMate的代码折叠行为的问题是,如果我有一个包含大量函数的文件,那么PHP的问题就是我只想折叠所有功能(但不是它们的内容),我必须点击每个功能并点击F1(或点击线路指示器中的小折叠按钮)。
我发现Collapse All in TextMate,这是可以的,但不太理想,因为折叠所有级别的代码意味着每个函数内的每个if,else,while等语句也将被折叠,这意味着我必须在我完成一项功能时,继续点击或点击F1。
有没有办法让TextMate将PHP文件中的所有函数识别为“1级”,所以当我选择“在Level:1处切换折叠”时,函数会折叠(但内部没有任何内容)?
现在,如果我这样做,只会折叠整个文件中的第一个函数。如果我做第4级,第二个函数就会崩溃(我不知道为什么会这样......我的所有函数都缩进完全一样......可能是我使用空格而不是制表符来缩进其中的内容函数?)。
以下是我在Bundle Editor中定义的开始和停止标记(默认值):
foldingStartMarker = '(/\*|\{\s*$|<<<HTML)';
foldingStopMarker = '(\*/|^\s*\}|^HTML;)';
答案 0 :(得分:0)
仅供参考,我记录了一个宏,我找到正则表达式'^ function',然后按右箭头键,然后按F1(折叠功能),我将该宏设置为键盘快捷键
它不像一次折叠所有东西那么棒,但是现在当我打开一个包含数百个函数的大文件时,我可以多次点击我的键组合,所有函数都被折叠了:)
[编辑:我已经更多地修复此问题(对我来说),因为我不想折叠评论块,但做想要折叠函数(对于Drupal模块文件等),我在PHP语言语法包中更改了以下两行(在Textmate的包编辑器中):
foldingStartMarker = '(/\*|\{\s*$|<<<HTML)';
foldingStopMarker = '(\*/|^\s*\}|^HTML;)';
为:
foldingStartMarker = '(\{\s*$|<<<HTML)';
foldingStopMarker = '(^\s*\}|^HTML;)';
所以,它现在对我来说非常好。活泉!]