You are on page 1of 19

Lasherramientasdisponibles

Miremosmsendetallelasdiferentesbarrasdeherramientasyventanasqueestnanuestradisposicin.

1.Lasbarrasdeherramientas
NomenosdetreintabarrasdeherramientasdiferentesestndisponiblesenVisualStudio.Lavisualizacindecada
unadeellassepuedecontrolarconelmencontextual,accesiblehaciendodobleclicenlabarraprincipaldemens.

Porsupuesto,esintilvisualizarelconjuntodelasbarrasdeherramientademanerasimultneaconvienemostrar
slolasmstiles.
Estndar

Editions ENI Tous droits rservs Copie personnelle de jgajardo@santotomas.cl jgajardo@santotomas.cl

- 1-

Editordetexto

Editordecuadrosdedilogo

Disposicin

Depurar

Las otras barras disponibles se visualizarn bajo demanda, en funcin de sus necesidades, con el fin de evitar
sobrecargarsupantalla.
Lasventanasdisponiblessontambinbastantenumerosasyvamosadescubrirlasmscorrientes.

2.Elcuadrodeherramientas
A partir del cuadro de herramientas vamos a elegir los elementos utilizados para el diseo de la interfaz de la
aplicacin.

- 2-

Editions ENI Tous droits rservs Copie personnelle de jgajardo@santotomas.cl jgajardo@santotomas.cl

Elcuadrodeherramientas,organizadoporsecciones,permiteencontrarloscontrolesfcilmente.
Cada uno podr personalizar su cuadro de herramientas al aadirle por ejemplo controles no disponibles por
defecto.Puedeserjuicioso,antesdeaadircontrolesasucuadrodeherramientas,crearunanuevaseccinpara
albergarla.Paraello,abraelmencontextualdelcuadrodeherramientas(haciendoclicconelbotnderechodel
ratn en el cuadro de herramientas), elija la opcin Agregar ficha, luego d un nombre a la nueva seccin que
acabadecrear.Despusdehaberseleccionadoestanuevaseccin,puedeaadirlecontroles.Visualicedenuevoel
mencontextualdelcuadrodeherramientas,luegoelijalaopcinElegirelementos.
Sepresentaentonceslalistadeloscontroles(COMo.NET),disponiblesenlamquina,quelepermiteseleccionar
los controles que hay que aadir en esta seccin del cuadro de herramientas. La configuracin del cuadro de
herramientasnoestrelacionadaconelproyectoactivosinoconelpropioentorno(elcuadrodeherramientasser
idnticaseacualseaelproyectoabierto).

3.Elexploradordeservidores
ElexploradordeservidoresestdisponibleconelmenVer Exploradordeservidoresoporelatajo[Ctrl][Alt]S.
Sevisualizaenunanuevapestaadelaventanaasociadaalcuadrodeherramientas.

Editions ENI Tous droits rservs Copie personnelle de jgajardo@santotomas.cl jgajardo@santotomas.cl

- 3-

Lamayoradelasaplicacionesrequierenotrasmquinaspresentesenlaredparapoderfuncionar.Porlotantoes
necesariotener,durantelafasededesarrollo deunaaplicacin,laposibilidaddeaccederalosrecursosdisponibles
enotrasmquinas.
El elemento de la ventana del explorador de servidores utilizado de manera ms frecuente ser la seccin
Conexionesdedatos.
Permite en particular la gestin de los objetos disponibles en el servidor SQL (tablas, vistas, procedimientos
almacenados).
El explorador de servidores tambin permite gestionar servicios operativos en las mquinas tanto a traves de la
interfaz grfica como de cdigo. Ofrece la posibilidad de visualizar la actividad de las mquinas analizando los
contadores de rendimiento o recuperando datos guardados en los diferentes registros de eventos. Un sencillo
arrastrarysoltarentreelexploradordeservidoresyunaventanaqueseestdiseandogeneraautomticamente
elcdigoquepermitetrabajarconesteelementoenlaaplicacin.Porejemplo,eldesplazamientodeuncontador
derendimientoencimadeunaventanageneraelcdigosiguiente:

- 4-

