4

TextMate 1.5.10 r1623では、メソッドブロックを折りたたむことができる小さな矢印が表示されます。

代替テキスト

残念ながら、複数行のPythonコメントがある場合、それは認識されないため、折りたたむことはできません。

def foo():
 """
 How do
 I fold
 these comments?
 """

 print "bar"

TextMateのサイトには、折りたたみをカスタマイズする方法が記載されています:http: //manual.macromates.com/en/navigation_overview#customizing_foldings

...しかし、私はそれについて何かをするのに十分な正規表現に熟練していません。TextMateはOnigurumaregexAPIを使用しており、GetBundlesを介して最新バージョンに更新されたデフォルトのPython.tmbundleを使用しています。

誰かがこれを行う方法のアイデアを持っていますか?よろしくお願いします!:)


バンドルエディタのPython言語でPython.tmbundleのデフォルト値foldingStartMarkerと正規表現値を追加します。foldingStopMarker

foldingStartMarker = '^\s*(def|class)\s+([.a-zA-Z0-9_ <]+)\s*(\((.*)\))?\s*:|\{\s*$|\(\s*$|\[\s*$|^\s*"""(?=.)(?!.*""")';
foldingStopMarker = '^\s*$|^\s*\}|^\s*\]|^\s*\)|^\s*"""\s*$';
4

2 に答える 2

2

複数行のコメントの折りたたみはTextMateで機能するようですが、引用符は次のように正確に並べる必要があります。

""" Some sort of multi
    line comment, which needs quotes
    in just the right places to work. """

それはそれをするようです:

ここに画像の説明を入力してください

ここに画像の説明を入力してください

于 2011-02-03T03:12:51.893 に答える
1

このTextmateメーリングリストのスレッドによると、最後までたどると、Pythonの適切なコード折り畳みはサポートされません。基本的に、foldingStartMarkerおよびfoldingStopMarkerに実装されている正規表現ではキャプチャが許可されていないため、「endfold」の先頭の間隔の量を「beginfold」と一致させることはできません。

この問題は、Textmateの作成者であるAllanOdgaardによって最終的かつ公式に対処されていません。ただし、スレッドは2005年のものであるため、これは致命的な問題であり、サポートされる問題ではないと思います。

于 2011-06-02T20:29:13.640 に答える