VisualStudio2019でスペルチェック機能を利用する

検索すると VSCode のスペルチェックの記事は非常によく目にするのですが、Visual Studio (Codeじゃないほう)の記事は全然ヒットしない、もしくはVS2010くらいの情報しかヒットしないのでVisualStudio2019で英語のスペルチェックを行う方法を紹介したいと思います。

補足:

ただしこの方法だとコメントや文字列リテラルのみチェック可能で、ローカル変数はチェックできません。いったいなんで…

確認環境

  • VisualStudio 2019(16.8.2)
  • Windows10 2004

VS2019でなくとも2017でも同様の設定でスペルチェックを有効にできます。

Visual Studio Spell Checker をインストールする

まず、MS の Visual Studio Marketplace から 「Visual Studio Spell Checker (VS2017 and Later)」をダウンロード & インストールします。以下のリンクから Marketplace のサイトに移動し「Download」しまます。

Visual Studio Spell Checker (VS2017 and Later)

f:id:Takachan:20210112025640p:plain:w350
Marketplaceのページ

ダウンロード後にVSIXインストーラーを実行すると拡張機能のインストールが始まります。

f:id:Takachan:20210112025852p:plain:w250
インストール中のダイアログ

インストール完了後に、VS2019を起動するとこんな感じでチェックエラーの場所に波線が引かれるようになります。

Visual Studio Spell Checker の設定方法

日本語のチェックを無効化する

このままでは日本語が全てエラーにって使い物にならないので設定を変更していきます。

この拡張機能の設定画面へのアクセス方法は以下にあります。

ツール > Spell Checker > Edit Global Configuration

オプションの中に無いので注意。

f:id:Takachan:20210112030716p:plain:w400
設定画面の開きから

「Edit Global Configuration」を選択すると設定画面が以下のように開きます。

で、日本語のチェックをOFF(というかアスキー文字以外をチェック対象にしない)ようにするために以下にチェックを入れます。

General Settings > Ignore words containing non-ASCII characters のラジオボタンにチェックを入れる

f:id:Takachan:20210112031015p:plain:w350
ASCII以外の文字をチェックしない

設定を変更したら「Ctrl + S」で変更を保存してください

日本語に波線が入っている場合、いちどテキストのタブを閉じて再度開くと設定が反映されます。

特定の単語を Ignore リストに入れる

固有名詞などがどうしてもチェックにひかっかるため、特定の単語の除外設定します。

編集中に波線が出ている箇所をフォーカスすると電球アイコンがでるのでそれをクリックするか、「Alt + Shift + F10」で提案のメニューを開き、「Add to Ignored Words File」を選択します。ここだけチェックを除外したい場合「Ignore Once」を指定しますがほぼ使いません。

f:id:Takachan:20210112031726p:plain
除外設定の指定

ソリューション全体をチェックする

全体にチェックを書ける方法は、先ほどの設定画面の項目から「Spell Check Entire Splution」、現在開いているファイルがあるプロジェクトのみチェックするには「Spell check Current Project」を選択します。

f:id:Takachan:20210112032143p:plain:w350
全体のチェックを実行する

選択するとチェックが走っているウインドウが表示され、完了すると以下のようになります。

f:id:Takachan:20210112032426p:plain:w350
チェック結果ダイアログ

最初はかなりの件数が検出されますが、最初はそんな者みたいです。除外ファイル、除外キーワードにどんどん追加して設定を育てないと使い物になりません

除外単語の辞書は設定ファイルになっているのである程度育ててメンバーに配るなどが必要かもしれません。検出率が100%ではないため完全にタイポの検出は出来ません。ローカル変数で単語がPascalでつながってると検出しにくい?みたいです。

最後に

イニシャルで設定を行わないと使えないためもったいないツールかなと思います。日本人は誰も使ってない疑惑すらあります。正しく設定して、辞書を育てればチーム開発ではクリーンな状態をある程度保つことができると思います。個人開発ではまぁ、要らないかもしれませんね。

入力中に常時チェックが働いているのでタイプミスが即座に検出されるのは割といい感じだと思います。

今回は以上です。