Вы находитесь на странице: 1из 4

MicrosoftVisualStudio

FromWikipedia,thefreeencyclopedia

MicrosoftVisualStudioisanintegrated

MicrosoftVisualStudio

developmentenvironment(IDE)fromMicrosoft.Itis
usedtodevelopcomputerprogramsforMicrosoft
Windows,aswellaswebsites,web
applicationsandwebservices.VisualStudiouses
Microsoftsoftwaredevelopmentplatformssuch
asWindowsAPI,WindowsForms,Windows
PresentationFoundation,Windows
StoreandMicrosoftSilverlight.Itcanproduce
bothnativecodeandmanagedcode.
VisualStudioincludesacode
editorsupportingIntelliSense(thecode
completioncomponent)aswellascoderefactoring.
Theintegrateddebuggerworksbothasasource
leveldebuggerandamachineleveldebugger.

ScreenshotofVisualStudio2013,editingaprogram's
sourcecodeinC++
Developer(s)

Microsoft

Stablerelease

2013Update4(2013.4)
(November12,20143monthsago)
[][1]

Otherbuiltintoolsincludeaformsdesignerfor
buildingGUIapplications,web

Previewrelease

2015PreviewCTP5(January16,
201534daysago)[][2]

designer,classdesigner,anddatabase

C++andC#[3]

schemadesigner.Itacceptspluginsthatenhance

Writtenin

thefunctionalityatalmosteverylevelincluding

Operatingsystem Windows7,WindowsServer2008
R2,Windows8,WindowsServer
2012,Windows8.1,Windows
Server2012R2[4]

addingsupportforsourcecontrolsystems
(likeSubversion)andaddingnewtoolsetslike
editorsandvisualdesignersfordomainspecific
languagesortoolsetsforotheraspectsof

Availablein

Chinese,English,French,
Portuguese,German,Italian,
Japanese,Korean,Spanishand
Russian

Type

Integrateddevelopment
environment

License

Proprietarysoftware
Expressedition:Registerware
Othereditions:Trialware[5]

Website

visualstudio.com

thesoftwaredevelopmentlifecycle(liketheTeam
FoundationServerclient:TeamExplorer).
VisualStudiosupportsdifferentprogramming
languagesandallowsthecodeeditoranddebugger
tosupport(tovaryingdegrees)nearlyany
programminglanguage,providedalanguage
specificserviceexists.Builtinlanguages
includeC,[6]C++andC++/CLI(viaVisual

C++),VB.NET(viaVisualBasic.NET),C#(viaVisualC#),andF#(asofVisualStudio2010[7]).Support
forotherlanguagessuchasM,Python,andRubyamongothersisavailablevialanguageservices
installedseparately.ItalsosupportsXML/XSLT,HTML/XHTML,JavaScriptandCSS.
Microsoftprovides"Express"editionsofitsVisualStudioatnocost.CommercialversionsofVisual
Studioalongwithselectpastversionsareavailableforfreetostudentsvia
Microsoft'sDreamSparkprogram.[8]

Contents[hide]
1Architecture
2Features
2.1Codeeditor
2.2Debugger
2.3Designer
2.4Othertools
2.5Extensibility
3Supportedproducts
3.1Previousproducts
4Editions
4.1VisualStudioExpress
4.2VisualStudioProfessional
4.3VisualStudioCommunity
4.4VisualStudioPremium
4.5VisualStudioUltimate
4.6VisualStudioTestProfessional
4.7Editionsfeaturegrid
5History
5.1VisualStudio97
5.2VisualStudio6.0(1998)
5.3VisualStudio.NET(2002)
5.4VisualStudio.NET2003
5.5VisualStudio2005
5.6VisualStudio2008
5.7VisualStudio2010
5.8VisualStudio2012
5.8.1Interfacecontroversies
5.9VisualStudio2013
5.10VisualStudio2015
6VisualStudioOnline
7VisualStudioApplicationLifecycleManagement
8VisualStudioLightSwitch
9Seealso
10References
11Externallinks

Architecture

[edit]