Editions ENI Tous droits rservs Copie personnelle de jgajardo@santotomas.cl jgajardo@santotomas.cl


private System.Diagnostics.PerformanceCounter performanceCounter1;
this.performanceCounter1 = new System.Diagnostics.PerformanceCounter();
this.performanceCounter1.CategoryName = "Memoria"
this.performanceCounter1.CounterName = "Kilo-bytes disponibles"
this.performanceCounter1.MachineName = "porttil TG"

4.Elexploradordesoluciones
Elexploradordesolucionespermiteverloselementosqueconstituyenunasolucinymodificarsuspropiedades.

La utilizacin del explorador de soluciones se presenta en detalle en el captulo dedicado a la organizacin de una
aplicacin.

5.Elvisordeclases
ElvisordeclasesesaccesiblemedianteelmenVer Vistadeclasesoconlacombinacindeteclas[Ctrl][Shift]C.
Compartesuzonadepantallaconelexploradordesoluciones.

Editions ENI Tous droits rservs Copie personnelle de jgajardo@santotomas.cl jgajardo@santotomas.cl

- 5-

La visualizacin de clases permite tener una visin lgica de una solucin presentando las diferentes clases
utilizadasenesasolucin.

6.Laventanadepropiedades
Sepuedevisualizarlaventanadepropiedadesusandocualquieradeestostresmtodos:

UtilizandoelmenVer Ventanapropiedades.

Conlatecladefuncin[F4].

Con la opcin Propiedades del men contextual disponible al hacer clic con el botn derecho en uno de los
elementosqueconstituyeunproyecto(elementogrficodelainterfazdeusuario,ficherooarchivodelproyecto).La
ventana de propiedades adapta automticamente su contenido en funcin del elemento seleccionado y permite
modificarestascaractristicas.

- 6-

Editions ENI Tous droits rservs Copie personnelle de jgajardo@santotomas.cl jgajardo@santotomas.cl

Loselementoscuyascaractersticaspuedemodificarsepuedenseleccionardirectamenteenlalistadesplegableo
enlainterfazdelaaplicacin.
Haydospresentacionesdisponiblesparalalistadepropiedades:

ElmodoAlfabtico,queseactivaalhacerclicenelicono
ElmodoPorcategora,queseactivaalhacerclicenelicono

.
.

7.Lalistadelastareas
Estaventanalepermitirsustituirdecenasdepostitpegadosenelbordedesupantalla.Enefecto,Ustedpuede
gestionarloquequedaporhacerensuproyectoteniendoencuentaunalistadelasmodificacionesqueespreciso
aportarensucdigo.

Editions ENI Tous droits rservs Copie personnelle de jgajardo@santotomas.cl jgajardo@santotomas.cl

- 7-

Lainformacinpresenteenlalistapuedetenerdosorgenes:

Loscomentariosinsertadosensucdigo.

Lainformacinintroducidadirectamenteenlaventana.

Usted puede ubicar en su cdigo los comentarios que aparecern luego en la lista de las tareas. Esta tcnica le
permite,porejemplo,indicarunamodificacinqueesprecisoefectuarmstardeensucdigo.
BastaconqueelcomentarioempiececonToDo,paraluegoretomarloautomticamenteenlalistadelastareas.
Tambinpuedeintroducirdirectamentelosdatosenlalistadelastareas.ParaelloseleccionelaopcinTareasde
usuarioquesemuestrasidespliegalazonadelistadisponibleenlabarradettulodelalistadelastareas.

Laadicindeunatareaseejecutaluegoconelbotn

,disponibleenlalistadelastareas.

Es posible especificar ya una descripcin y una prioridad para la nueva tarea haciendo clic en la columna de
izquierdaenlalistadelastareas.Haytresnivelesdeprioridaddisponibles:

Alta.

Normal.

Baja.

Para cada tarea, una casilla de seleccin permite indicar que se ha realizado. Su descripcin aparece entonces
tachadaenlalistadelastareas.Paralastareasdeusuario,nohayenlaceautomticoconunfragmentocualquiera
decdigo.

8.Lalistadeloserrores
ElcdigoquevaintroduciendoesanalizadoentiemporealporVisualStudioylosposibleserroresdesintaxisson
retomadosporVisualStudioenlaventanaListadeerrores.

