Dela via


IntelliSense i Visual Studio

IntelliSense är ett kodkompletteringshjälpmedel som innehåller funktioner som hjälper dig att lära dig mer om koden du använder, hålla reda på de parametrar som du skriver och lägga till anrop till egenskaper och metoder med bara några få tangenttryckningar.

Dessa funktioner omfattar:

Många aspekter av IntelliSense är språkspecifika. Mer information om IntelliSense för olika språk finns i artiklarna i avsnittet Relaterat innehåll.

Lista medlemmar

En lista över giltiga medlemmar från en typ (eller namnområde) visas när du har skrivit ett utlösartecken (till exempel en punkt (.) i hanterad kod eller :: i C++). Om du fortsätter att skriva tecken filtreras listan så att den endast innehåller de medlemmar som börjar med dessa tecken eller där början av något ord i namnet börjar med dessa tecken. IntelliSense utför också camelCase matchning, så du kan bara skriva den första bokstaven i varje camelcase-ord i medlemsnamnet för att se matchningarna.

När du har valt ett objekt kan du infoga det i koden genom att trycka på Tabb eller genom att skriva ett blanksteg. Om du väljer ett objekt och skriver en punkt visas objektet följt av perioden, som visar en annan medlemslista. När du väljer ett objekt men innan du infogar det får du snabbinformation för objektet.

I medlemslistan representerar ikonen till vänster medlemstypen, till exempel namnrymd, klass, funktion eller variabel. Listan kan vara lång, så du kan trycka på PgUp och PgDn- för att flytta upp eller ned i listan.

Skärmbild av funktionen För Medlemmar i IntelliSense-listan.

Skärmbild av funktionen För Medlemmar i IntelliSense-listan.

Du kan anropa funktionen Listmedlemmar manuellt genom att skriva Ctrl+J, välja Redigera>IntelliSense>listmedlemmareller genom att välja knappen Listmedlemmar i redigeringsprogrammets verktygsfält. När den anropas på en tom rad eller utanför ett igenkännbart omfång visar listan symboler i det globala namnområdet.

Om du vill inaktivera listmedlemmar som standard så att de inte visas om de inte anropas uttryckligen går du till Verktyg>Alternativ>Textredigeraren>Alla språk och avmarkerar Automatisk listmedlemmar. Om du bara vill inaktivera Listmedlemmar för ett visst språk går du till inställningarna Allmänt för det språket.

Du kan också ändra till förslagsläge, där endast den text du skriver infogas i koden. Om du till exempel anger en identifierare som inte finns i listan och trycker på Tabb, ersätter posten den inmatade identifieraren i autokompletteringsläge. Om du vill växla mellan slutförandeläge och förslagsläge trycker du på Ctrl+Alt+Space, eller väljer Redigera>IntelliSense>Växla slutförandeläge.

Du kan också ändra till förslagsläge, där endast den text du skriver infogas i koden. Om du till exempel anger en identifierare som inte finns i listan och trycker på Tabb, skulle inmatningen i slutförandeläge ersätta den inmatade identifieraren. Om du vill växla mellan slutförandeläge och förslagsläge trycker du på Ctrl+Alt+Space, eller väljer Redigera>IntelliSense>Växla mellan automatisk och endast tabbbaserad IntelliSense-slutförande.

Parameterinformation

