The page has been modified since the last reload. Refresh now?

There are {{ pendingUpdatesCount() }} pending paragraph updates.

Vinkkejä Visual Studion käytöstä

{}

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.
{}

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
{}

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.
{}

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.
{}

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
{}

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
{}

Tiedostojen käsittely

{}

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
{}

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.
{}

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ä
{}

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
{}

VS 2012 Ulkoasun muokkaaminen

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

VS 2013 Ulkoasun muokkaaminen

  • uusia skinejä (mm VS2010):
  • Menun fontit pieneksi (eli ei FILE vaan File):
    • komentoriviltä regedit
    • etsi HKEY_CURRENT_USER2.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)
{}

Virheilmoituksia