Insticksmodulen Kodfragment¶
Skriv ett kort prefix, tryck på ++tab++, och det utvidgas till en hel konstruktion
— en for-slinga, ett klasskelett, en Markdown-tabell — med markören redo på den
första lucka du behöver fylla. Tab/Shift+Tab cirkulerar mellan fälten,
Esc avslutar. Insticksmodulen tillhandahåller också Fil ▸ Ny från mall…
för att ställa upp hela filer.
Utvidga ett kodfragment¶
- Skriv ett kodfragments prefix (säg
fori en C++-fil). - Tryck på ++tab++. Prefixet ersätts av fragmentets kropp — som ett ångrasteg — och det första fältet markeras, redo att skriva över.
- Tryck på ++tab++ för att hoppa till nästa fält, ++shift+tab++ för att gå tillbaka.
- Efter det sista fältet placerar ++tab++ markören på fragmentets slutposition. ++esc++ avslutar sessionen när som helst och lämnar texten som skriven.
Om ordet före markören inte är ett kodfragmentsprefix drar ++tab++ in som vanligt — tangenten lånas bara när det finns något att utvidga. Medan kompletteringsfönstret är öppet tillhör ++tab++ det fönstret.
En utvidgning över flera rader ärver indraget från den rad du skrev den på, och dess radslut följer dokumentets konvention (CRLF/LF).
Kodfragment i kompletteringsfönstret¶
Kodfragmentens prefix visas också i fönstret för automatisk komplettering, märkta med ett litet tecken så att de sticker ut från vanliga ord. Att godta ett kodfragment utvidgar det direkt och startar fältsessionen — samma sak som att skriva prefixet och trycka på ++tab++.
Vad ett kodfragment kan innehålla¶
| Symbol | Betydelse |
|---|---|
$1 … $9 |
Tabbstoppsfält, besökta i numerisk ordning (oavsett deras plats i kroppen). |
${1:default} |
Ett fält med startinnehåll, markerat när det besöks. |
$0 |
Där markören hamnar efter det sista fältet (som standard fragmentets slut). |
$FILENAME |
Dokumentets filnamn (tomt för osparade buffertar). |
$DATE |
Dagens datum, i ISO-format (2026-07-06). |
$SELECTION |
Den text som var markerad när fragmentet framkallades. |
$CLIPBOARD |
Urklippets aktuella text. |
\$ |
Ett bokstavligt dollartecken. |
Allt som är felformat infogas bokstavligt i stället för att misslyckas. Ett fältindex som upprepas i kroppen behåller bara sin första förekomst som ett levande fält.
Hantera kodfragment¶
Inställningar ▸ Kodfragment listar varje kodfragment — de medföljande uppsättningarna och dina egna. Därifrån kan du:
- Lägg till… ett nytt fragment: prefix, omfattning (kommaseparerade språk-id:n
såsom
cpp, c; tomt eller*gäller överallt), beskrivning och kroppen. - Redigera… dina fragment. Att redigera ett medföljande fragment skapar din egen kopia, som har företräde framför det medföljande (samma prefix och omfattning).
- Ta bort dina fragment (medföljande kan inte tas bort — skugga dem i stället).
Medföljande uppsättningar levereras för C/C++, Python, JavaScript/TypeScript och
Markdown, plus två universella hjälpare (date, clip). Dina fragment lagras som
JSON i insticksmodulens datamapp (snippets/user.json); du kan också lägga
ytterligare *.json-filer där — formatet stämmer med de medföljande filerna:
{
"language": ["cpp", "c"],
"snippets": [
{
"prefix": "for",
"description": "indexed for loop",
"body": ["for (${1:int i = 0}; ${2:i < count}; ${3:++i})", "{", "\t$0", "}"]
}
]
}
Kroppar är vektorer av rader. En vektor "scopes" per fragment åsidosätter
standardvärdet "language" på filnivå.
Filmallar¶
Fil ▸ Ny från mall… öppnar en väljare med filställningar — en C++-källfil med
main, en header med en include-vakt, ett Python-skript, ett Markdown-dokument, en
HTML-sida. Den valda mallen öppnas som ett nytt osparat dokument med sina variabler
($DATE, $CLIPBOARD, …) redan ersatta; fältsymboler faller tillbaka på sin
standardtext.
Mallar är också JSON-filer (templates/*.json, både medföljande och i
insticksmodulens datamapp):
{
"templates": [
{
"name": "Python script",
"suggestedName": "script.py",
"body": ["#!/usr/bin/env python3", "", ""]
}
]
}
Begränsningar¶
- Ett upprepat fältindex speglas inte (att skriva i fält 1 uppdaterar inte ett
andra
$1); senare förekomster är vanlig text. - Nästlade platshållare (
${1:${2:x}}) stöds inte; den inre texten tas bokstavligt. $FILENAMEär tomt i osparade buffertar.