parameterinformation ger information om antalet, namnen och typerna av parametrar som krävs av en metod, attributparameter av allmän typ (i C#) eller mall (i C++).

Parametern i fetstil anger nästa parameter som krävs när du skriver funktionen. För överlagrade funktioner kan du använda piltangenterna Upp och nedåt för att visa alternativ parameterinformation för funktionsöverbelastningarna.

Skärmbild som visar funktionen IntelliSense-parameterinformation.

Skärmbild av funktionen IntelliSense-parameterinformation.

När du kommenterar funktioner och parametrar med XML-dokumentationskommentarer visas kommentarerna som parameterinformation. Mer information finns i Ange XML-kodkommentare.

Du kan anropa parameterinformation manuellt genom att välja Redigera>IntelliSense>Parameterinformationgenom att trycka på Ctrl+Skift+Spaceeller genom att välja knappen Parameter Info i verktygsfältet för redigeraren.

Snabbinformation

Snabbinformation visar den fullständiga deklarationen för alla identifierare i koden.

Skärmbild som visar funktionen Snabbinformation för IntelliSense.

Skärmbild av funktionen Snabbinformation för IntelliSense.

När du väljer en medlem i rutan Listmedlemmar visas även snabbinformation.

Skärmbild av funktionen Snabbinformation och parameterinformation i IntelliSense.

Skärmbild av funktionen IntelliSense Snabbinformation och Parameterinformation.

Du kan anropa snabbinformation manuellt genom att välja Redigera>IntelliSense>snabbinformation, genom att trycka på Ctrl+K, Ctrl+jag, eller genom att välja knappen Snabbinformation i redigeringsverktygsfältet.

Om en funktion är överbelastad kanske IntelliSense inte visar information för alla former av överbelastning.

Du kan inaktivera snabbinformation för C++-kod genom att gå till Verktyg>Alternativ>textredigeraren>C/C++>Advancedoch ange Automatisk snabbinformation till false.

Fullständigt ord

Complete Word slutför resten av en variabel, ett kommando eller ett funktionsnamn när du har angett tillräckligt med tecken för att skilja termen åt. Du kan anropa Complete Word genom att välja Redigera>IntelliSense>Complete Word, genom att trycka på Ctrl+Spaceeller genom att välja knappen Complete Word i redigeringsprogrammets verktygsfält.

IntelliSense-alternativ

IntelliSense-alternativ är aktiverade som standard. Om du vill inaktivera dem går du till Verktyg>Alternativ>textredigeraren>Alla språk och avmarkerar Parameterinformation eller Medlemmar i listan automatiskt om du inte vill ha funktionen Listmedlemmar.

Tips

Om du vill ändra utseendet på användargränssnittselement i Visual Studio går du till Tools>Options>Environment>Fonts and Colors. Mer information om dessa inställningar och hur du interagerar med dem finns i teckensnitt och färger, miljö, alternativ dialogruta.

IntelliSense-ikoner

Ikonerna i IntelliSense kan förmedla ytterligare betydelse med ikonmodifierare. Dessa är stjärnor, hjärtan och lås skiktade ovanpå objektets ikon som förmedlar skyddade, interna respektive privata.

Ikon Tillgänglighet Beskrivning
Offentlig Ikon Modifierare Offentlig klass Åtkomsten är inte begränsad.
skyddad ikonmodifierare Skyddad klass Åtkomsten är begränsad till den innehållande klassen eller typerna som härleds från den innehållande klassen.
skyddad intern ikonjusterare Skyddad intern klass Åtkomsten är begränsad till den aktuella sammansättningen eller typerna som härleds från den innehållande klassen.
intern ikon modifierare Intern klass Åtkomsten är begränsad till den aktuella assemblyn.
privat ikonmodifierare Privat klass Åtkomsten är begränsad till den innehållande klassen eller typerna som härleds från den innehållande klassen i den aktuella sammansättningen. (Tillgänglig sedan C# 7.2.)

Felsöka IntelliSense

IntelliSense-alternativen kanske inte fungerar som förväntat i vissa fall.

  • Markören ligger under ett kodfel: Du kanske inte kan använda IntelliSense om det finns en ofullständig funktion eller något annat fel i koden ovanför markören eftersom IntelliSense kanske inte kan parsa kodelementen. Du kan lösa det här problemet genom att kommentera ut tillämplig kod.

  • Markören finns i en kodkommentare: Du kan inte använda IntelliSense om markören finns i en kommentar i källfilen.

  • Markören finns i en strängliteral: Du kan inte använda IntelliSense om markören är inom citattecken runt en strängliteral, som i följande exempel:

    MessageBox( hWnd, "String literal|")
    
  • De automatiska alternativen inaktiveras: Som standard fungerar IntelliSense automatiskt, men du kan inaktivera det. Även om automatisk kodkomplettering är inaktiverad kan du aktivera en IntelliSense-funktion.