コードとドキュメントでうまく機能する基本的なスペル チェッカー。
このスペル チェッカーの目的は、誤検知の数を低く抑えながら、一般的なスペル エラーを検出できるようにすることです。
TypeScript、JavaScript、Text などのファイルを読み込みます。辞書ファイルにない単語には波線が表示されます。
提案のリストを表示するには:
単語内にカーソルを置くと、次のいずれかによって候補のリストが表示されます。
左側の余白にある (電球) をクリックします。
Quick Fix
エディターのアクション コマンド:
マック: ⌘
+ .
またはCmd
+ .
PC: Ctrl
+ .
VS Code を開いてF1
キーを押し、 ext
select install」と入力し、 code-spell-checker
と入力して Enter キーを押し、ウィンドウをリロードして有効にします。
英語 (米国)
英語 (GB) - "cSpell.language": "en"
を"cSpell.language": "en-GB"
に変更してオンにします。
古代ギリシャ語 - VS Code の古代ギリシャ語辞書拡張機能。
アラビア語 - VS Code のアラビア語辞書拡張機能。
VS Code 用のオーストラリア英語 - オーストラリア英語辞書拡張機能。
オーストリアドイツ語 - VS Code のオーストリアドイツ語辞書拡張機能。
Basque - VS Code のバスク語辞書拡張機能。
VS Code 用のイギリス英語 - イギリス英語辞書拡張機能。
ブルガリア語 - VS Code のブルガリア語辞書拡張機能。
VS Code 用のカナダ英語 - カナダ英語辞書拡張機能。
カタロニア語 - VS Code のカタロニア語辞書拡張機能。
クロアチア語 - VS Code のクロアチア語辞書拡張機能。
Czech - VS Code のチェコ語辞書拡張機能。
デンマーク語 - VS Code のデンマーク語辞書拡張機能。
オランダ語 - VS Code のオランダ語/オランダ語辞書拡張機能。
Esperanto - VS Code のエスペラント辞書拡張機能。
エストニア語 - VS Code のエストニア語辞書拡張機能。
Finnish - VS Code のフィンランド語辞書拡張機能。
フランス語 - VS Code のフランス語辞書拡張機能。
French Réforme 90 - VS Code 用のフランス語 Réforme 90 辞書拡張機能。
ドイツ語 - VS Code のドイツ語辞書拡張機能。
Greek - VS Code のギリシャ語辞書拡張機能。
Hebrew - VS Code のヘブライ語辞書拡張機能。
ハンガリー語 - VS Code のハンガリー語辞書拡張機能。
インドネシア語 - VS Code のインドネシア語辞書拡張機能。
イタリア語 - VS Code のイタリア語辞書拡張機能。
Latin - VS Code のラテン語辞書拡張機能。
ラトビア語 - VS Code のラトビア語辞書拡張機能。
リトアニア語 - VS Code のリトアニア語辞書拡張機能。
マケドニア語 - VS Code のマケドニア語辞書拡張機能。
ノルウェー語ブークモール - VS Code のノルウェー語ブークモール辞書拡張機能。
ペルシア語 - VS Code のペルシア語辞書拡張機能。
ポーランド語 - VS Code のポーランド語辞書拡張機能。
Portuguese - VS Code のポルトガル語辞書拡張機能。
ブラジルポルトガル語 - VS Code のブラジルポルトガル語辞書拡張機能。
ルーマニア語 - VS Code のルーマニア語辞書拡張機能。
ロシア語 - VS Code のロシア語辞書拡張機能。
セルビア語 - VS Code のセルビア語辞書拡張機能。
スロバキア語 - VS Code 用のスロバキア語辞書拡張機能。
スロベニア語 - VS Code のスロベニア語辞書拡張機能。
スペイン語 - コード スペル チェッカー用スペイン語アドオン
Swedish - VS Code のスウェーデン語辞書拡張機能。
スイスドイツ語 - VS Code のスイスドイツ語辞書拡張機能。
Turkish - VS Code のトルコ語辞書拡張機能。
ウクライナ語 - VS Code のウクライナ語辞書拡張機能。
ベトナム語 - VS Code のベトナム語辞書拡張機能。
医療用語 - コード スペル チェッカー用医療用語アドオン
科学用語 - VS Code の科学用語辞書拡張機能。
Win32 - VS Code 用の Win32 辞書拡張機能。
アスキードキュメント
C、C++
C#
css、レス、scss
ダーツ
エリクサー
行く
HTML
ジャワ
JavaScript
JSON / JSONC
ラテックス
マークダウン
PHP
パワーシェル
パグ/ジェイド
パイソン
再構造化されたテキスト
ルビー
さび
スカラ座
文章
TypeScript
YAML
SQL
ファイルタイプのスペルチェックを有効または無効にするには:
ステータス バーのスペル チェッカー ステータスをクリックします。
情報画面でチェックボックスをクリックします。
コンセプトは単純で、既知の英語の単語のリストと照合する前にキャメルケースの単語を分割するというものです。
キャメルケース -> キャメルケース
HTMLInput -> html input -- I
HTML
ではなくInput
に関連付けられていることに注意してください。
snake_case_words -> スネークケースの単語
Camel2snake -> ラクダのヘビ -- (2 は無視されます)
すべて大文字の単語の一般的なスペルの練習に役立つ特別なケースがいくつかあります。
末尾のs
、 ing
、 ies
、 es
、 ed
前の単語とともに保持されます。
CURLs -> カール -- 末尾のs
CURLedRequest -> カールされたリクエスト -- 末尾のed
このスペルチェッカーは大文字と小文字を区別しません。英語であるはずの english などのエラーは検出されません。
スペルチェッカーはローカルの単語辞書を使用します。マシンの外部には何も送信されません。
辞書の単語には間違いが含まれる可能性があり、実際に含まれています。
足りない言葉があります。
3 文字より長い単語のみがチェックされます。 「jsj」はチェックされませんが、「jsja」はチェックされますが、どの辞書にも存在しないため、不正確としてマークされます。
すべての記号と句読点は無視されます。
ソース コードにスペル チェック設定を追加することができます。これは、プロジェクト全体には当てはまらないファイル固有の問題に対処するために役立ちます。
すべての設定には、 cSpell:
またはspell-checker:
接頭辞が付けられます。
disable
-- コードのセクションのスペル チェッカーをオフにします。
enable
-- スペル チェッカーをオフにした後、再びオンにします。
ignore
-- 無視する単語のリストを指定します。
words
-- 正しいとみなされる単語のリストを指定し、候補リストに表示されます。
locale
-- ロケールを設定します (例: フランス語と英語を使用する場合はcSpell:locale fr,en
)
ignoreRegExp
-- 正規表現に一致するテキストはスペル チェックされません。
includeRegExp
-- includeRegExp のコレクションに一致するテキストのみがチェックされます。
enableCompoundWords
/ disableCompoundWords
-- 「stringlength」のような単語を許可または禁止します。
コードにコメントを追加することで、スペル チェッカーを無効または有効にすることができます。
cSpell:disable
spell-checker: disable
spellchecker: disable
cspell: disable-line
cspell: disable-next-line
cSpell:enable
spell-checker: enable
spellchecker: enable
// cSpell:disableconst wackyWord = ['zaallano', 'wooorrdd', 'zzoommmmmmmm'];/* cSpell:enable */// ネストの無効化 / 有効化はサポートされていません// Spell-checker:disable// 現在は無効になっています.var liep = 1;/* cspell:disable */// まだ無効になっています// cSpell:enable// 現在は無効になっていますEnabledconst str = 'goededag'; // <- エラーとしてフラグが立てられます。// Spell-checker:enable <- 何もしません// cSPELL:DISABLE <-- も機能します。// 有効化がない場合、スペルは無効になるまで無効になります。ファイルの終わり。const str = 'goedemorgen'; // <- エラーとしてフラグが立てられることはありません。
<!--- cSpell:disable --->このテキストはチェックされていません。<!--- cSpell:enable --->このテキストはチェックされています。
「無視」では、文書内で無視する単語のリストを指定できます。
// cSpell:ignore zaallano, wooorrdd// cSpell:ignore zzooommmmmmmmconst wackyWord = ['zaallano', 'wooorrdd', 'zzooommmmmmm'];
注: ignore
で定義された単語はファイル全体で無視されます。
単語リストを使用すると、正しいと考えられ、候補として使用される単語を追加できます。
// cSpell:words woorxs sweetbeatconst companyName = 'woorxs sweetbeat';
注: words
で定義された単語はファイル全体に使用されます。
一部のプログラミング言語では、単語を接着するのが一般的です。
// cSpell:enableCompoundWordschar * エラーメッセージ; // cSpell:enableCompoundWordsint errornumber は問題ありません。 // もOKです。
注:複合語チェックは、同じファイル内でオン/オフを切り替えることはできません。ファイル内の最後の設定によって、ファイル全体の値が決まります。
デフォルトでは、文書全体のスペルがチェックされます。上記のcSpell:disable
/ cSpell:enable
使用すると、ドキュメントのセクションをブロックできます。 ignoreRegExp
とincludeRegExp
、テキストのパターンを無視したり含めたりすることができます。デフォルトでは、フラグが指定されていない場合、フラグgim
が追加されます。
スペル チェッカーは次のように動作します。
includeRegExp
に一致するすべてのテキストを検索
excludeRegExp
に一致するテキストを削除します
残りのテキストを確認します。
// cSpell:ignoreRegExp 0x[0-9a-f]+ -- C スタイルの 16 進数を無視します// cSpell:ignoreRegExp /0x[0-9A-F]+/g -- 大文字の C スタイル 16 進数を無視します。 // cSpell:ignoreRegExp g{5} h{5} -- ggggg のみに一致しますが、hhhoh または 'ggggg hhhoh' には一致しません// cSpell:ignoreRegExp g{5}|h{5} -- ggggg と hhhah の両方に一致します// cSpell:ignoreRegExp /g{5} h{5}/ -- 'gggg hhhah' に一致します/* cSpell:ignoreRegExp /n {5}/ -- 終了コメントのため期待どおりに動作しません -> *//* cSpell:ignoreRegExp /q{5}/ -- は一致しますqqqqq は問題ありませんが、QQQQQ ではありません*/// cSpell:ignoreRegExp /[^s]{40,}/ -- スペースのない長い文字列は無視されます。// cSpell:ignoreRegExp 電子メール -- これは電子メールのようなパターンを無視します -- を参照してください。事前定義された RegExp 式var encodedImage = 'HR+cPzr7XGAOJNurPL0G8I2kU0UhKcqFssoKvFTR7z0T3VJfK37vS025uKroHfJ9nA6WWbHZ/ASn...';var email1 = '[email protected]';var email2 = '<[email protected]>';
注: ignoreRegExp と includeRegExp はファイル全体に適用されます。開始したり停止したりすることはありません。
一般に、 includeRegExp
使用する必要はありません。ただし、複数の言語を混在させている場合には、役立つ可能性があります。
# cSpell:includeRegExp #.*# cSpell:includeRegExp /(["]{3}|[']{3})[^1]*?1/g# コメントとブロック文字列のみのスペルがチェックされます。def sum_it( self, seq):"""これはスペルチェックされています"""variabele = 0linea = 'this is not check'for num in seq:# 'value' のローカル状態反復間で保持されますvariabele += numyield variabele
Urls
1 -- URL に一致します
HexValues
-- #aaa
、 0xfeef
、 u0134
などの一般的な 16 進形式に一致します
EscapeCharacters
1 -- 特殊文字に一致します: n
、 t
など。
Base64
1 -- 40 文字を超えるテキストの Base64 ブロックと一致します。
Email
-- ほとんどの電子メール アドレスに一致します。
Everything
1 -- デフォルトでは、ドキュメント全体が照合され、除外対象が削除されます。
string
-- これは、「...」、「...」、および `...` などの一般的な文字列形式に一致します。
CStyleComment
-- これらは C スタイルのコメント /* */ および //
PhpHereDoc
-- これは PHPHereDoc 文字列と一致します。
1.これらのパターンは、すべてのファイルのデフォルトの包含/除外リストの一部です。
スペル チェッカーの構成は、VS Code の設定またはcspell.json
構成ファイルを介して制御できます。
優先順位:
ワークスペースフォルダーcspell.json
ワークスペースフォルダー.vscode/cspell.json
VS Code の設定cSpell
セクション。
ワークスペース辞書に独自の単語を追加するオプションがあります。最も簡単なのは、追加したい単語の上にカーソルを置き、電球が表示されたらCtrl+.
(Windows) / Cmd+.
(マック)。候補のリストと単語を追加するオプションが表示されます。
辞書に追加したい単語を入力することもできます。 F1
add word
-- Add Word to Dictionary
を選択し、追加したい単語を入力します。
辞書に追加された単語は、ワークスペースフォルダーのcspell.json
ファイルに配置されます。 cspell.json
の設定は、VS Code のsettings.json
の同等の cSpell 設定をオーバーライドすることに注意してください。
// cSpell Settings{// 設定ファイルのバージョン。 常に 0.2"version": "0.2",// language - 現在アクティブなスペル言語" language": "en",// Words - 常に正しいとみなされる単語のリスト"words": ["mkdirp","tsmerge" ,"githubusercontent","streetsidesoftware","vsmarketplacebadge","visualstudio"],// flagWords - 常に間違っているとみなされる単語のリスト// これ不快な言葉やよくあるスペルミスに役立ちます。// たとえば、「hte」は「the」「flagWords」: ["hte"]} にする必要があります。
//-------- コード スペル チェッカーの設定 --------// スペル チェック時に使用する言語ロケール。 "en"、"en-US"、および "en-GB" は現在デフォルトでサポートされています。"cSpell. language": "en",// ドキュメントごとのスペル ミスの最大数を制御します。"cSpell.maxNumberOfProblems": 100 ,// 表示される候補の数を制御します。"cSpell.numSuggestions": 8,// 辞書と照合する前の単語の最小長。"cSpell.minWordLength": 4,// スペルチェックするファイルタイプを指定します。"cSpell.enabledLanguageIds": ["csharp","go","javascript","javascriptreact","markdown","php","plaintext","typescript", "typescriptreact","yaml","sql"],// スペル チェッカーを有効または無効にします。"cSpell.enabled": true,// 単語ワークスペースの辞書に追加します。"cSpell.words": [],// 'errormessage' のような複合語を有効または無効にします。"cSpell.allowCompoundWords": false,// 無視され、提案されない単語。"cSpell.ignoreWords" : ["behaviour"],// 辞書に追加するユーザーの単語。 ユーザー設定にのみ含める必要があります。"cSpell.userWords": [],// 無視するパス/ファイルを指定します。"cSpell.ignorePaths": ["node_modules", // これにより、node_modules ディレクトリにあるものはすべて無視されます"**/ node_modules", // これも同じです"**/node_modules/**", // これも同じですone"node_modules/**", // 現在の作業ディレクトリの決定方法により、現在は機能しません。"vscode-extension", //".git", // .git ディレクトリを無視します"*.dll" , // すべての .dll ファイルを無視します。"**/*.dll" // すべての .dll ファイルを無視します],// flagWords - 常に間違っていると見なされる単語のリスト// This攻撃的な単語や一般的なスペル ミスに役立ちます。// たとえば、"hte" は "the"`"cSpell.flagWords": ["hte"],// ドキュメントのスペル チェックを行うまでの遅延を設定します。デフォルトは 50 です。"cSpell.spellCheckDelayMs": 50,// 診断レポート レベルを設定します// エラー - スペルの問題をエラーとしてレポートします// 警告 - スペルの問題を警告としてレポートします// 情報 - スペルの問題を情報としてレポートします (デフォルト)//ヒント - スペルの問題をヒントとして報告します。問題"cSpell.diagnosticLevel": "情報",
スペル チェッカーには、デフォルトの辞書のセットが含まれています。
WordsEn - Hunspell 米国英語の単語から派生。
WordsEnGb - Hunspell GB 英語の単語から派生しました。
企業- 有名な企業のリスト
ソフトウェア用語- 「コルーチン」、「デバウンス」、「ツリー」などのソフトウェア用語と概念。
その他- 他の辞書に載っていない用語。
typescript - Typescript と JavaScript のキーワード
ノード- nodejs の使用に関連する用語。
php - phpのキーワードとライブラリメソッド
go - goキーワードとライブラリ メソッド
Python - Pythonキーワード
powershell -パワーシェルのキーワード
html - html関連のキーワード
css - css 、 less 、およびscss関連のキーワード
フォント- フォントの長いリスト - CSSを支援します
プログラミング言語に基づいて、さまざまな辞書がロードされます。
デフォルトのルールの一部を次に示します。
"*"
任意のプログラミング言語/ファイル タイプに一致します。
"locale"
、 "cSpell.language"
設定に基づいてフィルタリングするために使用されます。
{"cSpell.言語設定": [ { " languageId ": '*'、 "locale": ' en'、 "dictionaries": ['wordsEn'] }, { " languageId ": '*'、 "locale": 'en-US'、 "dictionaries": ['wordsEn'] }, { " languageId ": '*'、 "locale": 'en-GB'、 "dictionaries": ['wordsEnGb'] }, { "言語Id": '*', "dictionaries": ['companies', 'softwareTerms', 'misc'] }, { "言語Id": "Python", "dictionaries": ["Python"]}, { "言語Id": "go", "dictionaries": ["go"] }, { "言語Id": "javascript", "dictionaries": ["typescript", "node"] }, { "言語Id": "javascriptreact", "dictionaries": ["typescript", "node"] }, { "言語Id": "typescript", "dictionaries": ["typescript", "node"] }, { "言語Id": "typescriptreact", "dictionaries": ["typescript", "node"] }, { " languageId ": "html", "dictionaries": ["html", "fonts", "typescript", "css"] }, { "言語Id": "php", "dictionaries": ["php", "html", "fonts", "css", "typescript"] }, { " languageId ": "css", "dictionaries": ["fonts", "css"] }, { " languageId ": "less", "dictionaries": ["fonts", "css"] }, { "言語Id": "scss", "dictionaries": ["fonts", "css"] },];}
cSpell.customDictionaries
インターフェース設定 {'cSpell.customDictionaries': {[name: string]: CustomDictionary;};}interface CustomDictionary {/** * @title 辞書の名前 * 辞書の参照名。 * * * 例: `My Words` または `custom` * * * それらの名前が事前定義された辞書と一致する場合、その名前は事前定義された辞書をオーバーライドします。 * `typescript` を使用すると、組み込みの TypeScript 辞書が置き換えられます。 */name?: DictionaryId;/** * @title 辞書の説明 * オプション: 人間が読める説明。 */description?: string;/** * @title 辞書テキスト ファイルへのパス * 辞書テキスト ファイルへのパスを定義します。 * * * **注意:** パスが「未定義」の場合、「名前」の辞書が * `dictionaryDefinitions` 内に見つかることが期待されます。 * * * ファイル形式: ファイル内の各行は辞書エントリとみなされます。 * 先頭と末尾のスペースは削除されますが、大文字と小文字は保持されます。 * パスは絶対パス、またはワークスペースに対する相対パスである必要があります。 * * **例:** ユーザーのフォルダーを基準としたもの * * ``` * ~/dictionaries/custom_dictionary.txt * ``` * * **例:** マルチルート ワークスペースの `client` フォルダーを基準としたもの* * ``` * ${workspaceFolder:client}/build/custom_dictionary.txt * ``` * * **例:** シングルルート ワークスペースの現在のワークスペース フォルダを基準とした値 * * **注:** これは、現在開いているファイルの相対ワークスペースに基づいているため、マルチルート ワークスペースでは * 予想通りにならない可能性があります。 * * ``` * ${workspaceFolder}/build/custom_dictionary.txt * ``` * * **例:** シングルルート ワークスペースのワークスペース フォルダ、または * マルチルート ワークスペースの最初のフォルダを基準とした相対パス* * ``` * ./build/custom_dictionary.txt * ``` */path?: FsPath;/** * @title 辞書に単語を追加 * このカスタム辞書が必要かどうかを示します追加された単語を保存するために使用されます。 * @default true */addWords?: boolean;/** * @title 辞書の範囲 * オプションは * - `user` - すべてのプロジェクトとワークスペースに適用される単語 * - `workspace` - ワークスペース全体に適用される単語* - `folder` - ワークスペース フォルダーのみに適用される単語 */scope?: CustomDictionaryScope | CustomDictionaryScope[];}
グローバル辞書を追加するには、ユーザー設定を変更する必要があります。
ユーザー設定で、単語リストの場所をスペル チェッカーに指示する必要があります。
医療用語を追加して、 「棘翅目」などの単語が見つかるようにする例。
VS コードの設定
"cSpell.customDictionaries": { "myWords": {"name": "myWords","path": "~/my-words.txt","scope": "user","addWords": true }}
説明:この例では、 myWords
という個人辞書の場所をスペル チェッカーに指示しました。
name
- これは辞書の名前です。この辞書へのすべての参照は名前によって行われます。
path
- これは辞書ファイルへのパスです。これはユーザー設定にあるため、絶対パスまたは~/
使用してユーザー ディレクトリからの相対パスを使用する必要があります。
scope
- (オプション) これは、辞書をuser
、 workspace
、またはfolder
に「スコープ」するために使用されます。スコープは、辞書の使用目的を伝えるために使用されます。
addWords
- (オプション) デフォルト - true
- は、単語を追加する可能性のあるターゲットとして辞書を表示/非表示にするために使用されます。
cspell.json
を使用したプロジェクト/ワークスペース辞書プロジェクト レベルで辞書を追加するには、 cspell
コマンド ライン ツールで使用できるように、 cspell.json
ファイルで定義する必要があります。このファイルは、プロジェクトのルートまたは .vscode ディレクトリに置くことができます。
医療用語を追加する例。用語はプロジェクトにチェックインされており、それを .md ファイルにのみ使用します。
{"dictionaryDefinitions": [{ "名前": "medicalTerms", "パス": "./dictionaries/medicalterms-en.txt"},{ "名前": "都市", "パス": "./dictionaries/ city.txt"}],"dictionaries": ["cities"]," languageSettings": [{ " languageId ": "markdown", "dictionaries": ["medicalTerms"] },{ " languageId ": "plaintext", "dictionaries": ["medicalTerms"] }]}
説明:この例では、 cityとmedicalTermsという2つの辞書が定義されています。パスは、 cSpell.jsonファイルの場所に対する相対パスです。これにより、辞書をプロジェクトにチェックインできるようになります。
city辞書はdictionariesのリストに追加されているため、すべてのファイル タイプに使用されます。 MedicalTerms辞書は、マークダウンファイルまたはプレーンテキストファイルを編集する場合にのみ使用されます。
辞書の定義
Interface DictionaryDefinition {/** * これは辞書の名前です。 * * 名前の形式: * - 少なくとも 1 つの数字または文字を含める必要があります。 * - スペースは使用できます。 * - 先頭と末尾のスペースは削除されます。 * - 名前では大文字と小文字が区別されます。 * - `*`、`!`、`;`、`,`、`{`、`}`、`[`、`]`、`~` を含めることはできません。 */name: DictionaryId;/** オプションの説明。 */description?: string;/** カスタム辞書テキスト ファイルへのパス。 */path: CustomDictionaryPath;/** * 単語が辞書に追加される範囲を定義します。 * スコープ値: `user`、`workspace`、`folder`。 */scope?: CustomDictionaryScope | CustomDictionaryScope[];/** * `true` の場合、この辞書に単語を追加できることをスペル チェッカーに知らせます。 */addWords: ブール値;}
VS コードの設定
"cSpell.customDictionaries": {