Maybaygiare.org

Blog Network

IntelliSense

IntelliSense är en allmän term för olika kodredigeringsfunktioner, inklusive: kodkomplettering, parameterinformation, Snabbinformation och medlemslistor. IntelliSense-funktioner kallas ibland av andra namn som ”code completion”, ”content assist” och ”code hinting.”

IntelliSense demo

IntelliSense för ditt programmeringsspråk

Visual Studio Code IntelliSense tillhandahålls för JavaScript, TypeScript, JSON, HTML, CSS, SCSS och mindre ur lådan. VS-kod stöder ordbaserade kompletteringar för alla programmeringsspråk men kan också konfigureras för att ha rikare IntelliSense genom att installera ett språktillägg.

nedan är de mest populära språktilläggen på marknaden. Klicka på en förlängningsplatta nedan för att läsa beskrivningen och recensionerna för att bestämma vilken förlängning som är bäst för dig.

IntelliSense-funktioner

VS Code IntelliSense-funktioner drivs av en språktjänst. En språktjänst ger intelligenta kod kompletteringar baserat på språk semantik och en analys av din källkod. Om en språktjänst känner till möjliga kompletteringar kommer IntelliSense-förslagen att dyka upp när du skriver. Om du fortsätter att skriva tecken, listan över medlemmar (variabler, metoder, etc.) filtreras för att endast Inkludera medlemmar som innehåller dina skrivna tecken. Om du trycker på Tabb eller Enter infogas den valda medlemmen.

Du kan trigga IntelliSense i valfritt redigeringsfönster genom att skriva ut utrymme (Windows, Linux Ctrl+Mellanslag) eller genom att skriva ett utlösande tecken (t.ex. punkttecken (.) i JavaScript).

intellisense i paketet json

tips: Förslag widget stöder CamelCase filtrering, vilket innebär att du kan skriva bokstäverna som är övre kapslade i ett metodnamn för att begränsa förslagen. Till exempel kommer ”CRA” snabbt att ta fram ”createApplication”.

om du föredrar kan du stänga av IntelliSense medan du skriver. Se anpassa IntelliSense nedan för att lära dig hur du inaktiverar eller anpassar VS-kodens IntelliSense-funktioner.

som tillhandahålls av språktjänsten kan du se Snabbinformation för varje metod genom att antingen trycka på utrymme för språk (Windows, Linux Ctrl+Mellanslag) eller klicka på ikonen info. Den medföljande dokumentationen för metoden kommer nu att expandera till sidan. Den utökade dokumentationen förblir så och uppdateras när du navigerar i listan. Du kan stänga detta genom att trycka på AUC-Utrymme (Windows, Linux Ctrl+Space) igen eller genom att klicka på stängningsikonen.

Snabbinformation

När du har valt en metod får du parameterinformation.

parameterinformation

När det är tillämpligt kommer en språktjänst att täcka de underliggande typerna i snabbinformations-och metodsignaturerna. I bilden ovan kan du se fleraany typer. Eftersom JavaScript är dynamiskt och inte behöver eller genomdriver typer, föreslår any att variabeln kan vara av vilken typ som helst.

typer av kompletteringar

JavaScript-koden nedan illustrerar IntelliSense-kompletteringar. IntelliSense ger både härledda förslag och de globala identifierarna för projektet. De härledda symbolerna presenteras först, följt av de globala identifierarna (visas av ordikonen).

intellisense ikoner

VS Code IntelliSense erbjuder olika typer av kompletteringar, inklusive språk server förslag, utdrag, och enkla ord baserade text kompletteringar.

method icon Methods and Functions methodfunctionconstructor
variable icon Variables variable
field icon Fields field
type parameter Type parameters typeParameter
constant Constants constant
class Classes class
interface Interfaces interface
structure Structures struct
event Events event
operator Operators operator
module Modules module
property Properties and Attributes property
enumeration icon Values and Enumerations valueenum
reference reference
keyword Keywords keyword
file Files file
folder Folders folder
color Colors color
unit Unit unit
a square with ellipses forming the bottom show snippet prefix Snippet prefixes snippet
a square with letters abc word completion Words text

Customizing IntelliSense

You can customize your IntelliSense experience in settings and key bindings.

Inställningar

inställningarna nedan är standardinställningarna. Du kan ändra dessa inställningar i filen settings.json som beskrivs i Inställningar för användare och arbetsyta.

