Um corretor ortográfico básico que funciona bem com códigos e documentos.
O objetivo deste corretor ortográfico é ajudar a detectar erros ortográficos comuns e, ao mesmo tempo, manter baixo o número de falsos positivos.
Carregue um arquivo TypeScript, JavaScript, Texto, etc. Palavras que não estão nos arquivos do dicionário terão um sublinhado ondulado.
Para ver a lista de sugestões:
Após posicionar o cursor na palavra, qualquer um dos seguintes itens deverá exibir a lista de sugestões:
Clique na (lâmpada) na margem esquerda.
Comando de ação do Quick Fix
Editor:
Mac: ⌘
+ .
ou Cmd
+ .
Computador: Ctrl
+ .
Abra o VS Code e pressione F1
e digite ext
select install e digite code-spell-checker
pressione enter e reload window para ativar.
Inglês (EUA)
Inglês (GB) - ative alterando "cSpell.language": "en"
para "cSpell.language": "en-GB"
Grego Antigo - Extensão de dicionário de Grego Antigo para VS Code.
Árabe - extensão de dicionário árabe para VS Code.
Inglês Australiano - extensão do dicionário de Inglês Australiano para VS Code.
Alemão Austríaco - extensão do dicionário Alemão Austríaco para Código VS.
Basco - extensão de dicionário basco para VS Code.
Inglês Britânico - extensão do dicionário de Inglês Britânico para VS Code.
Búlgaro - extensão de dicionário búlgaro para VS Code.
Inglês canadense - extensão do dicionário de inglês canadense para VS Code.
Catalão - extensão de dicionário catalão para VS Code.
Croata - extensão de dicionário croata para VS Code.
Tcheco - extensão de dicionário tcheco para VS Code.
Dinamarquês - extensão de dicionário dinamarquês para VS Code.
Holandês - extensão de dicionário holandês / holandês para VS Code.
Esperanto - extensão do dicionário Esperanto para VS Code.
Estoniano - extensão de dicionário estoniano para VS Code.
Finlandês - extensão de dicionário finlandês para VS Code.
Francês - extensão de dicionário francês para VS Code.
French Réforme 90 - Extensão do dicionário French Réforme 90 para VS Code.
Alemão - extensão de dicionário alemão para VS Code.
Grego - extensão de dicionário grego para VS Code.
Hebraico - extensão de dicionário hebraico para VS Code.
Húngaro - extensão de dicionário húngaro para VS Code.
Indonésio - extensão de dicionário indonésio para VS Code.
Italiano - extensão de dicionário italiano para VS Code.
Latim - extensão de dicionário latino para VS Code.
Letão - extensão de dicionário letão para VS Code.
Lituano - extensão de dicionário lituano para VS Code.
Macedônio - extensão de dicionário macedônio para VS Code.
Bokmål norueguês - extensão do dicionário Bokmål norueguês para VS Code.
Persa - extensão de dicionário persa para VS Code.
Polonês - extensão de dicionário polonês para VS Code.
Português - Extensão de dicionário de português para VS Code.
Português Brasileiro - Extensão do dicionário Português Brasileiro para VS Code.
Romeno - extensão de dicionário romeno para VS Code.
Russo - extensão de dicionário russo para VS Code.
Sérvio - extensão de dicionário sérvio para VS Code.
Eslovaco - extensão de dicionário eslovaco para VS Code.
Esloveno - extensão de dicionário esloveno para VS Code.
Espanhol - Complemento espanhol para corretor ortográfico de código
Sueco - extensão de dicionário sueco para VS Code.
Alemão Suíço - extensão de dicionário Alemão Suíço para VS Code.
Turco - extensão de dicionário turco para VS Code.
Ucraniano - extensão de dicionário ucraniano para VS Code.
Vietnamita - extensão de dicionário vietnamita para VS Code.
Termos Médicos - Complemento de Termos Médicos para Corretor Ortográfico de Código
Termos Científicos - Extensão do dicionário de Termos Científicos para VS Code.
Win32 - extensão de dicionário Win32 para VS Code.
AsciiDoc
C, C++
C#
css, menos, scss
Dardo
Elixir
Ir
HTML
Java
JavaScript
JSON/JSONC
Látex
Remarcação
PHP
PowerShell
Pug/Jade
Pitão
Texto reestruturado
Rubi
Ferrugem
escala
Texto
Texto datilografado
YAML
SQL
Para ativar ou desativar a verificação ortográfica para um tipo de arquivo:
Clique no status do corretor ortográfico na barra de status:
Na tela Informações, clique na caixa de seleção.
O conceito é simples, dividir as palavras do camelCase antes de compará-las com uma lista de palavras conhecidas em inglês.
camelCase -> estojo de camelo
HTMLInput -> html input - Observe que o I
está associado ao Input
e não HTML
Snake_case_words -> palavras de caso de cobra
camel2snake -> cobra camelo - (o 2 é ignorado)
Existem alguns casos especiais para ajudar nas práticas ortográficas comuns para palavras em MAIÚSCULAS.
Os finais s
, ing
, ies
, es
, ed
são mantidos com a palavra anterior.
CURLs -> curls -- s
finais
CURLedRequest -> solicitação enrolada - ed
final
Este corretor ortográfico não diferencia maiúsculas de minúsculas. Ele não detectará erros como inglês, que deveria ser inglês.
O corretor ortográfico usa um dicionário de palavras local. Não envia nada para fora da sua máquina.
As palavras do dicionário podem conter erros.
Faltam palavras.
Somente palavras com mais de 3 caracteres são verificadas. "jsj" não está marcado, enquanto "jsja" está marcado e será marcado como incorreto porque não existe em nenhum dos dicionários.
Todos os símbolos e pontuação são ignorados.
É possível adicionar configurações de verificação ortográfica ao seu código-fonte. Isso ajuda com problemas específicos do arquivo que podem não ser aplicáveis a todo o projeto.
Todas as configurações são prefixadas com cSpell:
ou spell-checker:
.
disable
- desativa o corretor ortográfico para uma seção do código.
enable
– reativa o corretor ortográfico depois de desligá-lo.
ignore
– especifique uma lista de palavras a serem ignoradas.
words
- especifique uma lista de palavras que serão consideradas corretas e que aparecerão na lista de sugestões.
locale
-- definir locale (exemplo: cSpell:locale fr,en
para usar os idiomas francês e inglês)
ignoreRegExp
– Qualquer texto que corresponda à expressão regular NÃO será verificado quanto à ortografia.
includeRegExp
-- Somente o texto que corresponda à coleção de includeRegExp será verificado.
enableCompoundWords
/ disableCompoundWords
– Permitir/proibir palavras como: "stringlength".
É possível desabilitar/habilitar o corretor ortográfico adicionando comentários ao seu código.
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', 'zzooommmmmmmm'];/* cSpell:enable */// Aninhamento desabilitado / habilitado não é suportado // corretor ortográfico:disable // Agora está desabilitado .var liep = 1;/* cspell:disable */// Ainda está desabilitado // cSpell:enable // Agora está habilitadoconst str = 'goededag'; // <- será sinalizado como um erro.// corretor ortográfico:enable <- não faz nada// cSPELL:DISABLE <-- também funciona.// se não houver uma ativação, a ortografia será desativada até o final do arquivo.const str = 'goedemorgen'; // <- NÃO será sinalizado como um erro.
<!--- cSpell:disable --->Este texto não está verificado.<!--- cSpell:enable --->Este texto está verificado.
Ignorar permite especificar uma lista de palavras que você deseja ignorar no documento.
// cSpell:ignore zaallano, wooorrdd// cSpell:ignore zzooommmmmmmmconst wackyWord = ['zaallano', 'wooorrdd', 'zzooommmmmmmm'];
Nota: as palavras definidas com ignore
serão ignoradas em todo o arquivo.
A lista de palavras permite adicionar palavras que serão consideradas corretas e serão utilizadas como sugestões.
// cSpell:palavras woorxs sweeetbeatconst companyName = 'woorxs sweeetbeat';
Nota: palavras definidas com words
serão usadas para todo o arquivo.
Em algumas linguagens de programação é comum colar palavras.
// cSpell:enableCompoundWordschar * mensagem de erro; // Está ok com cSpell:enableCompoundWordsint errornumber; // Também está ok.
Nota: A verificação de palavras compostas não pode ser ativada/desativada no mesmo arquivo. A última configuração no arquivo determina o valor do arquivo inteiro.
Por padrão, a ortografia de todo o documento é verificada. cSpell:disable
/ cSpell:enable
acima permite bloquear seções do documento. ignoreRegExp
e includeRegExp
permitem ignorar ou incluir padrões de texto. Por padrão, os sinalizadores gim
são adicionados se nenhum sinalizador for fornecido.
O corretor ortográfico funciona da seguinte maneira:
Encontre todas as correspondências de texto includeRegExp
Remova qualquer texto correspondente excludeRegExp
Verifique o restante do texto.
// cSpell:ignoreRegExp 0x[0-9a-f]+ -- irá ignorar números hexadecimais de estilo c // cSpell:ignoreRegExp /0x[0-9A-F]+/g -- irá ignorar números hexadecimais de estilo c maiúsculos. // cSpell:ignoreRegExp g{5} h{5} -- corresponderá apenas a ggggg, mas não a hhhhh ou 'ggggg hhhhh'// cSpell:ignoreRegExp g{5}|h{5} -- corresponderá a ggggg e hhhhh// cSpell:ignoreRegExp /g{5} h{5}/ -- corresponderá a 'ggggg hhhhh'/* cSpell:ignoreRegExp /n {5}/ -- NÃO funcionará como esperado por causa do comentário final -> *//* cSpell:ignoreRegExp /q{5}/ -- corresponderá perfeitamente a qqqqq, mas NÃO a QQQQQ*/// cSpell:ignoreRegExp /[^s]{40,}/ - ignorará strings longas sem espaços.// cSpell:ignoreRegExp Email - ignorará padrões semelhantes a e-mail - - consulte Expressões RegExp predefinidasvar encodedImage = 'HR+cPzr7XGAOJNurPL0G8I2kU0UhKcqFssoKvFTR7z0T3VJfK37vS025uKroHfJ9nA6WWbHZ/ASn...';
Nota: ignoreRegExp e includeRegExp são aplicados ao arquivo inteiro. Eles não começam e param.
Em geral, você não precisará usar includeRegExp
. Mas se você estiver misturando idiomas, isso pode ser útil.
# cSpell:includeRegExp #.*# cSpell:includeRegExp /(["]{3}|[']{3})[^1]*?1/g# somente comentários e strings de bloco serão verificados quanto à ortografia.def sum_it( self, seq):"""Isso está verificado quanto à ortografia"""variabele = 0alinea = 'isso não está verificado'for num in seq:# O estado local de 'valor' será retido entre iterações variabele += numyield variabele
Urls
1 – URLs correspondentes
HexValues
- Corresponde ao formato hexadecimal comum como #aaa
, 0xfeef
, u0134
EscapeCharacters
1 – corresponde a caracteres especiais: n
, t
etc.
Base64
1 – corresponde a blocos de texto base64 com mais de 40 caracteres.
Email
– corresponde à maioria dos endereços de e-mail.
Everything
1 – Por padrão, combinamos um documento inteiro e removemos as exclusões.
string
- Corresponde a formatos de string comuns como '...', "..." e `...`
CStyleComment
-- Estes são comentários em estilo C /* */ e //
PhpHereDoc
- Corresponde às strings PHPHereDoc.
1. Esses padrões fazem parte da lista padrão de inclusão/exclusão de cada arquivo.
A configuração do corretor ortográfico pode ser controlada por meio das preferências do VS Code ou do arquivo de configuração cspell.json
.
Ordem de precedência:
Pasta da área de trabalho cspell.json
Pasta do espaço de trabalho .vscode/cspell.json
Seção cSpell
preferências do código VS.
Você tem a opção de adicionar suas próprias palavras ao dicionário do espaço de trabalho. O mais fácil é colocar o cursor sobre a palavra que deseja adicionar, quando a lâmpada aparecer, pressione Ctrl+.
(janelas) / Cmd+.
(Mac). Você receberá uma lista de sugestões e a opção de adicionar a palavra.
Você também pode digitar uma palavra que deseja adicionar ao dicionário: F1
add word
- selecione Add Word to Dictionary
e digite a palavra que deseja adicionar.
As palavras adicionadas ao dicionário são colocadas no arquivo cspell.json
na pasta do espaço de trabalho . Observe que as configurações em cspell.json
substituirão as configurações equivalentes de cSpell em settings.json
do VS Code.
// Configurações do cSpell{// Versão do arquivo de configuração. Sempre 0.2"versão": "0.2",// idioma - idioma de ortografia ativo atual"idioma": "en",// palavras - lista de palavras a serem sempre consideradas corretas"palavras": ["mkdirp","tsmerge" ,"githubusercontent","streetsidesoftware","vsmarketplacebadge","visualstudio"],// flagWords - lista de palavras a serem sempre consideradas incorretas// Isso é útil para palavras ofensivas e erros ortográficos comuns.// Por exemplo, "hte" deve ser "the""flagWords": ["hte"]}
//-------- Configuração do corretor ortográfico de código --------// A localidade do idioma a ser usada durante a verificação ortográfica. "en", "en-US" e "en-GB" são atualmente suportados por padrão."cSpell.language": "en",// Controla o número máximo de erros ortográficos por documento."cSpell.maxNumberOfProblems": 100 ,// Controla o número de sugestões mostradas."cSpell.numSuggestions": 8,// O comprimento mínimo de uma palavra antes de compará-la com um dicionário."cSpell.minWordLength": 4,// Especifique os tipos de arquivo para verificação ortográfica."cSpell.enabledLanguageIds": ["csharp","go","javascript","javascriptreact","markdown","php", "plaintext","typescript","typescriptreact","yaml","sql"],// Habilitar/Desabilitar o corretor ortográfico."cSpell.enabled": true,// Palavras a serem adicionadas ao dicionário para um espaço de trabalho."cSpell.words": [],// Ativar/Desativar palavras compostas como 'errormessage'"cSpell.allowCompoundWords": false, // Palavras a serem ignoradas e não sugeridas ."cSpell.ignoreWords": ["behaviour"],// Palavras do usuário para adicionar ao dicionário. Deve estar apenas nas configurações do usuário."cSpell.userWords": [],// Especifique caminhos/arquivos a serem ignorados."cSpell.ignorePaths": ["node_modules", // isso irá ignorar qualquer coisa no diretório node_modules"**/ node_modules", // o mesmo para este"**/node_modules/**", // o mesmo para este"node_modules/**", // Atualmente não funciona devido à forma como o diretório de trabalho atual é determinado."vscode-extension", //".git", // Ignore o diretório .git"*.dll", // Ignore todos os arquivos .dll." **/*.dll" // Ignorar todos os arquivos .dll], // flagWords - lista de palavras a serem sempre consideradas incorretas // Isso é útil para palavras ofensivas e erros ortográficos comuns. // Por exemplo, "hte" deve ser "the"`"cSpell.flagWords": ["hte"],// Defina o atraso antes da verificação ortográfica do documento. O padrão é 50."cSpell.spellCheckDelayMs": 50,// Definir nível de relatório de diagnóstico // Erro - Relatar problemas ortográficos como erros // Aviso - Relatar problemas ortográficos como avisos // Informações - Relatar problemas ortográficos como informações (padrão) // Dica - Relatar problemas de ortografia como dicas, não aparecerá em Problemas"cSpell.diagnosticLevel": "Informações",
O corretor ortográfico inclui um conjunto de dicionários padrão.
palavrasEn - Derivado de palavras do inglês americano Hunspell.
palavrasEnGb - Derivado de palavras em inglês Hunspell GB.
empresas - Lista de empresas conhecidas
softwareTerms - Termos e conceitos de software como "coroutine", "debounce", "tree", etc.
misc - Termos que não pertencem a outros dicionários.
typescript - palavras-chave para Typescript e Javascript
node - termos relacionados ao uso de nodejs.
php - palavras-chave php e métodos de biblioteca
go - go palavras-chave e métodos de biblioteca
python - palavras-chave python
powershell - palavras-chave do powershell
html - palavras-chave relacionadas a html
css - palavras -chave relacionadas a css, less e scss
fontes – longa lista de fontes – para ajudar com css
Com base na linguagem de programação, diferentes dicionários serão carregados.
Aqui estão algumas das regras padrão:
"*"
corresponde a qualquer linguagem de programação/tipo de arquivo.
"locale"
é usado para filtrar com base na configuração "cSpell.language"
.
{"cSpell.idiomaSettings": [ { "idiomaId": '*', "locale": 'en', "dicionários": ['palavrasEn'] }, { "idiomaId": '*', "locale": 'en-US', "dicionários": ['palavrasEn'] }, { "idiomaId": '*', "locale": 'en-GB', "dicionários": ['palavrasEnGb'] }, { "idiomaId": '*', "dicionários": ['empresas', 'termos de software', 'misc'] }, { "idiomaId": "python", "dicionários": ["python"]}, { "idiomaId": "go", "dicionários": ["go"] }, { "idiomaId": "javascript", "dicionários": ["typescript", "node"] }, { "idiomaId": "javascriptreact", "dicionários": ["typescript", "node"] }, { "idiomaId": "typescript", "dicionários": ["typescript", "node"] }, { "idiomaId": "typescriptreact", "dicionários": ["typescript", "node"] }, { "idiomaId": "html", "dicionários": ["html", "fontes", "typescript", "css"] }, { "idiomaId": "php", "dicionários": ["php", "html", "fontes", "css", "typescript"] }, { "idiomaId": "css", "dicionários": ["fontes", "css"] }, { "idiomaId": "menos", "dicionários": ["fontes", "css"] }, { "idiomaId": "scss", "dicionários": ["fontes", "css"] },];}
cSpell.customDictionaries
interface Configurações {'cSpell.customDictionaries': {[name: string]: CustomDictionary;};}interface CustomDictionary {/** * @title Nome do dicionário * O nome de referência do dicionário. * * * Exemplo: `My Words` ou `custom` * * * Se o nome corresponder a um dicionário predefinido, ele substituirá o dicionário predefinido. * Se você usar: `typescript` ele substituirá o dicionário TypeScript integrado. */name?: DictionaryId;/** * @title Descrição do dicionário * Opcional: uma descrição legível por humanos. */description?: string;/** * @title Caminho para o arquivo de texto do dicionário * Defina o caminho para o arquivo de texto do dicionário. * * * **Nota:** se o caminho for `indefinido`, espera-se que o dicionário `name`d seja encontrado * em `dictionaryDefinitions`. * * * Formato do arquivo: Cada linha do arquivo é considerada uma entrada de dicionário. * As maiúsculas e minúsculas são preservadas enquanto os espaços à esquerda e à direita são removidos. * O caminho deve ser absoluto ou relativo ao espaço de trabalho. * * **Exemplo:** relativo à pasta do usuário * * ``` * ~/dictionaries/custom_dictionary.txt * ``` * * **Exemplo:** relativo à pasta `client` em um espaço de trabalho multi-root * * ``` * ${workspaceFolder:client}/build/custom_dictionary.txt * ``` * * **Exemplo:** relativo à pasta do espaço de trabalho atual em um espaço de trabalho de raiz única * * **Observação:** isso pode não ser o esperado em um espaço de trabalho multi-raiz, pois é baseado no espaço de trabalho relativo * do arquivo atualmente aberto. * * ``` * ${workspaceFolder}/build/custom_dictionary.txt * ``` * * **Exemplo:** relativo à pasta do espaço de trabalho em um espaço de trabalho de raiz única ou à primeira pasta em * um espaço de trabalho multi-raiz * * ``` * ./build/custom_dictionary.txt * ``` */path?: FsPath;/** * @title Adicionar palavras ao dicionário * Indique se este dicionário personalizado deve ser usado para armazenar palavras adicionadas. * @default true */addWords?: boolean;/** * @title Escopo do dicionário * As opções são * - `user` - palavras que se aplicam a todos os projetos e espaços de trabalho * - `workspace` - palavras que se aplicam a todo o espaço de trabalho * - `folder` - palavras que se aplicam apenas a uma pasta de espaço de trabalho */scope?: CustomDictionaryScope | CustomDictionaryScope[];}
Para adicionar um dicionário global, você precisará alterar as configurações do usuário.
Nas configurações do usuário, você precisará informar ao corretor ortográfico onde encontrar sua lista de palavras.
Exemplo de adição de termos médicos, para que palavras como acantopterígio possam ser encontradas.
Configurações de código VS
"cSpell.customDictionaries": { "myWords": {"name": "myWords","path": "~/my-words.txt","scope": "user","addWords": true }}
Explicado: Neste exemplo, informamos ao corretor ortográfico onde encontrar nosso dicionário pessoal chamado myWords
.
name
- este é o nome do dicionário, todas as referências a este dicionário são feitas pelo nome.
path
- este é o caminho para o arquivo do dicionário. Como está nas configurações do usuário, temos que usar caminhos absolutos ou relativos ao diretório do usuário usando ~/
.
scope
- (opcional) é usado para "escobrir" um dicionário para user
, workspace
ou folder
. O escopo é usado para ajudar a comunicar o uso pretendido do dicionário.
addWords
- (Opcional) padrão - true
- é usado para mostrar/ocultar o dicionário como um possível alvo para adição de palavras.
cspell.json
Para adicionar um dicionário no nível do projeto deve ser definido em um arquivo cspell.json
para que possa ser usado com a ferramenta de linha de comando cspell
. Este arquivo pode estar na raiz do projeto ou no diretório .vscode.
Exemplo de adição de termos médicos, onde os termos são verificados no projeto e queremos usá-los apenas para arquivos .md.
{"dictionaryDefinitions": [{ "name": "medicalTerms", "path": "./dictionaries/medicalterms-en.txt"},{ "name": "cities", "path": "./dictionaries/ cidades.txt"}],"dictionaries": ["cities"],"linguagemSettings": [{ "idiomaId": "markdown", "dicionários": ["medicalTerms"] },{ "linguagemId": "plaintext", "dictionaries": ["medicalTerms"] }]}
Explicado: Neste exemplo, dois dicionários foram definidos: cidades e medicalTerms . Os caminhos são relativos ao local do arquivo cSpell.json . Isso permite que dicionários sejam verificados no projeto.
O dicionário de cidades é usado para todos os tipos de arquivo, pois foi adicionado à lista de dicionários . O dicionário medicalTerms é usado apenas ao editar arquivos markdown ou de texto simples .
DicionárioDefinição
interface DictionaryDefinition {/** * Este é o nome de um dicionário. * * Formato do Nome: * - Deve conter pelo menos 1 número ou letra. * - Vagas são permitidas. * - Os espaços à esquerda e à direita serão removidos. * - Os nomes diferenciam maiúsculas de minúsculas. * - Não deve conter `*`, `!`, `;`, `,`, `{`, `}`, `[`, `]`, `~`. */nome: DictionaryId;/** Descrição opcional. */description?: string;/** Caminho para o arquivo de texto do dicionário personalizado. */path: CustomDictionaryPath;/** * Define o escopo para quando as palavras serão adicionadas ao dicionário. * Valores de escopo: `user`, `workspace`, `folder`. */escopo?: CustomDictionaryScope | CustomDictionaryScope[];/** * Quando `true`, informa ao corretor ortográfico que palavras podem ser adicionadas a este dicionário. */addWords: booleano;}
Configurações de código VS
"cSpell.customDictionaries": {