- 8-

Editions ENI Tous droits rservs Copie personnelle de jgajardo@santotomas.cl jgajardo@santotomas.cl

Parairdirectamentealalneadondehayaaparecidounerrordesintaxis,bastaconhacerdobleclicenlalistadel
elemento correspondiente (en el ejemplo anterior, doble clic en Seesperaba } para alcanzar la lnea 23). No es
necesario en absoluto pedir la compilacin completa del cdigo para rastrear todos los errores de sntaxis. En
cuantoelerrorestcorregido,desapareceautomticamentedelalistadeerrores.
Losbotonesdeerror,alerta,mensajeactivanunfiltrosobrelosmensajesvisualizadosenlalistadeloserrores.

9.Laventanadeedicindecdigo
Vamos a dedicar ms tiempo a esta ventana. Propone muchas funcionalidades que permiten automatizar las
accionesmscorrientes.

a.LosSnippets
Los Snippets son fragmentos de cdigo que se pueden incorporar muy fcilmente a un archivo fuente. Permiten
escribirmuyrpidamenteporcionesdecdigocorrespondienteasituacionescorrientes.VisualStudioproponeuna
multituddeSnippets.HaydossolucionesdisponiblesparainsertarunSnippet:

UtilizarlaopcinInsertarfragmentodecdigodelmencontextualdeleditordecdigo.

Utilizarlascombinacionesdeteclas[Ctrl]K,luego[Ctrl]X.

Para estos dos mtodos, Visual Studio le propone elegir en una lista el Snippet que le interesa. Se pueden
personalizarestasporcionesdecdigo.Enprincipioestnenazulclaro.Lamodificacindeunadeestasporciones
decdigorepercuteentodaslasinstanciasenelSnippet.
Enelejemplosiguiente,seempleunSnippetparaaadirunbucleforenunafuncin.

SeefecturlamodificacindelosvaloresiylengthencascadaenelconjuntodelcdigodelSnippet.
PuedetambindisearsuspropiosSnippets.Paraello,debecrearelarchivoXMLquevaacontenerelcdigodel
Snippet.Estearchivodebetenerlaextensin.snippet.
ParaayudarleenlacreacindeunSnippet,MicrosofttieneprevistounSnippet.Ustedpuedeincorporarloensu
archivoXMLconelmencontextualInsertar fragmentodecdigo.

Editions ENI Tous droits rservs Copie personnelle de jgajardo@santotomas.cl jgajardo@santotomas.cl

- 9-

Debeobtenereldocumentosiguiente:

<?xml version="1.0" encoding="utf-8" ?>


<CodeSnippet Format="1.0.0" xmlns="http://schemas.microsoft.com/
VisualStudio/2005/CodeSnippet">
<Header>
<Title>ttulo</Title>
Author>autor</Author>
<Shortcut>atajo</Shortcut>
<Description>descripcin</Description>
<SnippetTypes>
<SnippetType>SurroundsWith</SnippetType>
<SnippetType>Expansion</SnippetType>
</SnippetTypes>
</Header>
<Snippet>
<Declarations>
<Literal>
<ID>nombre</ID>
<Default>valor</Default>
</Literal>
</Declarations>
<Code Language="XML">
<![CDATA[<test>
<name>$nombre$</name>
$selected$ $end$</test>]]>
</Code>
</Snippet>
</CodeSnippet>

LuegopuedepersonalizarsuSnippet.Enunprimermomento,debemodificarlaseccinHeadersustituyendolos
valoresdelasdiferentesetiquetas.

<Header>
<Title>Recorrer un array</Title>
<Author>Thierry</Author>
<Shortcut>tablo</Shortcut>
<Description>este fragmento aade un bucle que permite recorrer
un array</Description>
<SnippetTypes>
<SnippetType>Expansion</SnippetType>
</SnippetTypes>
</Header>

LaseccinDeclaracionespermitecrearparmetrosutilizadosenelSnippet.Paracadaparmetro,debecrearuna
seccin<Literal>yfacilitarunnombreparaelparmetroyunvalorpordefecto.

