Meer informatie over de spellingcontrole

Veel van de functies in Visual Studio zijn ontworpen om u te helpen de gewenste code te schrijven, van ervoor te zorgen dat uw code wordt gecompileerd om u te helpen bij het ontwerpen van code. Nu, met de functie Spellingcontrole , geïntroduceerd in versie 17.5, kan Visual Studio zelfs controleren of uw spelling juist is.

Schermopname van de spellingcontrole die een mogelijke fout identificeert.

Schermopname van een voorbeeld van de spellingcontrole in actie.

De spellingcontrole is beschikbaar voor elk C#-, C++- of Markdown-bestand. Wanneer spellingcontrole is ingeschakeld, markeert Visual Studio alle woorden die worden gedetecteerd als verkeerd gespelde woorden. Visual Studio stelt ook alternatieve spelling voor en helpt ze te corrigeren. De functie voert zelfs een contextuele hernoeming uit wanneer die spelfouten betrekking hebben op identificatoren, zodat uw code nog steeds succesvol wordt gecompileerd.

U kunt de spellingcontrole in- of uitschakelen met behulp van de knop Spellingcontrole in-/uitschakelen op de hoofdwerkbalk of door de opdrachtGeavanceerde>spellingcontrole> te selecteren in de menubalk.

Hoe gebruikt u het?

Wanneer de caret zich op een spelfout bevindt, bieden de Snelle Acties oplossingen voor de spelfouten. U kunt de snelle acties weergeven met behulp van de sneltoetsen Ctrl+. of Alt+Enter. Wanneer het contextmenu wordt weergegeven, toont Visual Studio drie opties om een spelfout te corrigeren.

Als een van de woordenlijsten spellingsuggesties biedt, worden deze in Visual Studio weergegeven. Als meerdere woordenlijsten suggesties bieden, groepeert Visual Studio de suggesties per woordenlijst. Voor tekenreeksen en opmerkingen leidt het kiezen van een van deze suggesties tot een enkele vervanging ter plekke. Voor id's in een C++ of een C#-document resulteert het accepteren van een suggestie in een herfactor/naam wijzigen waarmee alle exemplaren van de id worden bijgewerkt om ervoor te zorgen dat de code wordt gecompileerd.

Schermopname van de spellingcontrole die een oplossing voorstelt.

Schermopname van de spellingcontrole met meerdere woordenlijsten vermeld.

U kunt er ook voor kiezen om de spelfout te negeren. Door het probleem te negeren, maakt Visual Studio een exclusion.dic-bestand in uw AppData-map op uw lokale computer. Nadat u ervoor hebt gekozen om een woord te negeren, negeert de spellingcontrole dit in alle exemplaren van Visual Studio.

Hoe werkt het?

Omdat C#, C++en Markdown allemaal Engels gebruiken als de taal voor hun trefwoorden, gebruikt Visual Studio meestal de woordenlijst 'Engels (Verenigde Staten)' of 'en-us' voor spellingcontrole. Visual Studio controleert het exemplaar van Windows voor de weergavetaal die wordt gebruikt en als het niet 'en-us' is, wordt die woordenlijst ook gebruikt.

Opmerking

C# en C++ hebben ook extra woordenlijsten voor trefwoorden in die talen, waardoor woorden als 'naamruimte' of 'alloc' niet als verkeerd gespelde woorden worden gemarkeerd.

Feedback van vroege gebruikers van deze functie heeft ons geïnformeerd dat ontwikkelaars alleen willen weten over fouten in het document waarmee ze momenteel werken. Als reactie op deze feedback scant de spellingcontrole alleen de documenten die actief zijn in de editor.

In de volgende tabel ziet u enkele heuristieken die door de spellingcontrole worden bekeken wanneer een codedocument wordt gescand:

Wat staat er in de code? Wat Visual Studio controleert Why?
Hallo Hallo, hallo Controleer altijd op zowel de juiste zelfstandige naamwoorden als algemene zelfstandige naamwoorden
HelloWorld Hallo, hallo, wereld, wereld Medial hoofdletters worden gebruikt om woordgrenzen te markeren
Hello.World Hallo, hallo, wereld, wereld Interpunctie wordt gebruikt als woordgrens
_Hello123 Hallo, hallo Voorloop- of volgnummers of leestekens worden verwijderd
Hello2World Hallo, hallo, wereld, wereld Mediaannummers, zoals interpunctietekens, worden gebruikt als scheiding tussen woorden.
btnWorld Wereld, wereld Fragmenten van drie tekens of minder worden genegeerd
helloworld Hellowereld, hellowereld Geen indicator om woordgrenzen te identificeren

Als Visual Studio een overeenkomst identificeert voor het token in een van de woordenlijsten die worden gebruikt, wordt het token als acceptabel beschouwd en wordt de scan uitgevoerd. Anders wordt het token als foutief gespeld gezien en markeert Visual Studio het als een spelfout.

Schermopname van een voorbeeld van spelfouten in de lijst met fouten.

Schermopname van een voorbeeld van spelfouten in de lijst met fouten.

De spellingcontrole aanpassen