VisualStudiodoesnotsupportanyprogramminglanguage,solutionortoolintrinsically,insteaditallows
thepluggingoffunctionalitycodedasaVSPackage.Wheninstalled,thefunctionalityisavailableas
aService.TheIDEprovidesthreeservices:SVsSolution,whichprovidestheabilitytoenumerate
projectsandsolutionsSVsUIShell,whichprovideswindowingandUIfunctionality(includingtabs,
toolbarsandtoolwindows)andSVsShell,whichdealswithregistrationofVSPackages.Inaddition,the
IDEisalsoresponsibleforcoordinatingandenablingcommunicationbetweenservices.[9]Alleditors,

designers,projecttypesandothertoolsareimplementedasVSPackages.VisualStudiousesCOMto
accesstheVSPackages.TheVisualStudioSDKalsoincludestheManagedPackageFramework(MPF),
whichisasetofmanagedwrappersaroundtheCOMinterfacesthatallowthePackagestobewrittenin
anyCLIcompliantlanguage.[10]However,MPFdoesnotprovideallthefunctionalityexposedbythe
VisualStudioCOMinterfaces.[11]Theservicescanthenbeconsumedforcreationofotherpackages,
whichaddfunctionalitytotheVisualStudioIDE.
SupportforprogramminglanguagesisaddedbyusingaspecificVSPackagecalledaLanguage
Service.AlanguageservicedefinesvariousinterfaceswhichtheVSPackageimplementationcan
implementtoaddsupportforvariousfunctionalities.[12]Functionalitiesthatcanbeaddedthisway
includesyntaxcoloring,statementcompletion,bracematching,parameterinformationtooltips,member
listsanderrormarkersforbackgroundcompilation.[12]Iftheinterfaceisimplemented,thefunctionality
willbeavailableforthelanguage.Languageservicesaretobeimplementedonaperlanguagebasis.
Theimplementationscanreusecodefromtheparserorthecompilerforthelanguage.[12]Language
servicescanbeimplementedeitherinnativecodeormanagedcode.Fornativecode,eitherthenative
COMinterfacesortheBabelFramework(partofVisualStudioSDK)canbeused.[13]Formanaged
code,theMPFincludeswrappersforwritingmanagedlanguageservices.[14]
VisualStudiodoesnotincludeanysourcecontrolsupportbuiltinbutitdefinestwoalternativewaysfor
sourcecontrolsystemstointegratewiththeIDE.[15]ASourceControlVSPackagecanprovideitsown
customiseduserinterface.Incontrast,asourcecontrolpluginusingtheMSSCCI(MicrosoftSource
CodeControlInterface)providesasetoffunctionsthatareusedtoimplementvarioussourcecontrol
functionality,withastandardVisualStudiouserinterface.[16][17]MSSCCIwasfirstusedto
integrateVisualSourceSafewithVisualStudio6.0butwaslateropenedupviatheVisualStudioSDK.
VisualStudio.NET2002usedMSSCCI1.1,andVisualStudio.NET2003usedMSSCCI1.2.Visual
Studio2005,2008and2010useMSSCCIVersion1.3,whichaddssupportforrenameanddelete
propagationaswellasasynchronousopening.[17]
VisualStudiosupportsrunningmultipleinstancesoftheenvironment(eachwithitsownsetof
VSPackages).Theinstancesusedifferentregistryhives(seeMSDN'sdefinition oftheterm
"registryhive"inthesenseusedhere)tostoretheirconfigurationstateandaredifferentiatedbytheir
AppId(ApplicationID).TheinstancesarelaunchedbyanAppIdspecific.exethatselectstheAppId,
setstheroothiveandlaunchestheIDE.VSPackagesregisteredforoneAppIdareintegratedwithother
VSPackagesforthatAppId.ThevariousproducteditionsofVisualStudioarecreatedusingthedifferent
AppIds.TheVisualStudioExpresseditionproductsareinstalledwiththeirownAppIds,butthe
Standard,ProfessionalandTeamSuiteproductssharethesameAppId.Consequently,onecaninstall
theExpresseditionssidebysidewithothereditions,unliketheothereditionswhichupdatethesame
installation.TheprofessionaleditionincludesasupersetoftheVSPackagesinthestandardeditionand
theteamsuiteincludesasupersetoftheVSPackagesinbothothereditions.TheAppIdsystemis
leveragedbytheVisualStudioShellinVisualStudio2008.[18]

Features
Codeeditor

[edit]
[edit]

