Koodinpätkä-liitännäinen¶
Kirjoita lyhyt etuliite, paina ++tab++, ja se laajenee kokonaiseksi rakenteeksi —
for-silmukaksi, luokkarungoksi, Markdown-taulukoksi — ja kohdistin on valmiina
ensimmäisessä täytettävässä kentässä. Tab/Shift+Tab kiertävät kenttiä, Esc
lopettaa. Liitännäinen tarjoaa myös toiminnon Tiedosto ▸ Uusi mallipohjasta…
kokonaisten tiedostojen luomiseen.
Koodinpätkän laajentaminen¶
- Kirjoita koodinpätkän etuliite (vaikkapa
forC++-tiedostossa). - Paina ++tab++. Etuliite korvataan koodinpätkän rungolla — yhtenä kumoamisaskeleena — ja ensimmäinen kenttä valitaan valmiina ylikirjoitettavaksi.
- Paina ++tab++ hypätäksesi seuraavaan kenttään, ++shift+tab++ palataksesi taaksepäin.
- Viimeisen kentän jälkeen ++tab++ asettaa kohdistimen koodinpätkän loppusijaintiin. ++esc++ päättää istunnon milloin tahansa ja jättää tekstin sellaisena kuin se on kirjoitettu.
Jos kohdistinta edeltävä sana ei ole koodinpätkän etuliite, ++tab++ sisentää tavalliseen tapaan — näppäin lainataan vain, kun on jotain laajennettavaa. Täydennysluettelon ollessa auki ++tab++ kuuluu luettelolle.
Monirivinen laajennus perii sen rivin sisennyksen, jolla sen kirjoitit, ja sen rivinvaihdot noudattavat asiakirjan käytäntöä (CRLF/LF).
Koodinpätkät täydennysluettelossa¶
Koodinpätkien etuliitteet näkyvät myös automaattisen täydennyksen luettelossa pienellä kuvakkeella merkittyinä, jotta ne erottuvat tavallisista sanoista. Kun hyväksyt koodinpätkäkohdan, se laajenee heti ja kenttäistunto alkaa — sama kuin etuliitteen kirjoittaminen ja ++tab++-painallus.
Mitä koodinpätkä voi sisältää¶
| Merkintä | Merkitys |
|---|---|
$1 … $9 |
Sarkainpysäkkikenttiä, joissa käydään numerojärjestyksessä (riippumatta niiden sijainnista rungossa). |
${1:oletus} |
Kenttä, jolla on aloitussisältö, valittuna kun siinä käydään. |
$0 |
Mihin kohdistin päätyy viimeisen kentän jälkeen (oletuksena koodinpätkän loppu). |
$FILENAME |
Asiakirjan tiedostonimi (tyhjä tallentamattomille puskureille). |
$DATE |
Tämän päivän päivämäärä ISO-muodossa (2026-07-06). |
$SELECTION |
Teksti, joka oli valittuna, kun koodinpätkä laukaistiin. |
$CLIPBOARD |
Leikepöydän nykyinen teksti. |
\$ |
Kirjaimellinen dollarimerkki. |
Kaikki virheellisesti muotoiltu lisätään kirjaimellisesti epäonnistumisen sijaan. Rungossa toistuva kenttänumero säilyttää vain ensimmäisen esiintymänsä elävänä kenttänä.
Koodinpätkien hallinta¶
Asetukset ▸ Koodinpätkät luettelee jokaisen koodinpätkän — sekä mukana tulevat joukot että omasi. Siellä:
- Lisää… luo uuden koodinpätkän: etuliite, laajuus (pilkuin erotetut kielitunnisteet,
kuten
cpp, c; tyhjä tai*koskee kaikkialla), kuvaus ja runko. - Muokkaa… muokkaa omia koodinpätkiäsi. Mukana tulevan koodinpätkän muokkaaminen luo oman kopiosi, joka menee edelle mukana tulevaa (sama etuliite ja laajuus).
- Poista poistaa omat koodinpätkäsi (mukana tulevia ei voi poistaa — varjosta ne sen sijaan).
Mukana tulee joukot kielille C/C++, Python, JavaScript/TypeScript ja Markdown sekä kaksi
yleiskäyttöistä apuria (date, clip). Koodinpätkäsi tallennetaan JSONina liitännäisen
datakansioon (snippets/user.json); voit myös pudottaa sinne lisää *.json-tiedostoja —
muoto vastaa mukana tulevia tiedostoja:
{
"language": ["cpp", "c"],
"snippets": [
{
"prefix": "for",
"description": "indexed for loop",
"body": ["for (${1:int i = 0}; ${2:i < count}; ${3:++i})", "{", "\t$0", "}"]
}
]
}
Rungot ovat rivitaulukoita. Koodinpätkäkohtainen "scopes"-taulukko ohittaa
tiedostotason "language"-oletuksen.
Tiedostomallit¶
Tiedosto ▸ Uusi mallipohjasta… avaa valitsimen tiedostorungoista — C++-lähdetiedosto
main-funktiolla, otsikkotiedosto sisällytysvahdilla, Python-skripti,
Markdown-asiakirja, HTML-sivu. Valittu mallipohja avautuu uutena, tallentamattomana
asiakirjana, jossa sen muuttujat ($DATE, $CLIPBOARD …) on jo korvattu; kenttämerkinnät
tiivistyvät oletusteksteikseen.
Mallipohjat ovat myös JSON-tiedostoja (templates/*.json, sekä mukana tulevia että
liitännäisen datakansiossa):
{
"templates": [
{
"name": "Python script",
"suggestedName": "script.py",
"body": ["#!/usr/bin/env python3", "", ""]
}
]
}
Rajoitukset¶
- Toistuvaa kenttänumeroa ei peilata (kenttään 1 kirjoittaminen ei päivitä toista
$1-kenttää); myöhemmät esiintymät ovat tavallista tekstiä. - Sisäkkäisiä paikkamerkkejä (
${1:${2:x}}) ei tueta; sisäteksti otetaan kirjaimellisesti. $FILENAMEon tyhjä tallentamattomissa puskureissa.