Vinkkejä Visual Studion käytöstä

1. Yleistä Visual Studion käytöstä

Katso myös

Jos ajat konsolisovellusta F5, niin tulos vaan vilahtaa näytössä. Vaihtoehtoja:

  - aja `Ctrl-F5`
  - tai laitat `Breakpoint` pääohjelman viimeiseen aaltosulkuun.

2. Pikanäppäimet

  • ks. näppäinkomennot
  • VS2019 pikanäppäimet Windows, Mac
  • yksi tärkeimmistä, kirjoita jotakin ja paina Ctrl+välilyönti, niin täydentää sanan
  • jos editori näyttää virhettä, niin Ctrl+. antaa korjausvaihtoehtoja
  • voit tehdä myös omia näppäinkomentoja. Esimerkiksi tehdään Ctrl+2:sta näppäin joka asettaa aloitusprojektin:
    1. Tools/Options/Environment/Keyboard
    2. Esti haluamasi komento kirjoittamalle Show Commands Containing: laatikkoon haluamasi toiminto, tässä tapauskessa esim: Startup
    3. Valiste oikea komento (nyt Project.SetasStartUpProject
    4. Mene laatikkoon: Press shortcut keys: ja paina siellä haluamaasi pikanäppäinyhdistelmää (esim Ctrl+2).
    5. Paina Assign ja sitten OK

3. Ikkunat

Visual Studiossa voi eri ikkunoita siirrellä hiirellä paikasta toiseen. Kun ikkunaa siirtää, tulee erilaisia tähtäimiä, joilla voi valita mihin ikkuna tulee sijoittumaan. Tähtäimen keskelle pudottaminen tekee ikkunasta sen alueen osalta tabeihin menevän.

3.1 Näkymät

Ikkunanäkymä (siis niiden määrä ja sijoittelu) voi vaihdella tiloittain. Kurssilla tärkeimät tilat ovat muokkaus ja debug. Oletuksena ollaan muokkaustilassa ja debugtilaan päästään kun ohjelma pysähtyy breakpointtiin.

3.2 Ikkunoiden hakeminen

Ikkunat voi helposti vahigossa hukata ja silloin niitä voi etsiä seuraavista paikoista:

  • View
  • Debug/Windows

Tärkeimmät ikkunat (suluissa mistä menusta ikkunan löytää jos se on hukkunut):

Muokkaustila:

  • peruseditointialue, tässäkin voi tiedostoja siirtää rinnakkain katseltavaksi tai irroitttaa kokonaan omiksi ikkunoikseen
  • Solution Explorer (View) - näyttää solutionin rakenteen
  • Output (View) - näyttää ohjelman tulosteen
  • Error List (View) - ohjelman käännösvirheet
  • Test Explorer (View) - testien tulokset

Debug-tila:

  • Locals (Debug/Windows) - näyttää näkyvyysaluuen lokaalit muuttujat
  • Autos (Debug/Windows) - näytää Visual Studion mielestä oleelliset muuttujat
  • Watch (Debug/Windows) - itse katseltavaksi lisätyt muuttujat
  • Call Stack (Debug/Windows) - ohjelman kutsupino

4. Snippetit

Snippeteillä voit lisätä koodiin haluamaasi tekstiä. * Uuden snippetin voit tehdä esimerkiksi ottamalla alla olevan malliksi.

<?xml version="1.0" encoding="utf-8" ?>
<CodeSnippets  xmlns="http://schemas.microsoft.com/VisualStudio/2005/CodeSnippet">
  <CodeSnippet Format="1.0.0">
    <Header>
      <Title>Braces</Title>
      <Shortcut>z</Shortcut>
      <Description>Lisaa aaltosulut ja kursori niiden valiin.</Description>
      <Author>Vesa Lappalainen</Author>
      <SnippetTypes>
        <SnippetType>Expansion</SnippetType>
        <SnippetType>SurroundsWith</SnippetType>
      </SnippetTypes>
    </Header>
    <Snippet>
      <Declarations>
        <Literal>
          <ID>message</ID>
          <ToolTip>Lisaa alku- ja loppusulku</ToolTip>
        </Literal>
      </Declarations>
      <Code Language="csharp">
        <![CDATA[ {
$selected$ $end$
}]]>
      </Code>
    </Snippet>
  </CodeSnippet>
</CodeSnippets>
  • Talleta tiedosto haluamallasi nimellä (esimerkki vaikka sulut.snippet) hakemistoon
...\My Documents\Visual Studio 2010\Code Snippets\Visual C#\My Code Snippets        
  • Tämä malli toimii niin, että kirjoitat z ja painat Tab Tab niin se tekee sinulle alkusulun { ja loppusulun } ja laittaa kursorin niiden väliin.
  • HUOM! Jos snippetin kirjoittaa editorilla joka ei tue UTF8-merkistöä, niin snippetin sisälle EI SAA kirjoittaa skandeja. Siksi em. esimerkissä on skandit korvattu a:lla ja o:lla.

5. Makrot

Jos jotakin ei voi tehdä snipetillä, voi tehdä itselleen makron, joka tekee vielä enemmän asioita. Makrot eivät valitettavasti (kai?) toimi Express-versiolla eikä VS2012-VS2015.

  • VS2015 saa auttava makrot: Text Macros for Visual Studio 2012/2013/2015, mutta ei yhtä hyviä kuin alla olevassa ohjeessa. Ei voi tallentaa makroja nimelle.
  • voi kokeilla myös VSMacros.vsix VS2015 varten muokattua versiota, mutta toiminnasta ei ole 100% takeita. Osittain toimii ja olisi monipuolinen.

5.1 Makrojen kirjoittaminen

Luento 9b, 15:06

  • Tehdään esimerkiksi makro, joka luo ohjelmaan tekijän nimen ja päivämäärän
  • Avaa makroikkunan Alt+F8
  • Avaa MyMacros ja tuplaklikaa Module1 ja kirjoita sen sisään esim koodi (Visual Basicia):
Public Module Module1
    Sub PrintAuthorAndDate()
        If (Not IsNothing(DTE.ActiveDocument)) Then
            Dim selection As TextSelection = DTE.ActiveDocument.Selection
            selection.Insert("/// @author  Vesa Lappalainen" + Environment.NewLine + _
                             "/// @version " + Format(DateTime.Now, "dd.MM.yyyy") + Environment.NewLine + _
                             "///")
            DTE.ExecuteCommand("Edit.FormatDocument")
        End If
    End Sub


End Module
  • Tallenna
  • Lisää pikanäppäimeen:
  • Tools/Options/Environment/Keyboard (Visual Studion valikoista, ei macroeditorin!)
  • Kirjoita kohtaan Show commands containing riittävän paljon makron nimestä
  • valitse oikea makro
  • paina haluamaasi näppäinyhdistelmää Press shortcut keys: -kentässä.
  • katso ettei mene päällekkäin minkään tärkeän kanssa
  • muista painaa Assign
  • nyt voi suorittaa aina tuon toimenpiteen valitsemallasi oikanäppäimellä

ComTestin rungon tekemisen voisi hoitaa seuraavasti: * kirjoita makro:

    Sub ComTestBody()
        DTE.ActiveDocument.Selection.NewLine()
        DTE.ActiveDocument.Selection.DeleteLeft(4)
        DTE.ActiveDocument.Selection.Text = "comt"
        DTE.ExecuteCommand("Edit.InsertTab")
        DTE.ExecuteCommand("Edit.InsertTab")
    End Sub
  • määritä tuolle makrolle pikanäppäin

5.2 Makrojen nauhoittaminen

  • kätevä tapa opetella makrojen tekemistä on nauhoittaa niitä:
  • Aloita nauhoitus: Tools/Macros/Record TemporaryMacro
  • tee jotakin temppuja, joita haluat toistaa
  • lopeta nauhoitus: Tools/Macros/Stop recording
  • talleta nauhoitus: Tools/Macros/Save TempraryMacro
  • katso mitä koodia makroon tuli
  • kirjoita vastaavat omaan makroosi sopivasti muutettuna

6. Tiedostojen käsittely

6.1 Saman tiedoston käyttö uudelleen

  • joskus voi olla tarvetta käyttää jo kerran tehtyä koodia uudelleen toisessa projektissa/solutionissa. Tällöin on järkevää että uudelleenkäytettävään koodiin ei ole kirjoitettu pääohjelmaa
  • tiedoston linkittäminen projektiin

6.2 Monta Main-funktiota

  • Jos projektiin on liitetty paljon .cs-tiedostoja jolloin voi tulla monta Mainia, niin projektin ominaisuuksista "startup object" -pudotusvalikosta voi valita minkä luokan Mainia käytetään.

7. Templatet

Voit tehdä itsellesi uusia projektimalleja (Project Template), joilla samanlaisen projetin aloittaminen on helppoa.

  1. Luo uusi projekti jossa laitat kaiken niin kuin haluat niiden oletuksena olevan
  2. Ota File/Export Template ja täytä kohdat.
  3. Nyt sinulla on seuraavaa New Project varten valmis pohja käytössä

7.1 Valmiita templateja kurssille

Jypelin mukana tulee sitä varten olevat projektimallit.

Voit tehdä omia projektimalleja tai kopioida muiden tekemiä (esimerkiksi ConsoleMain) allaoleviin kansioihin.

C:\Users\vesal\Documents\Visual Studio 2010\Templates\ProjectTemplates
  tai suomalaisessa:
C:\Käyttäjät\vesal\Tiedostot\Visual Studio 2010\Templates\ProjectTemplates
  • Tai jos haluat, että näkyy Jypeli-projektimallien kanssa samassa paikassa, niin laita kansioksi
C:\Users\vesal\Documents\Visual Studio 2010\Templates\ProjectTemplates\Visual C#\Jypeli
  • katso mallia templatesta ConsoleMain - hakemistosta ja matki sitä kun teet uusia tai muokkaat tallentamalla syntynyttä "yleisemmäksi".

8. VS 2012 Ulkoasun muokkaaminen

  • uusia skinejä (mm VS2010):
  • Menun fontit pieneksi (eli ei FILE vaan File):
    • komentoriviltä regedit
    • etsi HKEY_CURRENT_USER\11.0
    • Edit/New/DWORD (32-bit) Value
    • nimeksi SuppressUppercaseConversion ja arvoksi 1

9. VS 2013 Ulkoasun muokkaaminen

  • uusia skinejä (mm VS2010):
  • Menun fontit pieneksi (eli ei FILE vaan File):
    • komentoriviltä regedit
    • etsi HKEY_CURRENT_USER\12.0
    • Edit/New/DWORD (32-bit) Value
    • nimeksi SuppressUppercaseConversion ja arvoksi 1
  • Kun olet asentanut VS2013, ei enää WP7 jutut toimi VS2010:ssä. Silloin pitää tehdä seuraavaa:
    • kopioi
C:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\IDE\devenv.exe.config
  vaikka `c:\temp`-hakemistoon
- lisää siihen `assembleBinding` lohkon loppuun
<dependentAssembly>
  <assemblyIdentity name="Microsoft.Build.Framework" publicKeyToken="b03f5f7f11d50a3a" culture="neutral"/>
  <bindingRedirect oldVersion="12.0.0.0" newVersion="4.0.0.0"/>
</dependentAssembly>
- kopioi muutettu tiedosto vanhan päälle (voit joutua muuttamaan ko tiedoston oikeuksia jotta saat kopioida)

10. Virheilmoituksia

These are the current permissions for this document; please modify if needed. You can always modify these permissions from the manage page.