2011-10-07 77 views
0

我有點肛門關於如何在TextMate中摺疊和組織我的代碼,並且一直困擾着我關於TextMate的代碼摺疊行爲的一個問題是,在PHP中,如果我有一個文件一堆函數,我只想摺疊所有的函數(但不包括它們的內容),我必須點擊每個函數並點擊F1(或點擊行指示符中的小摺疊按鈕)。摺疊TextMate中的所有PHP函數

我發現Collapse All in TextMate,這是可以的,但並不理想,因爲摺疊所有級別的代碼意味着每個函數中的每個if,else,while等語句也將被摺疊,這意味着我必須保持klicking或在我完成一項功能的同時擊中F1。

有沒有什麼辦法讓TextMate將PHP文件中的所有函數識別爲'1級',所以當我選擇'在1級切換摺疊'時,函數會崩潰(但裏面沒有)?

現在,如果我這樣做,只有整個文件中的第一個函數被摺疊。如果我做4級,第二個功能崩潰了(我不知道爲什麼這是如此...所有我的功能縮進完全相同...可能是因爲我使用空格而不是製表符縮進內部功能?)。

這裏是我的啓動和停止標誌(默認),如包編輯器定義:

foldingStartMarker = '(/\*|\{\s*$|<<<HTML)'; 
foldingStopMarker = '(\*/|^\s*\}|^HTML;)'; 

回答

0

僅供參考,我錄我的宏找到正則表達式「^功能」,然後按向右箭頭鍵,然後按F1(摺疊該功能),並將該宏設置爲鍵盤快捷鍵。

這並不是因爲只是在一次彎曲摺疊的一切,真棒,但現在當我打開一個巨大的文件與數以百計的功能,我可以打我的組合鍵一堆次,所有的功能得到摺疊:)

[編輯:我已經在修復這個(對我來說)多一點,因爲我不想摺疊評論塊,但想要摺疊功能(對於Drupal模塊文件等),我在PHP語言語法包(在Textmate的包編輯器中)中更​​改了以下兩行:

foldingStartMarker = '(/\*|\{\s*$|<<<HTML)'; 
foldingStopMarker = '(\*/|^\s*\}|^HTML;)'; 

到:

foldingStartMarker = '(\{\s*$|<<<HTML)'; 
foldingStopMarker = '(^\s*\}|^HTML;)'; 

所以,它現在的工作很適合我。 Woot!]