<Declarations>
<Literal>
nombreTabla</ID>
<Default>laTabla</Default>
- 10 -

Editions ENI Tous droits rservs Copie personnelle de jgajardo@santotomas.cl jgajardo@santotomas.cl

</Literal>
<Literal>
<ID>tipoTabla</ID>
<Default>tipoDeLaTabla</Default>
</Literal>
<Literal>
<ID>tamaoTabla</ID>
<Default>tamaoDeLaTabla</Default>
</Literal>
</Declarations>

LuegodebeindicarparaqulenguajeestprevistosuSnippet.

<Code Language="CSharp">

Y finalmente definir en la etiqueta CDATA el cdigo Snippet. En este cdigo, puede utilizar los parmetros del
Snippetenmarcndolosentredoscaracteres$.

<![CDATA[
$tipoTabla$[] $nombreTabla$;
$nombreTabla$ = new $tipoTabla$ [$tamaoTabla$];
int index;
for (index = 0; index < $nombreTabla$.Length; index++)
{
// insertar el cdigo de tratamiento de la tabla
}
]]>

Luego puede guardar el archivo y su Snippet est listo. Conviene ahora integrarlo en Visual Studio. Para ello,
activeelgestordeSnippetusandoelmenHerramientas Administradordefragmentosdecdigo.

Editions ENI Tous droits rservs Copie personnelle de jgajardo@santotomas.cl jgajardo@santotomas.cl

- 11 -

ElbotnImportarpermiteaadirsuSnippetalosyadisponiblesenVisualStudio.
DespusdehaberseleccionadoelarchivoquecontieneelSnippet,debeelegirlaseccinenlacualseguardar.

- 12 -

Editions ENI Tous droits rservs Copie personnelle de jgajardo@santotomas.cl jgajardo@santotomas.cl

SuSnippetestahoradisponibleeneleditordecdigo.

Slolequedapersonalizarelcdigogenerado.

b.Seguimientodelasmodificaciones
EsposiblevisualizarlasporcionesdecdigoqueyahansidomodificadasdesdelaejecucindeVisualStudio.Se
identificanlasmodificacionesconunbordedecolorqueapareceenelmargendeleditordecdigo.

Unbordeamarilloindicaquesehamodificadoelcdigoperoqueannohasidoguardado.

Unbordeverdeindicaquesehamodificadoyguardadoelcdigo.

Tambin puede renombrar un elemento y propagar automticamente la modificacin al resto del cdigo. El uso
tpicoconsisteencambiarelnombredeunavariableoclase.Ustednodeberenombrarlavariabledirectamenteen
elcdigo,sinoutilizarelcuadrodedilogovisualizadoutilizandolaopcinCambiarnombredelmencontextual
deleditordecdigosobreelnombreactualdelavariable.

Editions ENI Tous droits rservs Copie personnelle de jgajardo@santotomas.cl jgajardo@santotomas.cl

- 13 -

Sepuedeextenderlabsquedaparaefectuarlassustitucionesenloscomentariosyenlascadenasdecaracteres
activando las opciones correspondientes. Por defecto se muestra una vista previa de todas las modificaciones
previstasantesdequeseefectenrealmente.

Sepuedecancelaralgunasdeellasdesmarcandolacasillacorrespondienteenlalista.

Lamodificacinrealizadamedianteestecuadrodedilogorepercutesobreelconjuntodelcdigodondeseutiliza
lavariable.

c.Lasherramientasdeedicindecdigo
- 14 -

Editions ENI Tous droits rservs Copie personnelle de jgajardo@santotomas.cl jgajardo@santotomas.cl

LoseditoresdetextodeVisualStudiodisponendemuchasfuncionalidadesquepermitenfacilitarlasoperaciones
efectuadasconfrecuenciadurantelaescritura delcdigodeunaaplicacin.

Seleccindetexto
Como complemento de las funciones clsicas de selecin de texto y de copiar/pegar, el editor de Visual Studio
permite la seleccin de zonas rectangulares de texto manteniendo apretada la tecla [Alt] durante la seleccin.
Cuandoseintroduceluegoalgodecdigoenlaseleccin,seduplicasobrecadalneadelaseleccin.
Si,porejemplo,utilizaelmtodosiguiente,quevisualizaenlaconsolalosdatos deunapersona:

