verilog書く人

自称ASIC設計者です。どなたかkaggle一緒に出ましょう。

似ている単語を別の色でハイライトするVSCodeのプラグイン「colorize-similar」を公開しました

突然ですが、このコードを読んでなにか気づいたことはないでしょうか?

def add2d(input_x, input_y):
    return [input_x[0] + input_y[0], input_x[1] + input_y[1]]

def sub2d(input_x, input_y):
    return [input_x[0] - input_x[0], input_x[1] - input_y[1]]

こうしてみるとどうでしょう?

f:id:segafreder:20191030231622p:plain
view

色分けするとよりわかりやすいですね、sub2dは実はバグっていて、

def sub2d(input_x, input_x):
    return [input_x[0] - input_y[0], input_x[1] - input_y[1]]

が正しいです。このように、似たような名前の変数の取り違えによるバグを誰しも一度は、いや何度も埋め込んできたと思います。

(私は競プロでも業プロでも何度もこれで死にました。。)

xとyはかなり似ているのですが、色分けされていれば簡単に見つかります。

というわけで、似たような単語を色分けしてハイライトする、colorize-similarというプラグインを公開しました。ぜひお試しください。

インストール

他のVisual Studio Codeプラグインと同様にfukatani.colorize-similarをインストールしてください。

使い方

簡単です。 まず対象となる単語を選択します。単語の上でダブルクリックすると確実です。 次にCtrl + Shift + pを入力し、Colorize Similarを選ぶだけです。(Similarと打つと上の方に出てくるはず。)

f:id:segafreder:20191030232402p:plain
command

ハイライトを消したいときは、Clear Colorize Similarを選びます。

仕組み

正規表現で全ての単語を抜き出して、選択した単語からのレーベンシュタイン距離を計算します。 今のところは距離1以内の単語をハイライトする仕様にしています。

その他

PR is welcomeです。TypeScriptなにもわかりませんのでご指導ご鞭撻もwelcomeです。

競プロIDEでも使えるようになります。次のリリースくらいから。

こちらは、よりアグレッシブにダブルクリックの度に機能する仕様にしてます。

鬱陶しかったら動作を変えるかもしれません。