Mustand: sisu ei ole veel tehniliselt ega keeleliselt täielikult kontrollitud ega toimetatud.

Peatüki vaade

Linux/Unix/macOS käsurea kiirõpik

Praegu loed peatükki IDE-d ja arenduskeskkonnad, mis kuulub osasse Osa V: Arendus ja töövood.

IDE-d ja arenduskeskkonnad

Loogika

Arenduskeskkond on tervik, mitte ainult tekstiredaktor. Terminal, Git, keelekeskkond ja vajadusel Docker või kaugühendus peavad töötama koos.

Kiirülevaade

Eesmärk on panna terminal, Git, interpreter ja vajadusel konteinerid sama projekti koos nägema.

Kontroll või valikMilleksMida tavaliselt näed
--version käsudkontrolli tööriista olemasoluüks lühike versioonirida
IDE interpretervali projekti Python, Node vmsvalitud keskkond IDE seadetes
sisseehitatud terminaljooksuta käske projekti kontekstissama töökaust ja projektifailid
devcontainer või Dockeranna projektile eraldi käivituskeskkondkonteineri terminal ja tööriistad
puuduv tööriistvajab paigaldust või PATH parandust“command not found” laadne viga

Tüüpilised algaja vead

  • arvatakse, et IDE “teab ise”, millist Pythoni või Node'i kasutada
  • terminal ja IDE kasutavad tegelikult eri keskkondi
  • proovitakse korraga liiga palju tööriistu, kuigi alguses piisab lihtsast tervikust

Kiirspikker

  • python3 --version kontrolli Pythoni olemasolu
  • python3 -m pip --version kontrolli pip-i olemasolu
  • node --version kontrolli Node.js-i olemasolu
  • npm --version kontrolli npm-i olemasolu
  • git --version kontrolli Git-i olemasolu
  • docker --version kontrolli Dockeri olemasolu

Praktiliselt tähendab see:

  • terminal peab olema käepärast
  • Git peab olema kasutatav
  • projekti Python või Node keskkond peab olema õigesti valitud
  • vajadusel peab IDE oskama töötada Dockeriga või kaugmasinaga

Soovitatav lähtekoht

Algajale on tavaliselt hea kombinatsioon:

  • terminal
  • üks kerge tekstiredaktor või IDE
  • Git
  • Python või muu põhitööriist

Levinud valikud

  • VS Code: väga levinud, laiendatav, hea Remote SSH tugi
  • PyCharm: tugev Pythoni tugi
  • Vim või Neovim: kiire klaviatuuripõhine töö
  • JetBrainsi tööriistad üldisemalt: tugev projektitugi

Mida IDE-s jälgida

  • sisseehitatud terminal
  • Git-i integratsioon
  • projekti virtuaalkeskkond
  • Dockeri tugi
  • kaugühenduste tugi

VS Code ja arenduskonteinerid

Kui projekt kasutab Dockerit, on järgmine samm sageli arenduskonteiner.

Selle põhimõte on:

  • projektifailid jäävad sinu masinasse
  • VS Code avab sama projekti Dockeri konteineri sees
  • terminal, interpreter ja tööriistad jooksevad konteineris

See aitab eriti siis, kui:

  • projekt vajab kindlat Linuxi keskkonda
  • mitmel arendajal peab olema sama töölaud
  • hostmasinat ei taha liigsete tööriistadega täita

Lühidalt:

  • venv aitab Pythoni pakettidega
  • Docker aitab kogu keskkonnaga
  • arenduskonteiner ühendab selle IDE kasutusmugavusega

Minimaalne devcontainer.json

Väga väike näide:

.devcontainer/devcontainer.json


{
  "name": "Python Dev Container",
  "image": "python:3.13-slim",
  "workspaceFolder": "/workspace",
  "mounts": [
    "source=${localWorkspaceFolder},target=/workspace,type=bind"
  ],
  "postCreateCommand": "python -m pip install -r requirements.txt",
  "customizations": {
    "vscode": {
      "extensions": [
        "ms-python.python",
        "ms-python.vscode-pylance"
      ]
    }
  }
}

