こんにちは、 ast-grepの作者Herringtonです。 正規表現でコードを検索したことがある方なら、複数行のマッチングや入れ子構造の処理、コメントの無視などに苦労したことがあるかもしれません。 そこで、ast-grep VSCodeという新しい拡張を紹介します。これは、構造的検索と置換(SSR)という技術を利用して、より正確で効率的な検索と置換を実現するツールです。 構造検索は? テキスト検索と置換の限界 例えば、JavaScriptコードをリファクタリングして、lodash の _.filter 関数をネイティブの Array.prototype.filter メソッド に置き換えたいとします。単純なテキスト検索と置換は次のようになります: これは一部のケースではうまくいくかもしれませんが、いくつかの問題があります。 一行の式しかマッチングできません。コードが複数行にまたがってい
![ast-grep VSCode: 構造検索と置換の強力なツール](https://cdn-ak-scissors.b.st-hatena.com/image/square/a6c51030c11aa6d8507545510e8f56493adb2a2a/height=288;version=1;width=512/https%3A%2F%2Fres.cloudinary.com%2Fzenn%2Fimage%2Fupload%2Fs--Xw8mp1xc--%2Fc_fit%252Cg_north_west%252Cl_text%3Anotosansjp-medium.otf_55%3Aast-grep%252520VSCode%25253A%252520%2525E6%2525A7%25258B%2525E9%252580%2525A0%2525E6%2525A4%25259C%2525E7%2525B4%2525A2%2525E3%252581%2525A8%2525E7%2525BD%2525AE%2525E6%25258F%25259B%2525E3%252581%2525AE%2525E5%2525BC%2525B7%2525E5%25258A%25259B%2525E3%252581%2525AA%2525E3%252583%252584%2525E3%252583%2525BC%2525E3%252583%2525AB%252Cw_1010%252Cx_90%252Cy_100%2Fg_south_west%252Cl_text%3Anotosansjp-medium.otf_37%3AHerrington%252520Darkholme%252Cx_203%252Cy_121%2Fg_south_west%252Ch_90%252Cl_fetch%3AaHR0cHM6Ly9saDMuZ29vZ2xldXNlcmNvbnRlbnQuY29tL2EvQUFjSFR0ZWZPY0dMdmpkYjdJT0JURTFKNXB4d3ZVcEc2SEdRZ2w3bE1LZnR0SW1hMFRxTj1zOTYtYw%3D%3D%252Cr_max%252Cw_90%252Cx_87%252Cy_95%2Fv1627283836%2Fdefault%2Fog-base-w1200-v2.png)