Kodestump-udvidelsesmodulet¶
Skriv et kort præfiks, tryk ++tab++, og det folder sig ud til en hel konstruktion —
en for-løkke, et klasseskelet, en Markdown-tabel — med markøren klar i det første
felt, du skal udfylde. Tab/Shift+Tab går gennem felterne, Esc afslutter.
Udvidelsesmodulet giver også Filer ▸ Ny ud fra skabelon… til at stilladsere hele
filer.
At folde en kodestump ud¶
- Skriv en kodestumps præfiks (f.eks.
fori en C++-fil). - Tryk ++tab++. Præfikset erstattes af kodestumpens krop — som ét fortrydelsestrin — og det første felt markeres, klar til at blive overskrevet.
- Tryk ++tab++ for at springe til næste felt, ++shift+tab++ for at gå tilbage.
- Efter det sidste felt sætter ++tab++ markøren på kodestumpens slutposition. ++esc++ afslutter sessionen når som helst og efterlader teksten, som den er skrevet.
Er ordet før markøren ikke et kodestumpspræfiks, rykker ++tab++ ind som sædvanlig — tasten lånes kun, når der er noget at folde ud. Mens fuldførelseslisten er åben, tilhører ++tab++ listen.
En udfoldning over flere linjer arver indrykningen fra den linje, du skrev den på, og dens linjeskift følger dokumentets konvention (CRLF/LF).
Kodestumper på fuldførelseslisten¶
Kodestumpspræfikser kommer også frem på listen for automatisk fuldførelse, markeret med et lille tegn, så de skiller sig ud fra almindelige ord. Når du tager imod et kodestumpselement, foldes det ud med det samme, og feltsessionen begynder — som hvis du havde skrevet præfikset og trykket ++tab++.
Hvad en kodestump kan indeholde¶
| Symbol | Betydning |
|---|---|
$1 … $9 |
Tabulatorstop-felter, der besøges i talrækkefølge (uanset hvor de står i kroppen). |
${1:standard} |
Et felt med startindhold, der markeres, når det besøges. |
$0 |
Hvor markøren ender efter det sidste felt (som standard kodestumpens slutning). |
$FILENAME |
Dokumentets filnavn (tomt for buffere, der ikke er gemt). |
$DATE |
Dagens dato i ISO-format (2026-07-06). |
$SELECTION |
Den tekst, der var markeret, da kodestumpen blev udløst. |
$CLIPBOARD |
Udklipsholderens nuværende tekst. |
\$ |
Et bogstaveligt dollartegn. |
Alt, der er forkert formet, indsættes bogstaveligt i stedet for at fejle. Et feltnummer, der gentages i kroppen, beholder kun sin første forekomst som et levende felt.
At håndtere kodestumper¶
Indstillinger ▸ Kodestumper viser hver kodestump — både de medleverede sæt og dine egne. Derfra:
- Tilføj… opretter en ny kodestump: præfiks, omfang (kommaseparerede sprog-id'er såsom
cpp, c; tomt eller*gælder overalt), beskrivelse og krop. - Redigér… redigerer dine kodestumper. Redigerer du en medleveret kodestump, oprettes din egen kopi, som går forud for den medleverede (samme præfiks og omfang).
- Fjern fjerner dine kodestumper (de medleverede kan ikke fjernes — overskyg dem i stedet).
Der følger sæt med til C/C++, Python, JavaScript/TypeScript og Markdown plus to
universelle hjælpere (date, clip). Dine kodestumper gemmes som JSON i
udvidelsesmodulets datamappe (snippets/user.json); du kan også lægge flere
*.json-filer der — formatet er det samme som i de medleverede filer:
{
"language": ["cpp", "c"],
"snippets": [
{
"prefix": "for",
"description": "indexed for loop",
"body": ["for (${1:int i = 0}; ${2:i < count}; ${3:++i})", "{", "\t$0", "}"]
}
]
}
Kroppe er tabeller af linjer. En "scopes"-tabel pr. kodestump tilsidesætter
"language"-standarden for hele filen.
Filskabeloner¶
Filer ▸ Ny ud fra skabelon… åbner en vælger med filstilladser — en C++-kildefil
med main, en headerfil med en inkluderingsværn, et Python-script, et
Markdown-dokument, en HTML-side. Den valgte skabelon åbnes som et nyt, ikke gemt
dokument med sine variabler ($DATE, $CLIPBOARD …) allerede indsat; feltsymboler
falder sammen til deres standardtekst.
Skabeloner er også JSON-filer (templates/*.json, både medleverede og i
udvidelsesmodulets datamappe):
{
"templates": [
{
"name": "Python script",
"suggestedName": "script.py",
"body": ["#!/usr/bin/env python3", "", ""]
}
]
}
Begrænsninger¶
- Et gentaget feltnummer spejles ikke (skriver du i felt 1, opdateres et andet
$1ikke); senere forekomster er almindelig tekst. - Indlejrede pladsholdere (
${1:${2:x}}) understøttes ikke; den indre tekst tages bogstaveligt. $FILENAMEer tomt i buffere, der ikke er gemt.