IntelliSense er en Microsoft -teknologi til automatisk fuldførelse, der er bedst kendt i Microsoft Visual Studio . Tilføjer navnet på funktionen ved indtastning af begyndelsesbogstaver. Ud over direkte tildeling bruges IntelliSense til at få adgang til dokumentation og til at disambiguere variabel- , funktions- og metodenavne ved hjælp af refleksion .
Ligesom andre færdiggørelsessystemer er IntelliSense en bekvem måde at se funktionsbeskrivelser på, herunder lister over deres argumenter. Det fremskynder softwareudviklingen ved at reducere antallet af navne og parametre, som en programmør skal opbevare i hukommelsen. Det reducerer også antallet af nødvendige dokumentationsanmodninger ved at poppe noget af dokumentationen op i kodeeditoren. Under drift genererer IntelliSense en database i hukommelsen, der indeholder metadata for klasser, variabler og andre konstruktioner, der bruges i den applikation, der udvikles. Den "klassiske" implementering af IntelliSense fungerer ved at finde specielle markører i koden, såsom prik-tegnet. Så snart brugeren indtaster et af disse tokens efter navnet på en enhed, der indeholder et eller flere tilgængelige medlemmer (såsom variabler eller metoder), viser IntelliSense brugeren et pop op-vindue med en liste over matchende medlemmer.
Hvis brugeren indtaster yderligere tegn, filtrerer IntelliSense sine resultater og viser kun de medlemmer, der begynder med de allerede indtastede bogstaver, for brugeren. Brugeren kan enten acceptere en af mulighederne fra IntelliSense (i hvilket tilfælde resten af navnet vil blive udfyldt automatisk) eller fortsætte med at skrive navnet selv. Teknologien giver dig også mulighed for at se information om funktioner (i form af en beskrivelse og argumentlister) og vælge en af de overbelastede funktioner ved at sammenligne argumentlisterne med dem, brugeren har indtastet.
Lignende teknologier er tilgængelige i andre populære teksteditorer .
IntelliSense dukkede første gang op i Visual Basic 5.0 Control Creation Edition i 1996, som var den offentligt tilgængelige prototype af Visual Basic 5.0. Ud over indledende test i Visual Basic -programmeringsmiljøet blev IntelliSense hurtigt inkluderet i Visual FoxPro og Visual C++ i Visual Studio 97. Fordi Visual Basic-versionen brugte COM-funktioner, var den mere avanceret end Visual C++-versionen, fordi sidstnævnte ikke var fuldt ud baseret på COM. Disse mangler blev rettet med fremkomsten af .NET Framework , som giver et kraftfuldt metadatasystem.
IntelliSense gik ind i en ny udviklingsfase med introduktionen af Visual Studio .NET , som understøttede metadata- og dokumentationsmodellen for .NET Framework -koden . IntelliSense understøttes i øjeblikket i Visual Studio til sprog som C++ , C# , J# , Visual Basic , Visual FoxPro , XML , HTML , XSLT og mere. Fra Visual Studio 2005 begynder IntelliSense som standard at tilbyde kodefuldførelsesmuligheder uden at kræve markører, det vil sige så snart brugeren begynder at skrive. Da de nu tilgængelige muligheder inkluderer sprogkonstruktioner (såsom for eller if ), er de også inkluderet på listen over muligheder for autofuldførelse.
Ud over Visual Studio bruger andre Microsoft - produkter også IntelliSense , såsom FrontPage , Expression Web , Visual Basic for Applications IDE i Microsoft Office og andre. SQL Server 2008 Management Studio inkluderer fuldførelse af SQL -syntaks.
Antag, at du redigerer et C++- program i Visual Studio , der indeholder følgende klasse:
klasse Foo { offentligt : voidbar ( ); void foo_bar ( char c , int n ); };Udvikleren henviser til denne klasse i kildekoden, for eksempel:
foo foo; foo.Så snart brugeren indtaster et punktum efter foo (eller trykker på Ctrl + Mellemrum), viser IntelliSense automatisk alle tilgængelige klassemedlemmer (såsom bar() og foo_bar() ). Brugeren kan vælge en af mulighederne ved hjælp af musen eller piletasterne på tastaturet og bekræfte sit valg. Hvor det er muligt, viser IntelliSense en beskrivelse af funktionen, leveret som dokumentation i kildekoden. Dernæst viser IntelliSense argumenterne for den valgte metode i et andet pop op-vindue, så snart brugeren indtaster en åben parentes efter metodenavnet. Så snart brugeren begynder at skrive navnet på en variabel i argumentlisten, tilbyder IntelliSense også brugerens valg for denne variabel. Derudover fremhæver IntelliSense det argument, som brugeren i øjeblikket skriver i argumentlisten.