2011-11-12 13 views
13

Textmateの「選択範囲内の行を並べ替える」機能が大好きです。 Xcode 4に類似したものはありますか?もしそうでなければ、そのような機能(プラグイン、AppleScriptなど)を統合する最良の方法は何でしょうか? TextMateでXcode 4の「選択範囲内の行を並べ替える」

答えて

38

これは、ライオンのオートメーターで行うことができます。ワークフローパネルに

  • スタートのAutomatorと「サービス」を選択し
  • 見つけ、ドラッグ「ファイル名を指定して実行シェルスクリプト」
  • を選択し、「ファイル名を指定して実行シェルスクリプト」へ
  • タイプsort -f「出力が選択したテキストを置き換えます」テキストフィールド
  • 保存は

今、あなたは、任意のテキストフィールド内の行をソートすることができます。テキストを選択して右クリックするか、コントロールをクリックして、作成したサービスを選択します。

enter image description here

+2

Uberawesome :-)それは本当にクールな解決策です!ありがとうございました! –

+2

ありがとうございます。 Xcodeのサービスとしてうまく動作します。しかし、先頭の空白スペースオプション(sort -fb)を無視して、より良い結果を得ました。 – markhunte

+2

これは天才です。 – Joe

1

どう

、バンドルを開いて、彼らはそれを実装しているかを確認;)

具体的には、そのコマンドのsort -fを使用していました。 Xcodeので

XC4は、外部コマンドを提供していませんが、XC3はなかった...あなたはどのバージョンを使用していますか?

ここXC3のスクリプトシステムの概要です:http://www.mactech.com/articles/mactech/Vol.23/23.01/2301XCode/index.html

XC4は、あなたが行動を介して外部スクリプトを実行することを可能にしますが、テキスト/選択を渡したり返すことはできません。

のAppleScript

あなたはAppleScriptのでそれを行うことができるかもしれません...私はAS + Xcodeので自明でない何かをしようとしているたびに、それは(もし全てで)非常に確実に動作しませんでした。しかし、それはXc3にありました。Xc4(UIと統一の統一)では、必要なものが簡単に見つかるかもしれません。

私はこのためにTextMateを使用しています。

1

10.7とサービスメニューは、メニューバーから一度示されているまで、Automatorのサービスのためのショートカットが常に動作しない10.8上のバグがあります。あなたはまだ、コンテキストメニューからそれらを選択することができますが、別のオプションは、このようなスクリプトへのショートカットを割り当てるには、次のようになります。

try 
    set old to the clipboard as record 
end try 
try 
    tell application "System Events" to keystroke "c" using command down 
    do shell script "export LC_CTYPE=UTF-8; pbpaste | sort -fn | pbcopy" 
    tell application "System Events" to keystroke "v" using command down 
    delay 0.05 
end try 
try 
    set the clipboard to old 
end try 

、それは誤りで空の結果だときクリップボードを取得しようとしています。 pbpasteとpbcopyは、do shellスクリプトで使用される環境では、デフォルトでUnicodeをサポートしていません。

1

4年後もXcodeにはこの機能が組み込まれていませんが、現在は拡張機能をサポートしています。 "xcsort"は sort text in Xcodeの拡張です。8.選択範囲の行をソートするコマンドが追加されました。

関連する問題