wiki:vsvinkkeja
Last modified 16 months ago Last modified on 2016-01-20 13:14:56

Vinkkejä Visual Studion käytöstä

0. 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.

1. Pikanäppäimet

  • ks. näppäinkomennot
  • Täydellinen lista VS2015 pikanäppäimistä
  • 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

2. Snippetit == "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.

3. 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.

3.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

3.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

4. Tiedostojen käsittely

4.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

4.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.

5. 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ä

5.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

6. VS 2012 Ulkoasun muokkaaminen

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

6. VS 2013 Ulkoasun muokkaaminen

  • uusia skinejä (mm VS2010):
  • Menun fontit pieneksi (eli ei FILE vaan File):
    • komentoriviltä regedit
    • etsi HKEY_CURRENT_USER\Software\Microsoft\VisualStudio\12.0\General\
    • 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)

7. Virheilmoituksia