Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
C# IntelliSense is een taalspecifieke hulp bij het voltooien van code. Deze is beschikbaar wanneer u C#-code schrijft in de code-editor en fouten opssport in het opdrachtvenster Voor directe modus .
Voltooiingslijsten
De IntelliSense-voltooiingslijsten in C# bevatten tokens van lijstleden, Complete Word en meer. Het biedt snelle toegang tot:
Leden van een type of naamruimte
Namen van variabelen, opdrachten en functies
Codefragmenten
Taaltrefwoorden
Extensiemethoden
De voltooiingslijsten in C# filteren irrelevante tokens en selectietokens vooraf op basis van context. Zie Gefilterde voltooiingslijsten voor meer informatie.
Codefragmenten in voltooiingslijsten
In C# bevat de voltooiingslijst codefragmenten om u te helpen vooraf gedefinieerde codeteksten in uw programma in te voegen. Codefragmenten worden weergegeven in de voltooiingslijst als snelkoppelingstekst van het fragment. Zie C#-codefragmenten voor meer informatie over codefragmenten die standaard beschikbaar zijn in C# .
Taaltrefwoorden in voltooiingslijsten
De voltooiingslijst bevat C#-taaltrefwoorden om u te helpen deze in uw programma in te voegen. Zie C#-trefwoorden voor meer informatie over C#-taaltrefwoorden.
Uitbreidingsmethoden in voltooiingslijsten
In C# bevat de voltooiingslijst uitbreidingsmethoden die binnen het bereik vallen.
Extensiemethoden gebruiken een ander pictogram dan exemplaarmethoden. Wanneer een instantiemethode en extensiemethode met dezelfde naam beide binnen het bereik vallen, wordt in de voltooiingslijst het pictogram van de extensiemethode weergegeven.
Opmerking
Voor String objecten worden in de voltooiingslijst niet alle uitbreidingsmethoden weergegeven.
Gefilterde voltooiingslijsten
IntelliSense verwijdert overbodige leden uit de voltooiingslijst met behulp van filters. C# filtert de voltooiingslijsten die worden weergegeven voor deze items:
Interfaces en basisklassen: IntelliSense verwijdert automatisch overbodige items uit de interface- en basisklassevoltooiingslijsten. Deze verwijdering omvat klassendeclaratiebasissen en interfacelijsten en lijsten met beperkingen. Opsommingen worden bijvoorbeeld niet weergegeven in de voltooiingslijst voor basisklassen, omdat opsommingen niet kunnen worden gebruikt voor basisklassen. De voltooiingslijst met basisklassen bevat alleen interfaces en naamruimten. Als u een item in de lijst selecteert en vervolgens een kommasleutel typt, verwijdert IntelliSense de basisklassen uit de voltooiingslijst. Dit doet dit omdat C# geen ondersteuning biedt voor meerdere overnames. Hetzelfde gedrag treedt ook op voor beperkingsclausules.
Kenmerken: Wanneer u een kenmerk toepast op een type, wordt de voltooiingslijst gefilterd zodat de lijst alleen de typen bevat die afstammen van de naamruimten die deze typen bevatten. Bijvoorbeeld: Attribute.
Catch-componenten: alleen geldige try-catch-trefwoorden worden weergegeven in de voltooiingslijst.
Object initializers: Alleen leden die kunnen worden geïnitialiseerd, worden weergegeven in de voltooiingslijst.
nieuw trefwoord: Wanneer u typt
newen vervolgens op de spatietoets drukt, wordt er een voltooiingslijst weergegeven. IntelliSense selecteert automatisch een item in de lijst op basis van de context in uw code. IntelliSense selecteert bijvoorbeeld automatisch items in de voltooiingslijst voor declaraties en retourinstructies in methoden.enum trefwoord: Wanneer u op de spatietoets drukt na een gelijkteken voor een enum-toewijzing, wordt er een voltooiingslijst weergegeven. IntelliSense selecteert automatisch een item in de lijst op basis van de context in uw code. IntelliSense selecteert bijvoorbeeld automatisch items in de voltooiingslijst nadat u het
returntrefwoord hebt getypt en wanneer u een declaratie maakt.net als operators: IntelliSense geeft automatisch een gefilterde voltooiingslijst weer wanneer u op de spatietoets drukt nadat u het
asofistrefwoord hebt getypt.Gebeurtenissen: Wanneer u het trefwoord
eventtypt, bevat de voltooiingslijst alleen gedelegeerdentypen.Hulp bij parameters: IntelliSense sorteert automatisch op de eerste overbelasting van de methode die overeenkomt met de parameters die u invoert. Als er meerdere overbelastingen van methoden beschikbaar zijn, kunt u de pijl-omhoog en pijl-omlaag gebruiken om naar de volgende mogelijke overbelasting in de lijst te gaan.
Laatst gebruikte leden
IntelliSense onthoudt de leden die u onlangs hebt geselecteerd in het vak Leden van de pop-uplijst voor automatische voltooiing van de objectnaam. De volgende keer dat u lidlijst gebruikt, worden de laatst gebruikte leden bovenaan weergegeven. IntelliSense wist de geschiedenis van de meest recent gebruikte leden tussen elke Visual Studio-sessie.
buiten werking stellen
Wanneer u onderdrukking typt en vervolgens op de spatietoets drukt, worden alle geldige basisklasseleden weergegeven die u in een pop-uplijst kunt overschrijven. Typ het retourtype van de methode nadat override IntelliSense is gevraagd om alleen methoden weer te geven die hetzelfde type retourneren. Als IntelliSense geen overeenkomsten kan vinden, worden alle basisklasseleden weergegeven.
Ai-verbeterde IntelliSense
Visual Studio IntelliCode biedt intelliSense-voltooiingslijsten met kunstmatige intelligentie. IntelliCode voorspelt de meest waarschijnlijk juiste API voor gebruik in plaats van alleen een alfabetische lijst met leden te presenteren. De huidige codecontext en -patronen worden gebruikt om de dynamische lijst te bieden.
Automatisch code genereren
Toevoegen met
De bewerking Toevoegen met behulp van IntelliSense voegt automatisch vereiste using instructies toe aan uw codebestand. Met deze functie kunt u uw focus behouden op de code die u schrijft in plaats van dat u de focus naar een ander deel van de code moet verplaatsen.
Als u de bewerking Toevoegen wilt initiëren, plaatst u de cursor op een typereferentie die niet kan worden omgezet. Wanneer u bijvoorbeeld een consoletoepassing maakt en vervolgens toevoegt XmlReader aan de hoofdtekst van de Main methode, wordt er een rode golvende lijn weergegeven op die coderegel omdat de typereferentie niet kan worden omgezet. Vervolgens kunt u de bewerking Toevoegen aanroepen via het menu Snelle acties . Het menu-item met de naamruimte< is alleen zichtbaar wanneer de cursor op de onopgeloste verwijzing wordt weergegeven.>
Als u in dit voorbeeld automatisch de using instructie aan uw code wilt toevoegen, selecteert u het pictogram van de foutlamp en kiest u vervolgens System.Xml;.
Ontbrekend toevoegen met behulp van instructies voor plakken
IntelliSense kan automatisch ontbrekende using instructies aan uw code toevoegen wanneer u een type in uw codebestand plakt. Met deze functie bespaart u tijd door de taak te automatiseren van ontbrekende gebruiksrichtlijnen bij het plakken van een type in een bestand.
Ga als volgt te werk om deze functie in te schakelen:
- Selecteer Extra>Opties.
- Selecteer C># (of Visual Basic) >Advanced in het linkerdeelvenster.
- Selecteer onder Instructiesgebruiken de optie Ontbrekende toevoegen met behulp van instructies bij plakken.
Verwijderen en sorteren met behulp van
De optie Usings verwijderen en sorteren sorteert en verwijdert en using declaraties extern zonder het gedrag van de broncode te wijzigen. Na verloop van tijd kunnen bronbestanden te groot en moeilijk te lezen zijn vanwege onnodige en ongeordende using instructies. Met de optie Usings verwijderen en sorteren wordt de broncode gecomprimeerd door ongebruikte using instructies te verwijderen en de leesbaarheid te verbeteren door ze te sorteren.
Als u deze optie wilt gebruiken, selecteert uIntelliSense>Sort Usings> in de menubalk of klikt u met de rechtermuisknop in de code-editor en selecteert u Verwijderen en Sorteren met behulp van gegevens.
Interface implementeren
IntelliSense biedt een optie waarmee u een interface kunt implementeren terwijl u in de code-editor werkt. Normaal gesproken moet u, om een interface goed te implementeren, een methodedeclaratie maken voor elk lid van de interface in uw klasse. Nadat u de naam van een interface in een klassedeclaratie hebt getypt, geeft IntelliSense een gloeilamp snelle acties weer. De gloeilamp biedt u de mogelijkheid om de interface automatisch te implementeren met behulp van expliciete of impliciete naamgeving. Onder expliciete naamgeving dragen de methodedeclaraties de naam van de interface. Onder impliciete naamgeving geven de methodedeclaraties niet de interface aan waartoe ze behoren. Een expliciet benoemde interfacemethode kan alleen worden geopend via een interface-exemplaar en niet via een klasse-exemplaar. Zie Expliciete interface-implementatie voor meer informatie.
Implementeerinterface genereert het minimale aantal methode-stubs dat vereist is om te voldoen aan de interface. Als een basisklasse onderdelen van de interface implementeert, worden deze stubs niet opnieuw gegenereerd.
Abstracte basisklasse implementeren
IntelliSense biedt een optie waarmee u leden van een abstracte basisklasse automatisch kunt implementeren terwijl u in de code-editor werkt. Normaal gesproken moet voor het implementeren van leden van een abstracte basisklasse een nieuwe methodedefinitie worden gemaakt voor elke methode van de abstracte basisklasse in uw afgeleide klasse. Nadat u de naam van een abstracte basisklasse in een klassedeclaratie hebt getypt, geeft IntelliSense een gloeilamp snelle acties weer. De gloeilamp biedt u de mogelijkheid om de basisklassemethoden automatisch te implementeren.
De methode-stubs die worden gegenereerd door de functie Abstract Base-klasse implementeren , worden gemodelleerd door het codefragment dat is gedefinieerd in het bestand MethodStub.snippet. Codefragmenten kunnen worden gewijzigd. Zie Walkthrough: Een codefragment maken in Visual Studio voor meer informatie.
Genereren op gebruik
Met de functie Genereren op basis van gebruik kunt u klassen en leden gebruiken voordat u ze definieert. U kunt een stub genereren voor elke klasse, constructor, methode, eigenschap, veld of opsomming die u wilt gebruiken, maar die niet zijn gedefinieerd. U kunt nieuwe typen en leden genereren zonder uw huidige locatie in code te verlaten. Hierdoor wordt de onderbreking van uw werkstroom geminimaliseerd.
Er wordt een rode golvende lijn weergegeven onder elke niet-gedefinieerde id. Wanneer u de muisaanwijzer op de id aanwijst, wordt er een foutbericht weergegeven in knopinfo. Gebruik een van de volgende procedures om de juiste opties weer te geven:
Selecteer de niet-gedefinieerde id. Er wordt een gloeilamp met snelle acties weergegeven onder de id. Selecteer de gloeilamp van de fout.
Selecteer de niet-gedefinieerde id en druk opCtrl-punt+ (.).
Klik met de rechtermuisknop op de niet-gedefinieerde id en selecteer Vervolgens Snelle acties en herstructureringen.
De volgende opties kunnen worden weergegeven:
Eigenschap genereren
Veld genereren
Methode genereren
Klasse genereren
Nieuw type genereren (voor een klasse, struct, interface of enum)
Gebeurtenis-handlers genereren
In de code-editor kan IntelliSense u helpen bij het koppelen van methoden (gebeurtenis-handlers) aan gebeurtenisvelden.
Wanneer u de += operator typt na een gebeurtenisveld in een .cs-bestand , wordt u door IntelliSense gevraagd om op de Tab-toets te drukken. Hiermee voegt u een nieuw exemplaar van een gemachtigde in die verwijst naar de methode voor het afhandelen van de gebeurtenis.
Als u op de Tab-toets drukt, voltooit IntelliSense automatisch de instructie voor u en wordt de verwijzing naar de gebeurtenis-handler weergegeven als geselecteerde tekst in de code-editor. Als u de automatische gebeurtenishook wilt voltooien, wordt u door IntelliSense gevraagd opnieuw op de Tab-toets te drukken om een lege stub voor de gebeurtenis-handler te maken.
Als u nogmaals op de Tab-toets drukt, voegt IntelliSense een methode-stub toe met de juiste handtekening en plaatst u de cursor in de hoofdtekst van de gebeurtenis-handler.
Als een nieuwe gemachtigde die is gemaakt door IntelliSense verwijst naar een bestaande gebeurtenis-handler, communiceert IntelliSense deze informatie in de knopinfo. Vervolgens kunt u deze verwijzing wijzigen; de tekst is al geselecteerd in de code-editor. Anders is automatische gebeurtenishook nu voltooid.
Opmerking
Gebruik de opdracht Navigeren naar achteren in het menu Beeld (Ctrl+-) om terug te keren naar de instructie gebeurtenishook.