{ // Controls if quick suggestions should show up while typing "editor.quickSuggestions": { "other": true, "comments": false, "strings": false }, // Controls whether suggestions should be accepted on commit characters. For example, in JavaScript, the semi-colon (`;`) can be a commit character that accepts a suggestion and types that character. "editor.acceptSuggestionOnCommitCharacter": true, // Controls if suggestions should be accepted on 'Enter' - in addition to 'Tab'. Helps to avoid ambiguity between inserting new lines or accepting suggestions. The value 'smart' means only accept a suggestion with Enter when it makes a textual change "editor.acceptSuggestionOnEnter": "on", // Controls the delay in ms after which quick suggestions will show up. "editor.quickSuggestionsDelay": 10, // Controls if suggestions should automatically show up when typing trigger characters "editor.suggestOnTriggerCharacters": true, // Controls if pressing tab inserts the best suggestion and if tab cycles through other suggestions "editor.tabCompletion": "off", // Controls whether sorting favours words that appear close to the cursor "editor.suggest.localityBonus": true, // Controls how suggestions are pre-selected when showing the suggest list "editor.suggestSelection": "recentlyUsed", // Enable word based suggestions "editor.wordBasedSuggestions": true, // Enable parameter hints "editor.parameterHints.enabled": true,}

Tab Completion

redigeraren stöder” tab completion ” som infogar den bästa matchningen när du trycker på Tab. Detta fungerar oavsett föreslå widget visar eller inte. Om du trycker på Tab efter att du har infogat ett förslag kommer det näst bästa förslaget att infogas.

Flikkomplettering

som standard är flikkomplettering inaktiverad. Använd inställningen editor.tabCompletion för att aktivera den. Dessa värden finns:

  • off – (standard) flikkomplettering är inaktiverad.
  • on – Flikkomplettering är aktiverad för alla förslag och upprepade anrop infoga nästa bästa förslag.
  • onlySnippets – tab completion infogar bara statiska utdrag som prefixet matchar det aktuella radprefixet.

Locality Bonus

sortering av förslag beror på tilläggsinformation och hur bra de matchar det aktuella ordet du skriver. Dessutom kan du be redigeraren att öka förslag som visas närmare markörens position med inställningen editor.suggest.localityBonus.

sorterat efter ort

i ovanstående bilder kan du se att countcontext och colocated sorteras baserat på de omfattningar där de visas (slinga, funktion, fil).

Förslagsval

som standard väljer VS-kod det tidigare använda förslaget i förslagslistan. Detta är mycket användbart eftersom du snabbt kan infoga samma slutförande flera gånger. Om du vill ha olika beteenden, till exempel, välj alltid det översta objektet i förslagslistan, kan du använda inställningen editor.suggestSelection.

de tillgängligaeditor.suggestSelection värdena är:

  • first – välj alltid topplistan.
  • recentlyUsed – (standard) det tidigare använda objektet är markerat om inte ett prefix (Typ att välja) väljer ett annat objekt.
  • recentlyUsedByPrefix – Välj objekt baserat på tidigare prefix som har slutfört dessa förslag.

”typ att välja” betyder att det aktuella prefixet (ungefär texten till vänster om markören) används för att filtrera och sortera förslag. När detta händer och när resultatet skiljer sig från resultatet av recentlyUsed kommer det att ges företräde.

När du använder det sista alternativet,recentlyUsedByPrefix, kommer VS-koden ihåg vilket objekt som valts för ett specifikt prefix (partiell text). Om du till exempel skrev co och sedan valde console, nästa gång du skrev co, skulle förslaget console väljas i förväg. Detta gör att du snabbt kan mappa olika prefix till olika förslag, till exempel co>console och con>const.

Utdrag i förslag

som standard visar VS-kod utdrag och kompletteringsförslag i en widget. Du kan styra beteendet med inställningen editor.snippetSuggestions. För att ta bort utdrag från widgeten förslag, Ställ in värdet till "none". Om du vill se utdrag kan du ange ordningen i förhållande till förslag; överst ("top"), längst ner ("bottom") eller inline ordnad alfabetiskt ("inline"). Standardvärdet är "inline".

tangentbindningar

tangentbindningarna som visas nedan är standardnyckelbindningarna. Du kan ändra dessa i filen keybindings.json enligt beskrivningen i tangentbindningar.

Obs: Det finns många fler nyckelbindningar relaterade till IntelliSense. Öppna standard kortkommandon (fil > Inställningar > kortkommandon) och Sök efter”föreslå”.

felsökning

om IntelliSense har slutat fungera kanske inte språktjänsten körs. Försök starta om VS-kod och detta bör lösa problemet. Om du fortfarande saknar IntelliSense-funktioner efter installation av ett språktillägg öppnar du ett problem i förvaret för språktillägget.

Tips: för att konfigurera och felsöka JavaScript IntelliSense, se JavaScript-dokumentationen.

ett visst språktillägg kanske inte stöder alla funktioner i VS Code IntelliSense. Granska förlängningens README för att ta reda på vad som stöds. Om du tror att det finns problem med ett språktillägg kan du vanligtvis hitta problemförvaret för ett tillägg via VS Code Marketplace. Navigera till tilläggets detaljsida och klicka på länken Support.

IntelliSense är bara en av VS Code kraftfulla funktioner. Läs vidare för att lära dig mer:

  • JavaScript – få ut det mesta av din JavaScript-utveckling, inklusive konfigurering av IntelliSense.
  • nod.js-se ett exempel på IntelliSense i aktion i noden.JS genomgång.
  • Debugging-lär dig hur du ställer in felsökning för din ansökan.
  • skapa Språktillägg-lär dig hur du skapar tillägg som lägger till IntelliSense för nya programmeringsspråk.

Vanliga frågor

Varför får jag inga förslag?

bild av IntelliSense fungerar inte

detta kan orsakas av olika orsaker. Försök först att starta om VS-kod. Om problemet kvarstår, se dokumentationen för språktillägget. För JavaScript-specifik felsökning, se avsnittet JavaScript-språk.

Varför ser jag inte metod och variabla förslag?

bild av IntelliSense visar inga användbara förslag

det här problemet orsakas av saknade typdeklarationsfiler (typings) i JavaScript. Du kan kontrollera om ett typdeklarationsfilpaket är tillgängligt för ett visst bibliotek med hjälp av typesearch-webbplatsen. Det finns mer information om detta problem i JavaScript-språket. För andra språk, se tilläggsdokumentationen.

Lämna ett svar

Din e-postadress kommer inte publiceras.