Mida see tähendab:

  • kasutatakse olemasolevat Pythoni image'it
  • kohalik projekt mount'itakse /workspace alla
  • pärast loomist paigaldatakse sõltuvused
  • VS Code saab automaatselt vajalikud laiendused

Tüüpiline töövoog arenduskonteineriga

  1. paigalda VS Code'is laiendus Dev Containers
  2. ava projektikaust
  3. vali käsk Dev Containers: Reopen in Container
  4. oota, kuni konteiner ehitatakse või käivitatakse
  5. tööta edasi nagu tavaliselt, aga IDE terminal on nüüd konteineri sees

Hea mõte on jälgida:

  • kus jookseb Python või Node
  • kus tehakse pip install või npm install
  • kas avatud terminal on hostis või konteineris

Millal eelistada arenduskonteinerit

Arenduskonteiner on eriti hea siis, kui:

  • projektis on Docker niikuinii olemas
  • tahad, et terve tiim kasutaks sama arenduskeskkonda
  • kasutad palju süsteemipakette või teenuseid

Kui projekt on väga väike ja puhas, võib olla lihtsam:

  • kasutada lihtsalt venv-i
  • või jooksutada üksikuid käske bind mount'iga konteineris

Seos tavalise Dockeri arendusega

Arenduskonteiner ei asenda Dockeri põhimõtteid, vaid peidab osa käske sinu eest ära.

Sama loogika jääb alles:

  • kood on hostmasinas
  • konteiner annab keskkonna
  • mount ühendab need kaks

Kui saad käsureal aru:

  • docker run -v "$PWD":/app ...
  • docker compose up
  • docker compose exec app bash

siis on sul palju lihtsam mõista ka IDE arenduskonteinereid.

Käivita need käsud

Kontrolli, kus Python süsteemist leitakse:


command -v python3
python3 --version
python3 -m pip --version

Kontrolli, kas Git ja Docker on saadaval:


git --version
docker --version

Kontrolli Node.js ja npm olemasolu:


node --version
npm --version

Pythoni töövoog IDE-s

Pythoni projektis tasub tavaliselt siduda IDE konkreetse virtuaalkeskkonnaga:

  1. loo projektis .venv
  2. vali IDE-s interpreteerijaks selle keskkonna Python
  3. paigalda sõltuvused sinna, mitte suvaliselt süsteemi

Node.js ja npm töövoog IDE-s

JavaScripti või TypeScripti projektis tasub jälgida:

  • kas projektis on package.json
  • kas sõltuvused on paigaldatud käsuga npm install
  • millised skriptid on kirjas plokis scripts

Tüüpilised käsud:


npm install
npm run dev
npm test

Minitest

  1. Pane kirja, millist redaktorit või IDE-d sa kasutad.
  2. Kontrolli, kas IDE terminal kasutab sama shelli mis tavaline terminal.
  3. Uuri, kuidas selles IDE-s Git commit'i teha.
  4. Kontrolli, kuidas valida IDE-s Pythoni interpreter või Node.js projekt.
  5. Kui kasutad VS Code'i, uuri, kus menüüs on Reopen in Container.

Peatüki täisspikker

Edasijõudnu

Eesmärk

hea arenduskeskkond tähendab, et terminal, Git, interpreter ja vajadusel konteiner osutavad samale projektile, mitte eri maailmadele.

Kontrollid ja valikud

  • python3 --versionkontrolli Pythonit
  • python3 -m pip --versionkontrolli pip-i
  • git --versionkontrolli Git-i
  • docker --versionkontrolli Dockerit
  • node --versionkontrolli Node'i
  • npm --versionkontrolli npm-i

Olulised mõisted

  • interpretertegelik käivitaja
  • sisseehitatud terminalsama projektivaade
  • Remote SSHtööta kaugmasinas
  • devcontainerIDE konteineris