U kunt de spellingcontrole aanpassen zodat deze is geoptimaliseerd voor een samenwerkingsomgeving. Daarom gebruikt Visual Studio een EditorConfig-bestand voor configuratie, zodat u het gedrag van de spellingcontrole in een opslagplaats kunt beheren.

Door een EditorConfig-bestand te configureren, kunt u de coderingsstandaarden instellen die u verwacht dat iedereen volgt, zodat u een coderingsconsistentie kunt behouden die mogelijk moeilijk is via andere methoden.

Belangrijk

Opties voor spelfouten zijn bestandspecifiek. U moet opgeven op welke spellingopties voor bestanden worden toegepast. In het volgende voorbeeld worden de spellingopties toegepast op alle C#-bestanden in de oplossing:

[*.cs]

Hier volgen enkele voorbeelden en gebruiksscenario's van de schakelaars die u kunt configureren in een EditorConfig-bestand.

  • Geef de talen weer die Visual Studio moet gebruiken. In dit voorbeeld gebruikt Visual Studio alleen de woordenlijsten 'en-us' en 'fr-fr' bij het controleren op spellingproblemen.

    spelling_languages = _language_[,_language_]
    (Example: = en-us,fr-fr)

    Opmerking

    Zorg ervoor dat u het taalpakket installeert voor elke taal die u gebruikt om te voorkomen dat Visual Studio woorden onjuist markeert als spelfouten.

  • Beheer wat Visual Studio moet controleren. In dit voorbeeld controleert Visual Studio id's en opmerkingen op verkeerd gespelde woorden, maar controleert ze niet binnen tekenreeksen.

    spelling_checkable_types = strings,identifiers,comments
    (Example: = identifiers,comments)

  • Bepaal de ernst die Visual Studio toewijst aan spelfouten in de foutenlijst. In dit voorbeeld worden spelfouten weergegeven als fouten.

    spelling_error_severity = error OR warning OR information OR hint
    (Example: = error)

  • Maak uw eigen uitsluitingswoordenlijst om woorden op te geven die u beschouwt als correct gespeld. In dit voorbeeld controleert Visual Studio de eerste keer dat de spellingcontrole wordt uitgevoerd op een bestand in de oplossing, op een exclusion.dic-bestand. Visual Studio controleert dezelfde map van het .sln-bestand voor een C#-project of in de hoofdmap voor een C++-map. Als er geen exclusion.dic-bestand bestaat, maakt Visual Studio er een. Wanneer de gebruiker vervolgens een woord negeert, voegt Visual Studio het toe aan dit exclusion.dic-bestand. Visual Studio beschouwt elk woord dat in dit exclusion.dic-bestand wordt weergegeven als een juist gespeld woord.

    spelling_exclusion_path = absolute OR relative path to exclusion dictionary
    (Example: = .\exclusion.dic)

    Opmerking

    Visual Studio gebruikt de uitsluitingswoordenlijst die is opgegeven door de spelling_exclusion_path schakeloptie in uw .editorconfig-bestand of een exclusion.dic-bestand in uw %localappdata%\Microsoft\VisualStudio\<Version> map als een schakeloptie niet kan worden gevonden.

  • Bepalen of de standaardtaalspecifieke uitsluitingswoordenlijst wordt gebruikt. Deze vlag is standaard ingesteld op true. Woorden die worden toegevoegd aan de taalspecifieke uitsluitingswoordenlijst, worden als correct gespeld beschouwd. Ingesteld op onwaar om de uitsluitingswoordenlijsten te negeren die specifiek zijn voor C++ of C#.

    spelling_use_default_exclusion_dictionary = true OR false
    (Example: = spelling_use_default_exclusion_dictionary = false)

Hier volgt een volledig voorbeeld:

[*.{cs,vb}]                                         //specify which files the spelling options apply to
spelling_languages = en-us,fr-fr                    //specifies the en-us and fr-fr dictionaries for use in spell checking
spelling_checkable_types = identifiers,comments     //specifies that identifiers and comments are the only checked elements
spelling_error_severity = error                     //sets severity assigned to spelling errors to error in the error list
spelling_exclusion_path = exclusion.dic             //defines a custom exclusion dictionary location and file
spelling_use_default_exclusion_dictionary = false   //ignores the language-specific default exclusion dictionary

Speciale gevalafhandeling

Visual Studio heeft een aantal unieke gedragingen bij het controleren van code op spelfouten die verschillen van die van een traditionele spellingcontrole die is ontworpen voor geschreven tekst. Enkele van deze gedragingen zijn:

  • In een tekenreeks die interpunctie bevat, bijvoorbeeld 'misc', stelt Visual Studio geen correctie voor, omdat interpunctie in een id kan resulteren in code die niet wordt gecompileerd.
  • Backslashes in een tekenreeks zorgen ervoor dat het volgende teken niet wordt gecontroleerd op spelling en beschouwen de backslash en het volgende teken samen als een woordgrens. In de tekenreeks hello\nworlddetecteert Visual Studio bijvoorbeeld eerst de backslash. Visual Studio behandelt het \n als een woordscheidingsteken, dat 'hallo' en 'wereld' laat, die elk afzonderlijk worden gecontroleerd.
  • Tekenreeksen die URL's bevatten, zoals https://... of mailto:.., worden niet over de hele tekenreeks op spelling gecontroleerd.