private void visualizacinResultados(Cliente c)


{
Console.Write("apellido:" + c.apellido);
Console.Write("nombre:" + c.nombre);
Console.Write("calle:" + c.calle);
Console.Write("cdigo postal:" + c.cdigoPostal);
Console.Write("ciudad:"+ c.ciudad);
Console.Write("tl:" + c.tl);
Console.Write("email:" + c.email);
}

Paramodificarestemtodoyescribirestosdatosenunarchivoenvezdevisualizarlosenlaconsola,slodebe
crearelarchivoyluegomodificartodaslasinstrucciones.Writeparaqueseapliquenalarchivocreado.Paraello,
aadasimplementelalneasiguienteparalacreacindelarchivo:

StreamWriter archivo=new StreamWriter("resultados");

Luegodebemodificarcadainstruccin Writeparaescribirhaciaelarchivo,ynohacialaconsola.Selecionepara
ellounazonarectangularquecontengatodaslaspalabrasconsolaeintroduzcalapalabraarchivo.

SesustituyeentonceslapalabraConsolaentodaslaslnasdelaseleccin.

Editions ENI Tous droits rservs Copie personnelle de jgajardo@santotomas.cl jgajardo@santotomas.cl

- 15 -

Tambinesposibleinsertartextosimultneamenteenvariaslneascreandounazonadeseleccinrectangularde
cerocaracteresdeanchoentodaslaslneasdondesedebeefectuarlainsercin.

Luegoseinsertaeltextointroducidoentodaslaslneasdelaseleccin.

Jerarquadellamadas
Lajerarquadellamadaspermitevisualizartodaslasllamadashaciaunmtodo,unapropiedadounconstructor,
as como las efectuadas desde este mtodo, propiedad o constructor. Se activa con la opcin Ver jerarqua de
llamadasdelmencontextualdisponibleenelelementoconcerniente.

- 16 -

Editions ENI Tous droits rservs Copie personnelle de jgajardo@santotomas.cl jgajardo@santotomas.cl

Sevisualizaentonceslaventanasiguiente.

Resaltadodelasreferencias
Cuandohaceclicenunsmboloenelcdigofuente,eleditorresaltatodaslasinstanciasdeestesmbolo.

Editions ENI Tous droits rservs Copie personnelle de jgajardo@santotomas.cl jgajardo@santotomas.cl

- 17 -

FuncionalidadGenerarapartirdelautilizacin
Duranteeldesarrollodeunaaplicacin,ocurreavecesqueseintentautilizarunelementoantesdesudeclaracin
posponiendo sta para ms tarde. Sin embargo,esta solucin tiene el inconveniente de no permitir realizar
pruebas hasta que todos los elementos utilizados hayan sido definidos. Tambin es frustrante para el
desarrolladorverdecenasdelneasdecdigosubrayadasenrojo.

EleditordeVisualStudioescapazdegenerarelcdigonecesarioparaloselementosquefaltan.Cuandoelratn
pasaporencimadelelementoreferido,apareceunbotnbajoesteelemento.

Al hacer clic en este botn aparece un men contextual con las opciones que permiten generar el cdigo que
puederesolverlosproblemasdetectados.

Lasopcionesdisponiblesenestemencontextualseadaptansegnlaubicacindelelementoenelquesteest
activado. En el ejemplo anterior, el trmino Cliente puede corresponder a un nombre de clase, enumeracin,
estructuraointerfaz.Slohacefaltacompletarelcuadrodedilogosiguienteparaqueelesqueletodecdigose
genere.

- 18 -

Editions ENI Tous droits rservs Copie personnelle de jgajardo@santotomas.cl jgajardo@santotomas.cl

Zoom
Estafuncionalidadpermiteefectuarunzoomhaciadelanteohaciaatrssobreunaventanadetexto.Sepuede
accederaellaaccionandolaruedadelratnmientrassemantienepulsadalatecla[Ctrl].

Editions ENI Tous droits rservs Copie personnelle de jgajardo@santotomas.cl jgajardo@santotomas.cl

- 19 -

You might also like