9cubed
ブログ | Tailwind | Vite | Python | MariaDB | Node.js | Linux | PowerShell | Docker | Git | その他 | 将棋ウォーズ | 歌の練習
メモ帳作成講座

第26回 grepプラグインの追加

公開日:2019-02-15
更新日:2019-05-14

1. 概要

grepプラグインの追加を行いました。
指定したフォルダ配下のファイルに対して、正規表現を使ってキーワードがファイルに含まれているか検索することができます。
ファイルツリーのメニュー、またはツールバーから起動することができます。
検索処理は別スレッドで行っており、検索中でも画面を操作することができます。

2. 動画



3. 説明

1. ファイル一覧の取得

grepの実装方法の1つとして、一度全てのファイル一覧を取得して、それからファイル一覧をループして、ファイルをチェックする方法があります。
この場合、ファイル一覧の取得が完了するまで、検索処理が始まりません。

そこで今回は、Directory.EnumerateFiles() を使い、ファイル一覧を1度に取得するのではなく、ファイルを1つずつ取得して、検索をするようにしています。
これにより、grep実行後、早い段階で目的のファイルが見つかった場合は、すぐにキャンセルすることができます。

前者の場合は、早い段階で目的のファイルが見つかるような場合でも、全てのファイル一覧の取得が終わるまで、待つ必要があります。

2. 正規表現による文字列の検索

正規表現による検索には、Regex.Matches() を使用します。
大文字・小文字の区別をする場合は、正規表現ではなく、メソッドの引数でオプションを指定します。
戻り値は MatchCollection となり、検索でヒットした文字列中の位置(index)、ヒットした文字列(Value) を取得することができます。
Collection になっているのは、1つの文字列中に、複数ヒットする場合があるためです。

4. 画面

画像1

画像2

画像3

画像4

画像4

ダウンロード

ver実行ファイルソース
1.1.10
2019/01/29
ncm_1_1_10.zipncm_1_1_10_src.zip


YouTube X

新着一覧

  • テーブル結合(CROSS JOIN、INNER JOIN、LEFT JOIN)MariaDB
  • 楽観ロック・悲観ロックMariaDB
  • カレントリードMariaDB
  • インデックスMariaDB
  • 論理削除(ソフトデリート)MariaDB
  • awk(オーク)の使い方についてLinux
  • NOT NULL 制約と NULL を許容した時の動作MariaDB
  • 外部キー制約MariaDB
  • MySQL と MariaDB の関係MariaDB
  • Docker で PostgreSQL のコンテナの使用Linux

アーカイブ

  • 2026/01
  • 2025/12
  • 2025/11
  • 2025/10
  • 2025/09
  • 2025/08
  • /00

以前のカテゴリー一覧

  • CakePHP3
  • CentOS7
  • HTML・CSS・JavaScript
  • Haskell
  • JavaScript
  • Kotlin
  • Laravel5
  • PHP
  • Python
  • Ruby
  • RubyOnRails5
  • TypeScript
  • Vue.js
  • Webサーバ講座
  • Webプログラミング講座
  • jQuery
  • linux
  • パソコン講座
  • ブログ
  • プログラミング講座
  • メモ帳作成講座
  • 数学

Copyright © 9cubed. All Rights Reserved.

プライバシーポリシー 利用規約
▲