XcodeまたはOS Xで検索を保存する方法はありますか?


0

簡単に開くことができる、または自動的に更新される保存済み検索を使用して、ワークフローを改善したいです。私の現在の特定の用途(将来は変わるかもしれません)では、正規表現に一致するテキストをファイルの内容から検索します。 /\/\/\s*((TODO)|(FIXME)):/そのため、後でコードに戻ることを期待して私または同僚が行ったコメントを見つけることができます。 検索を簡単にまたは自動的に実行するために保存する方法はありますか?

アクセスしやすいものなら何でもうまくいくでしょう(クリックして実行できるXcodeネイティブの保存済み検索、最初のものを含むYosemiteサイドバーウィジェット)。 n その結果、私は自分のセカンドモニタでオープンにしておくことができる、相互作用の少ない端末プログラムです。私はFinderがスマートフォルダなどを持つことができることを知っています、しかし私はそれから私が気にしているコードであるかどうか調べるためにファイルを捜し求めなければなりません。 私は本当に見つかったテキストとその行の残りの部分だけに興味があります。 どんなファイルが入っているのかではありません。新しい結果が見つかったときにアラートを受け取ることができれば、さらに素晴らしいことになります。


検索ボックスの横にある小さな矢印をクリックすると、最後のいくつかの検索引数から選択できます。
Daniel R Hicks

@DanielRHicksはよく似たような検索を何回も行っています(のように) DelegateActionDelegate\w+?Delegateこれは、保存された検索の必要性があっても変更されることはほとんどありません。
Ben Leggiero

@ DanielRHicks:「ちょっとしたもの」は拡大鏡です:-) Ben:Alfredのようなペーストボードの歴史を持つツールがあります。たぶんそれはあなたが利用できるものですか?
Thomas Kilian

@ThomasKilianはどうですか?
Ben Leggiero

Alfred(および他の同様のアプリ)には、貼り付けバッファーの履歴を検索する機能があります。だからあなたは文字列を見つけて貼り付けることができるでしょう。
Thomas Kilian

回答:


1

おそらく、この短い端末コマンドは次のようになります。

while true; do clear; egrep -rhn 'TODO|FIXME' .; sleep 5; done

説明すると、whileループは与えられたコマンドを再実行してからそれから sleep にとって 5 秒と clear 再実行する前に画面を更新します。 egrep ファイルを介して提供されたRegExで検索 -r 再帰的に . カレントディレクトリ、 -h ファイル名のヘッダを出力から削除します(必要ならばhを削除してください)。 -n 対応する行番号を先頭に追加します。

あなたが私があなた自身の正規表現と一緒に提供した文字列を置き換えることもできるはずですそしてまた . 検索したいディレクトリを指定してください。

Brewがインストールされている場合は、代わりに使用することができます。 brew install watch 代わりに次のコマンドを実行してください。

watch -x egrep -rhn 'TODO|FIXME' .

watch 繰り返しコマンド -x 与えられたコマンドをデフォルトの間隔で実行します。

残念ながら、watchはあなたに1つの端末の高さ分のマッチしか表示しないようです。その場合は、ただ実行するのが最善でしょう egrep それだけで。 watchとegrepには、これをさらにカスタマイズするのに役立つかもしれない多くのオプションがありますし、それから本格的なスクリプトを作るかもしれません。これらについての詳細はmanページにあります(例: man watch


-bash: watch: command not found
Ben Leggiero

申し訳ございません、インストールしました watch ブリューと。私はbashにもっとネイティブな代替で答えを更新します。
John Starich

このサブフォルダも検索しますか。
Ben Leggiero

うんそれは何ですか -r オプションはありません。
John Starich

それは私にとっては実際にはうまくいきませんでした。クラッシュのせいでそれが合理化されるには忙しすぎたためです。あなたに戻ってきます。
Ben Leggiero
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.