8
5

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

VSCode拡張の高速な英語辞書ツールをつくりました(Hovering Dictionary)

Last updated at Posted at 2023-05-27

Abstract

VSCode上でサクッと辞書を引ける拡張機能をリリースしました。
demo.gif

ダウンロードはこちら↓

現状、複数のwindowで利用しようとするとエラーが出るようです...
-> v0.2.2で対応しました!

背景

(飛ばしても良いです。)

最強のブラウザ辞書ツール: Mouse Dictionaryをご存知でしょうか。

ブラウザ上でサクッと辞書を引くことを可能にするChromeの拡張機能で、私も普段論文を読んだりする時にお世話になっています。またMouse Dictionaryは技術文書にありがちなcamelCase, snake_caseみたいな表記にも問題なく使えるという点で、技術文書を読むことにも有効です。
したがって、このような機能は、英語で書かれた変数名やコメントを触るコードエディタとも親和性が高いと考えています。
しかし当たり前ですが、Mouse DictionaryはVSCode上で動作しません。
そこで「ないのなら作ってしまえ」ということで、Mouse Dictionaryのコードを一部用いてVSCodeの拡張機能として作成・リリースしました。

特徴

最強のブラウザ辞書ツール: Mouse DictionaryをVSCode上で再現しました。
したがって次のような特徴をそのまま引き継いでます。

  • 単語や熟語の検出に強い
  • 好きな辞書データを簡単にインポートできる(熟語データの豊富な英辞郎オススメ)
  • 技術文書にありがちなcamelCase, snake_caseみたいな表記にも問題なく使える
マウス下のテキスト 引ける語
単語にバラす camelCase camel case
単語にバラす snake_case snake case
不規則変化な過去形を含む dealt with deal, deal with
単語が繋がっていても熟語として認識 spinout spin out
途中に形容詞などが挟まる場合 make some modifications make a modification
所有格 changed our mind change one's mind
綴りスタイルの違い programme program
上記の他にもいろいろ pros/cons pros and cons

なお現状、「make some modifications」-> 「make a modification」はマウスで「make some modifications」を選択する必要があります。(Mouse Dictionaryではその周辺にマウスを持っていくだけでよい。)

ソースコード

vscode.WebviewViewProvider, vscode.HoverProviderを利用してパネルとホバーのviewを作成しています。
また辞書データの格納には、拡張機能が使用を許されているディレクトリにlevelでデータベースを作成して利用しています。

使い方

インストール

デフォルト辞書の読み込み

インストールすると、デフォルトの辞書データを読み込むか聞かれます。
良ければYesとしてください。
ここでNoを押しても、コマンドパレットからhovering-dictionary: load default dictionaryを選択することで後から読み込むことも可能です。

簡単な単語であれば、マウスをかざすだけで辞書の検索結果が表示されます。
image.png

ホバーのON/OFF

右下の拡大鏡のようなアイコンをクリックすることで、ホバーの表示をON/OFFできます。
image.png

コマンドパレットからは、hovering-dictionary: toggle whether the hover is shown or notを実行することで切り替えられます。
image.png

ショートカットキーに登録しておくのが便利かもしれません。次のコマンドパレットから、ショートカットキーの設定ファイルkeybindings.jsonを開いて...
image.png
次のように追加するとオッケーです。

keybindings.json
{
    // ...
    {
        "key": "ctrl+alt+z",
        "command": "hovering-dictionary.toggle-hover-visibility"
    }
}

ショートカットキー"ctrl+alt+z"は好きなように変えてください。

英辞郎

このままでも46,971語のデータで、十分に便利ですが、やはり熟語などは物足りません。
そこで熟語などもたくさん含んだ辞書データをインポートすると、格段に便利になります。

英辞郎が大変おすすめです

たった500円でQoLが爆上がりします。というかデモもこの辞書データが入った状態のものです。
Mouse Dictionaryのために既に購入されていた方は、そのファイルをそのままインポートできます

cmd+shift+pでコマンドパレットを開いて、import your dictionary fileを選択・実行します。
image.png
ファイルの選択がポップアップしますので、そこで購入・ダウンロードした英辞郎のファイル(EIJIRO-1448.TXT)を選択します。
続いてformatはEIJIRO, encodingはSHIFT-JISを選択してください。
辞書データの読み込みにそこそこかかりますが、ロードが終わるとあなたのVSCodeは最強の簡易辞書へと変身します。

8
5
5

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
8
5

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?