LikeanyotherIDE,itincludesacodeeditorthatsupportssyntaxhighlightingandcode
completionusingIntelliSenseforvariables,functions,methods,loopsandLINQqueries.[19]IntelliSenseis

supportedfortheincludedlanguages,aswellasforXMLandforCascadingStyle
SheetsandJavaScriptwhendevelopingwebsitesandwebapplications.[20][21]Autocomplete
suggestionsappearinamodelesslistboxoverthecodeeditorwindow,inproximityofthe
editingcursor.InVisualStudio2008onwards,itcanbemadetemporarilysemitransparenttoseethe
codeobstructedbyit.[19]Thecodeeditorisusedforallsupportedlanguages.
TheVisualStudiocodeeditoralsosupportssettingbookmarksincodeforquicknavigation.Other
navigationalaidsincludecollapsingcodeblocksandincrementalsearch,inadditiontonormaltext
searchandregexsearch.[22]Thecodeeditoralsoincludesamultiitemclipboardandatasklist.[22]The
codeeditorsupportscodesnippets,whicharesavedtemplatesforrepetitivecodeandcanbeinserted
intocodeandcustomizedfortheprojectbeingworkedon.Amanagementtoolforcodesnippetsisbuilt
inaswell.Thesetoolsaresurfacedasfloatingwindowswhichcanbesettoautomaticallyhidewhen
unusedordockedtothesideofthescreen.TheVisualStudiocodeeditoralsosupportscode
refactoringincludingparameterreordering,variableandmethodrenaming,interfaceextractionand
encapsulationofclassmembersinsideproperties,amongothers.
VisualStudiofeaturesbackgroundcompilation(alsocalledincrementalcompilation).[23][24]Ascodeis
beingwritten,VisualStudiocompilesitinthebackgroundinordertoprovidefeedbackaboutsyntaxand
compilationerrors,whichareflaggedwitharedwavyunderline.Warningsaremarkedwithagreen
underline.Backgroundcompilationdoesnotgenerateexecutablecode,sinceitrequiresadifferent
compilerthantheoneusedtogenerateexecutablecode.[25]Backgroundcompilationwasinitially
introducedwithMicrosoftVisualBasicbuthasnowbeenexpandedforallincludedlanguages.[24]

Debugger

[edit]

Mainarticle:MicrosoftVisualStudioDebugger
VisualStudioincludesadebuggerthatworksbothasasourceleveldebuggerandasamachinelevel
debugger.Itworkswithbothmanagedcodeaswellasnativecodeandcanbeusedfordebugging
applicationswritteninanylanguagesupportedbyVisualStudio.Inaddition,itcanalsoattachtorunning
processesandmonitoranddebugthoseprocesses.[26]Ifsourcecodefortherunningprocessis
available,itdisplaysthecodeasitisbeingrun.Ifsourcecodeisnotavailable,itcanshow
thedisassembly.TheVisualStudiodebuggercanalsocreatememorydumpsaswellasloadthemlater
fordebugging.[27]Multithreadedprogramsarealsosupported.Thedebuggercanbeconfiguredtobe
launchedwhenanapplicationrunningoutsidetheVisualStudioenvironmentcrashes.
Thedebuggerallowssettingbreakpoints(whichallowexecutiontobestoppedtemporarilyatacertain
position)andwatches(whichmonitorthevaluesofvariablesastheexecution
progresses).[28]Breakpointscanbeconditional,meaningtheygettriggeredwhentheconditionismet.
Codecanbesteppedover,i.e.,runoneline(ofsourcecode)atatime.[29]Itcaneitherstep
intofunctionstodebuginsideit,orstepoverit,i.e.,theexecutionofthefunctionbodyisn'tavailablefor
manualinspection.[29]ThedebuggersupportsEditandContinue,i.e.,itallowscodetobeeditedasitis
beingdebugged.Whendebugging,ifthemousepointerhoversoveranyvariable,itscurrentvalueis
displayedinatooltip("datatooltips"),whereitcanalsobemodifiedifdesired.Duringcoding,theVisual
Studiodebuggerletscertainfunctionsbeinvokedmanuallyfromthe Immediate toolwindow.The
parameterstothemethodaresuppliedattheImmediatewindow.[30]

Вам также может понравиться