Rider, Jypeli ja ComTest asennusohjeet
Tämän sivun ohjeilla asennetaan Jypeli-kehitystyökalut (JetBrains Rider ja Jypeli) sekä ComTest-laajennus Rideriin.
Aiheeseen liittyvät ohjeet:
1. Asennuksen vaiheet
- .NET ja Jypeli asennettu (linkki vie toiseen dokumenttiin)
- Aktivoi itsellesi JetBrains-opiskelijalisenssi
- Asenna Rider
- Testaa Jypeli
- Asenna ComTest
TODO: Tähän väliin .NET-asennusohjeet
2. Aktivoi itsellesi JetBrains-opiskelijalisenssi
Riderin käyttämiseen tarvitaan lisenssi.
Voit aktivoida maksuttoman opiskelijalisenssin käyttäen student.jyu.fi-sähköpostiosoitetta.
- Testaa, että student.jyu.fi-osoitteesi toimii, ja ota varmuuden vuoksi mahdollinen edelleenohjaus pois päältä. Huomioi, että uudelleenohjauksen deaktivoitumisessa on viivettä. Kannattaa lähettää itselleen testiposti jostain ulkopuolisesta osoitteesta (esim. Gmail tai Hotmail) ja katsoa tuleeko posti itselle perille. Jos posti ei tule perille, tarkista account.jyu.fi -> sähköpostiasetukset. Selvitä tarvittaessa Digipalveluiden (help.jyu.fi) kanssa missä vika on. Et voi edetä tässä ohjeessa, jos opiskelijasähköpostisi ei toimi.
- Siirry osoitteeseen https://www.jetbrains.com/community/education/#students
- Klikkaa Apply now.
- Täytä tiedot Apply with: University email address -lomakkeessa, ole tarkkana että annat student.jyu.fi-loppuisen opiskelijasähköpostiosoitteen. Hyväksy mahdolliset käyttöehdot. Klikkaa Apply for free products.
- Avaa yliopiston sähköpostisi, noudata JetBrainsin lähettämän vahvistusviestin ohjeita ja vahvista lisenssi.
- JetBrains pyytää linkittämään lisenssin JetBrains-tiliin. Tilin voinee luoda M365/Microsoft-tilin kautta valitsemalla Sign in with Microsoft ja yhdistämällä suoraan yliopiston sähköpostiin.
Lisenssi on voimassa vuoden, jonka jälkeen sen voi uusia.
Tutkintoon johtamattomassa koulutuksessa opiskeleva (sinulla ei ole student.jyu.fi-sähköpostiosoitetta, ts. opiskelet Jyväskylän yliopiston Avoimessa yliopistossa, tai erillisellä opinto-oikeudella) lähettää sähköpostilla alla olevan pyynnön osoitteeseen ohj1k24-opet@tim.jyu.fi. Saat lisenssin sähköpostiisi viimeistään seuraavana arkipäivänä.
Hei,
opiskelen Ohjelmointi 1 -kurssilla ei-tutkintoon johtavassa koulutuksessa.
Pyydän lisenssiä JetBrains Riderin käyttämistä varten.
Sähköpostiosoitteeni on: oma sähköposti tähän.
Terveisin, oma nimi
Muistathan myös, että Rideria voi käyttää 30 päivää kirjautumatta / ilman lisenssiä.
Vaihtoehtoisesti niin tutkinto-opiskelijat kuin muut opiskelijat voit käyttää myös maksutonta Visual Studio Communitya (vain Windows). Sen käyttämiseen tarvitaan Microsoft-tili (koulun tunnus tai privaattitunnus).
3. Rider
3.1 Lataaminen ja asentaminen
Lataa Rider klikkaamalla Download sivulla https://www.jetbrains.com/rider/
Käytä oletusasetuksia eli klikkaile Next ja lopuksi Install. Windowsissa Vesa asensi hakemistoon c:\devel\rider
.
MacOS - mistä tiedän minkä Riderin lataan?
- Klikkaa työpöydän vasemmasta yläreunasta ompun kuvaa
- Valitse "Tietoja tästä tietokonesta" (tms)
- Valitse Riderin asennuspaketti suorittimen mukaan. Jos suorittimen kohdalla lukee M1 tai M2, valitse ".dmg (Apple Silicon)". Jos taas suorittimen kohdalla lukee Intel, valitse ".dmg (Intel)".
Linux Ubuntuun asennuksen sai helpommin ottamalla Software & Updates -"kaupasta".
3.2 Ensimmäinen käynnistys
Käynnistä Rider. Hyväksy käyttöehdot.
Näppäinoikoteiden asetuksiksi kannattaa valita Visual Studio 2022. Näppäinoikoteitä voi säätää myös jälkikäteen kohdasta Settings -> Keymap.
Plugineja ei tarvitse ladata.
Kirjaudu sisään JetBrain-käyttäjänä käyttäen sitä tiliä, jota käytit tämän ohjeen kohdassa 2. Aktivoi lisenssi. Voit kuitenkin käyttää Rideria 30 päivää ilman lisenssiä (esim. jos lisenssin saamisessa on ongelmia).
3.3 Kokeile toimiiko
Valitse New Solution
. Tämän jälkeen .NET / .NET Core
alta valitse Console Application
ja paina Create
. Korvaa Program.cs
tiedoston sisältö seuraavalla:
ja valitse ylävalikosta Run
. Riderin alaosaan pitäisi avautua konsoli-ikkuna, jossa lukee Riderin suorittama komento ohjelman ajamiseksi ja sen jälkeen "Toimii :-)".
Solutionin ja projektien luomiseksi on yksityiskohtaisemmat ohjeet täällä.
4. Jypeli
4.1 Asentaminen
Jos et jo aikaisemmissa vaiheissa asentanut Jypeliä, niin mene komentoriville ja kirjoita
dotnet new install Jypeli.Templates
Jos ylempi ohje ei toimi tai olet yliopiston koneella, kirjoita
dotnet new --install Jypeli.Templates
Jos on ongelmia, katso auttaako jokin kohdan 7 ratkaisuvaihtoehdoista.
4.2 Kokeile toimiiko
- Käynnistä Rider
- Valitse
New Solution
, valitseTasohyppelypeli
(yliopiston koneilla valitse .NET versioksi 6.0) ja painaCreate
. Ensimmäisellä kerralla projektin luomisessa saattaa hieman kestää. - Klikkaa ylhäällä olevaa vihreää kolmiota jonka vieressä lukee
Run
tai käytä näppäinoikotietä (näet näppäinoikotien pitäessäsi kursoria Run-kuvakkeen päällä). - Nyt pitäisi aueta ikkuna, jossa on nuolinäppäimillä toimiva norsupeli. Jos näin kävi, Jypelin asennus onnistui.
Jypeli vaatii, että sinulla on .NET asennettuna. Nämä sinulla pitäisi olla, jos olet seurannut asennusohjeita.
Kun luot projektin, Rider käyttää oletuksena aina uusinta Jypelin versiota.
Mikäli haluat vaihtaa olemassa olevan projektin käyttämän Jypelin uudempaan versioon (tai mahdollisissa ongelmatilanteissa jopa vanhempaan versioon), toimi seuraavasti:
- Klikkaa projektisi Solution Explorerista
Dependencies
-valikkoa hiiren oikealla - Valitse
Manage NuGet Packages
- Aukeavasta valikosta näet käytössä olevan Jypelin version, sekä uusimman saatavilla olevan
- Oikeassa reunassa olevasta näkymästä voit päivittää uusimpaan versioon, tai voit
Version
valikon kautta vaihtaa version johonkin muuhun.
5. Rider-asetukset
Oletusasetukset koodin muotoilulle ja analysoinnille ovat tämän kurssin näkökulmasta usein turhan aggressiivisia (ts. auttavat turhan innokkaasti tai väärään suuntaan), joten muutetaan asetuksia tämän kurssin suositusten mukaisiksi.
Jos haluat varmuuskopioida nykyiset asetuksesi, tee se valikosta File \(\rightarrow\) Manage IDE Settings \(\rightarrow\) Export Settings...
- Lataa asetuspaketti (settings.zip)
- Mene Riderissa File \(\rightarrow\) Manage IDE Settings \(\rightarrow\) Import Settings...
- Etsi ja valitse äsken haettu tiedosto
- Klikkaa OK, sitten Import and Restart
Vaihtoehtoisesti voit mukauttaa asetuksia yksitellen alla olevien ohjeiden mukaisesti.
Pro tip: Jos käytät Rideria usealla tietokoneella, voit synkronoida asetuksesi valitsemalla File \(\rightarrow\) Manage IDE Settings \(\rightarrow\) Settings sync.
Seuraavassa on muutamia esimerkkejä varoituksista. joita settings.zipissä on otettu pois päältä. Näistä varoituksista on enemmänkin haittaa kuin hyötyä tämän kurssin kannalta. Ajatus on, että on parempi, että varoituksia tulee vain niistä asioista, jotka on oikeasti syytä ottaa huomioon. Kun opit ohjelmointia lisää, on noista edistyneemmistä varoituksistakin enemmän hyötyä.
Oikoluku: Poistetaan valitukset suomenkielisistä nimistä:
File/Settings
, kirjoita hakukentäänspell
ja meneReSpeller
ja ota senEnable
pois.Huomatus nimiavaruudesta: Kurssilla ei aina käytetä nimiavaruuksia: kirjoita asetusten hakukentään
namespace
ja meneInspection Settings/Inspection Severity/C#
ja ota ruksi pois kohdastaNamespace does not correspond to file location
Luokasta ole luotu oliota: Kurssilla luokkia käytetään (myös) tallentamaan joukko staattisia aliohjelmia, joten tämä varoitus ei ole relevantti. Kirjoita hakukentään
instantiated
ja ota ruksi pois kohdastaClass never instantiated/Non-private accessibility
kirjoita hakukentäänprivate
ja ota ruksi pois kohdastaNon-private accessibility
Metodi voisi olla private: Yleiskäyttöiseksi mahdolliset funktiot kannattaa tehdä julkisiksi, mutta koska niitä ei ole vielä mistään kutsuttu, tätä ei huomata.
Luokkaa ei ole määritelty nimiavaruudessa: Koska kursilla ei aina käytetä: Jos koodissa on jossakin kohti alleviivattuna
class
-sanan jälkeinen nimi, niin mene sen nimen alkuun, paina nimeä ja vasemmalle sytty vasaran kuva. Klikkaa vasaraa ja valitseInspections: 'Declare...'
kuten kuvassa allavar
-sanan käyttö: Pyritään oppimaan tyyppien merkitystä. Toimi kuten edellä silloin kun ehdotetaan esimerkiksiint ika
tyyppisessä lausessaint
sanan kohdalle ettäuse var
, eli poista tämä huomautus käytöstä.Settings > Editor > General > Code Completion > Pois ruksi "Preselect the best match to insert it by pressing dot, parantheses, and other keys"
Settings > Editor > Inlay Hints > Pois ruksi "Enable Inlay Hints in .NET languages"
Muita huomautuksia joita saa poistaa:
- attribuuttien nimiin vaatii alleviivan alkuun, tämä ei ole kurssin koodauskäytänteiden mukaista (eli nimentään
pelaaja
, ei_pelaaja
) - tarvittaessa vakioiden nimeäminen (kurssilla on käytetty muotoa
VAKIO
, Rider haluaaVakio
=> saa vaihtaa valituksen pois)- muista kuitenkin välttää turhia attribuutteja (sitten kun tiedät mitä attribuutti tarkoittaa :-)
- attribuuttien nimiin vaatii alleviivan alkuun, tämä ei ole kurssin koodauskäytänteiden mukaista (eli nimentään
Tässä on lueteltu muutamia asetuksia, joita luentojen esimerkeissä käytetään tai on käytetty. Jokainen voi toki rakennella ympäristöstään haluamansa, mutta näistä voi olla sinulle hyötyä jos haluat seurata täsmälleen luennolla käytettyjä asetuksia.
Siirrä alaosan paneelit yhteen reunaan. Ks. esimerkki. Tämän ansiosta esimerkiksi tulosteita on helpompi tarkastella hieman leveämmässä näkymässä. Joissakin tilanteissa (esimerkiksi debugatessa) joitakin paneeleja voi olla hyvä siirtää tarvittaessa oikeallekin. Voit myös piilottaa turhia paneeleja näkyviltä kun klikkaat hiiren oikealla kuvakkeen päällä ja sitten Hide.
Paneeleita voi "unpinnata" eli piilottaa näkyvistä silloin kun ne eivät ole aktiivisia. Klikkaa paneelista kolmea pistettä ja valitse View Mode -> Dock Unpinned. Jos unpinnaat esimerkiksi Debug-paneelin, voit ajaa ConsoleMain-sovelluksen (Debug-tilassa), ja painaa ajon jälkeen Esc-näppäintä. Paneeli sulkeutuu ja fokus siirtyy takaisin editoriin. (Ei tarvitse koskea hiireen, JES! :))
Piilota onnistuneen käännöksen "balloon"-ilmoitus. Omasta mielestäni tämä ilmoitus on täysin turha ja vain tiellä. Valitse Settings \(\rightarrow\) Notifications \(\rightarrow\) Build messages \(\rightarrow\) No popup. Suosittelen myös poistamaan valinnan kohdasta Show in tool window, koska harvemmin on tarvetta tietää tarkkoja kellonaikoja milloin käännös on onnistunut tai epäonnistunut.
Koko ruudun tilan saat käyntiin View \(\rightarrow\) Appearance \(\rightarrow\) Enter Full Screen. Minulla näppäinoikotie on Ctrl+Shift+Enter, mutta kuten mitä tahansa näppäinoikoteitä, tätäkin voi muuttaa kohdasta Settings \(\rightarrow\) Keymap. Myös Distraction Free Mode on mielestäni mukava, vaikkakin se piilottaa jotain hyviäkin käyttöliittymäelementtejä, kuten koodialueiden supistamiseen liittyvät pikkukolmiot.
Ns. Uuden käyttöliittymän saat valittua Settings \(\rightarrow\) New UI \(\rightarrow\) Enable New UI. On kuitenkin täysin makuasia kummasta tykkää enemmän, vanhasta vai uudesta UI:sta.
Debug/release-valikon näyttäminen New UI:ssa. Jos käytät uutta käyttöliittymävaihtoehtoa (Settings New UI), kannattaa ns. debug/release-käännösvalikko ottaa käyttöön tässä ohjeessa kuvatulla tavalla.
Ulkoisen konsoli-ikkunan käyttäminen: En itse tätä käytä, mutta jos haluat konsoliohjelman aukeavan ulkoiseen konsoliin katso How to launch console app in external window?
6. Sisällön tuominen projektiin (content)
Kuvat ja äänet lisätään peliprojektin Content-kansioon, joka näkyy editorin tiedostolistauksessa.
Content-kansion voi luoda klikkaamalla hiiren oikealla projektia -> Add -> Directory
- Lisää tiedosto klikkaamalla kansiota hiiren oikealla napilla -> Add -> Add Existing Item
- Valitse tiedosto(t) jonka haluat lisätä ja paina ok.
- Valitse Copy.
- Klikkaa tuomaasi tiedostoa Content-kansiossa hiiren oikealla ja valitse Properties
- Vaihda Copy to output directory -kohtaan "Copy if newer"
TODO opettajille: Tämä ei ole asennus- vaan käyttöohje
—7. Ongelmia
7.1 Rider-lisenssin uudelleenaktivointi
Opiskelukäyttöön tarkoitettu lisenssi täytyy aika ajoin uudelleenaktivoida kohdasta Help -> Manage licenses. Seuraa alla olevan videon ohjeita.
7.2 dotnet not found / command not found: dotnet
Katso .NET-asennusohjeet
7.3 Linux
Jos komentoriviltä tulee:
A fatal error occurred. The folder [/usr/share/dotnet/host/fxr] does not exist
7.4 Jypeli-peli ei käynnisty, esim. You must install or update .NET
Etene kuten kohdassa 7.1.
7.5 Näppäinkomennot eivät toimi
Iso osa editorin näppäinoikoteistä (TODO: Esimerkkejä?) ei toimi sellaisenaan muilla kuin Yhdysvaltalaisilla näppäimistöillä. On siis tarpeen valita toimimattomille suosikkikomennoillesi uudet näppäinoikotiet asetuksista: File → Settings → Keymap → Editor actions
.
7.6 Silk.NET.Core.Loader.SymbolLoadingException' occurred in Silk.NET.Core.dll: 'Native symbol not found (Symbol: glfwWindowHintString)
Yllä olevan virheviestin syynä on todennäköisimmin että sinulla ei ole GLFW asennettuna, tai se on liian vanha. Monen Linux-distron mukana tulee versio 3.2, mutta Jypeli vaatii vähintään version 3.3.
Asenna uusin GLFW-versio käyttämäsi paketinhallinnan avulla.
7.7 System.PlatformNotSupportedException: GLFW is not supported on this platform...
Voi olla että tietokoneellasi ei ole näytönohjaimen ajureita asennettuna. Mene Windowsin asetukset -> Päivitykset -> Valinnaiset (päivitä-nappulan alapuolella) -> Ajurit. Asenna sieltä jotenkin näyttöön liittyvä ajuri, esimerkiksi "Intel Display Driver"
Jos ajuria ei löydy ja käytät kannettavaa, todennäköisesti sinulla on integroitu näytöonohjain, jolloin ajuri voi löytyä prosessorin valmistajan (Intel tai AMD) sivulta. Hae ajurit Googlesta esimerkiksi hakusanalla Intel graphics driver
tai AMD graphics driver
prosessorin valmistajasta riippuen.
7.8 Muita ongelmia?
Jos vastaan tuli jokin muu ongelma jota ei tällä sivulla ole raportoitu, ilmoita siitä jotta ongelma ja korjaus voidaan dokumentoida tänne.
8. ComTest
ComTest-testaustyökalua tarvitaan neljännestä demoviikosta alkaen.
Riderille on tarjolla toistaiseksi testikäytössä oleva ComTest-laajennos
Tiedoksi (älä avaa jos et halua tutkia sisältö): Pluginin sivu JetBrains pluginrepossa:
https://plugins.jetbrains.com/plugin/20223-comtest-rider
Plugin sisältää valmiiksi oikean ComTestin eikä vaadi muuta esiasennusta taikka konfigurointia.
8.1 Pluginin asentaminen
- Avaa Rider ja luo
ConsoleMain
projekti - Mene File | Settings | Plugins:
- Valitse Marketplace-välilehti ja hae hakusanalla
ComTest
- Valitse Comtest Runner -pluginin kohdalta Install.
- Paina Save
- Käynnistä Rider uudelleen.
Jatkossa päivittäminen onnistuu samasta valikosta, mutta Install
-painikkeen sijaan näkyy Update
.
8.2 ComTest-testipohjan lisääminen koodiin
TODO: Tämä ei ole asennus- vaan käyttöohje
—Plugin lisää uuden comt
-pohjan, jolla voi generoida valmiin pohjan yksikkötestien kirjoittamiselle.
Käyttö:
Kirjoita testattavalle funktiolle runko, esimerkiksi
Siirrä kursori rungon yläpuolelle ja kirjoita
///
, jolloin Rider generoi valmiin rungon funktion dokumentaatiolle:Lisää uusi rivi dokumentaation alapuolelle:
Kirjoita
comt
ja varmista, että ehdotuksissa näkyy vastaava pohja:Paina Enter. Dokumentaation loppuun ilmestyy valmis pohja ComTest-testille:
8.3 Testikoodin generointi ja ajaminen
Valitse Tests | ComTest: Generate Tests from Solution varsinaisen testikoodin generointiin tehtyihin ComTest-testeihin perustuen. Tämä valinta generoi (tai päivittää mikäli testit olivat muuttuneet) ja myös ajaa kaikki testit solutionissa.
Voit myös pelkästään ajaa testit (ilman generointia / päivitystä) valinnalla Tests | Run All Tests from Solution
Vinkki: Nopeinta on käyttää pikanäppäimiä:
- Generoi/päivitä ja aja testit komennolla
Ctrl + Shift + T
(Windows) tai⇧ + ⌘ + T
(macOS) - Testien ajo manuaalisesti:
Ctrl + U, L
(Windows) tai⌘ + ;
(macOS)
8.3.1 Oman pikanäppäimen tekeminen
Vesa: Koska mulla ei toimi tuo Ctrl + Shift + T
ja haluan, että ajon voisi suorittaa Ctrl+Q
, niin vaihdan pikanäppäintä:
File/Settings
- hakusanaksi
comt
- Valitaan löytyvistä ehdotuksista
ComTest: Generate Test from Solution
tuplaklikkaamalla - poistetaan vanha näppäin yhdistelmä (
Remove...
) - tuplaklikataan uudelleen
Add Keyboard Shortcut
- Painetaan sinisella kehystetyssä laatikossa haluttua näppäinyhdistelmää (nyt siis
Ctrl+Q
) OK/Save
8.4 Lähdekoodi
Pluginin lähdekoodi: https://gitlab.jyu.fi/tie/tools/comtest.intellij
9. Muita Rider ohjeita
These are the current permissions for this document; please modify if needed. You can always modify these permissions from the manage page.