IntelliSense este o tehnologie de completare automată Microsoft , cel mai bine cunoscută în Microsoft Visual Studio . Adaugă numele funcției la introducerea literelor inițiale. În plus față de atribuirea directă, IntelliSense este utilizat pentru a accesa documentația și pentru a dezambigua numele de variabile , funcții și metode folosind reflection .
Ca și alte sisteme de completare , IntelliSense este o modalitate convenabilă de a vizualiza descrierile funcțiilor, inclusiv liste cu argumentele acestora. Accelerează dezvoltarea software-ului prin reducerea numărului de nume și parametri pe care un programator trebuie să-i păstreze în memorie. De asemenea, reduce numărul de solicitări de documentație necesară prin afișarea unei parte din documentație în editorul de cod. În timpul funcționării, IntelliSense generează o bază de date în memorie care conține metadate de clase, variabile și alte constructe care sunt utilizate în aplicația în curs de dezvoltare. Implementarea „clasică” a IntelliSense funcționează prin găsirea de markeri speciali în cod, cum ar fi caracterul punct. De îndată ce utilizatorul introduce unul dintre aceste jetoane după numele unei entități care conține unul sau mai mulți membri disponibili (cum ar fi variabile sau metode), IntelliSense îi arată utilizatorului o fereastră pop-up cu o listă de membri care se potrivesc.
Dacă utilizatorul introduce caractere suplimentare, atunci IntelliSense își filtrează rezultatele, afișând utilizatorului doar acei membri care încep cu literele deja introduse. Utilizatorul poate fie să accepte una dintre opțiunile oferite de IntelliSense (caz în care restul numelui va fi completat automat) sau să continue să tasteze singur numele. De asemenea, tehnologia vă permite să vizualizați informații despre funcții (sub formă de descriere și liste de argumente) și să selectați una dintre funcțiile supraîncărcate prin compararea listelor de argumente cu cele introduse de utilizator.
Tehnologii similare sunt disponibile în alte editoare de text populare .
IntelliSense a apărut pentru prima dată în Visual Basic 5.0 Control Creation Edition în 1996, care era prototipul disponibil public al Visual Basic 5.0. Pe lângă testarea inițială în mediul de programare Visual Basic , IntelliSense a fost inclus rapid în Visual FoxPro și Visual C++ în Visual Studio 97. Deoarece versiunea Visual Basic folosea capabilități COM, era mai avansată decât versiunea Visual C++, deoarece aceasta din urmă nu era pe deplin bazat pe COM. Aceste deficiențe au fost corectate odată cu apariția .NET Framework , care oferă un sistem puternic de metadate.
IntelliSense a intrat într-o nouă fază de dezvoltare odată cu introducerea Visual Studio .NET , care a susținut metadatele și modelul de documentare a codului .NET Framework . IntelliSense este acceptat în prezent în Visual Studio pentru limbi precum C++ , C# , J# , Visual Basic , Visual FoxPro , XML , HTML , XSLT și multe altele. Începând cu Visual Studio 2005 , IntelliSense, implicit, începe să ofere opțiuni de completare a codului fără a necesita marcatori, adică de îndată ce utilizatorul începe să tasteze. Deoarece opțiunile disponibile acum includ constructe de limbaj (cum ar fi for sau if ), acestea au fost, de asemenea, incluse în lista de opțiuni pentru completare automată.
Pe lângă Visual Studio , alte produse Microsoft folosesc și IntelliSense , cum ar fi FrontPage , Expression Web , Visual Basic for Applications IDE în Microsoft Office și altele. SQL Server 2008 Management Studio include completarea sintaxei SQL .
Să presupunem că editați o aplicație C++ în Visual Studio care conține următoarea clasă:
clasa Foo { public : voidbar ( ); void foo_bar ( char c , int n ); };Dezvoltatorul se referă la această clasă în codul sursă, de exemplu:
foo foo; foo.De îndată ce utilizatorul introduce un punct după foo (sau apasă Ctrl + Space), IntelliSense afișează automat toți membrii clasei disponibili (cum ar fi bar() și foo_bar() ). Utilizatorul poate selecta una dintre opțiuni folosind mouse-ul sau tastele săgeți de pe tastatură și poate confirma alegerea. Acolo unde este posibil, IntelliSense afișează o descriere a funcției, furnizată ca documentație în codul sursă. Apoi, IntelliSense listează argumentele metodei selectate într-o altă fereastră pop-up imediat ce utilizatorul introduce o paranteză deschisă după numele metodei. De îndată ce utilizatorul începe să tasteze numele unei variabile în lista de argumente, IntelliSense oferă și opțiunile utilizatorului pentru acea variabilă. În plus, IntelliSense evidențiază argumentul pe care utilizatorul îl tastează în prezent în lista de argumente.