Zásuvný modul Úryvky¶
Napište krátkou předponu, stiskněte ++tab++ a rozvine se v celou konstrukci — smyčku for,
kostru třídy, tabulku v Markdownu — s kurzorem připraveným na prvním místě, které je třeba
vyplnit. Tab/Shift+Tab procházejí pole, Esc končí. Modul také poskytuje
Soubor ▸ Nový ze šablony… pro založení celých souborů.
Rozvinutí úryvku¶
- Napište předponu úryvku (řekněme
forv souboru C++). - Stiskněte ++tab++. Předpona se nahradí tělem úryvku — jako jediný krok zpět — a vybere se první pole připravené k přepsání.
- Stiskem ++tab++ skočíte na další pole, ++shift+tab++ se vrátíte zpět.
- Po posledním poli umístí ++tab++ kurzor na závěrečnou pozici úryvku. ++esc++ ukončí sezení kdykoli a ponechá text tak, jak jste jej napsali.
Pokud slovo před kurzorem není předponou úryvku, ++tab++ odsadí jako obvykle — klávesa se půjčuje jen tehdy, je-li co rozvinout. Dokud je otevřená nabídka dokončování, patří ++tab++ této nabídce.
Víceřádkové rozvinutí přebírá odsazení řádku, na kterém jste jej napsali, a jeho konce řádků se řídí konvencí dokumentu (CRLF/LF).
Úryvky v nabídce dokončování¶
Předpony úryvků se objevují i v nabídce automatického dokončování, označené malým znakem, aby vynikly mezi obyčejnými slovy. Přijetí položky s úryvkem jej ihned rozvine a začne práci s poli — stejně jako napsání předpony a stisk ++tab++.
Co může úryvek obsahovat¶
| Token | Význam |
|---|---|
$1 … $9 |
Pole (zastávky Tabu), navštěvovaná v číselném pořadí (bez ohledu na jejich pozici v těle). |
${1:výchozí} |
Pole s počátečním obsahem, které se při návštěvě vybere. |
$0 |
Kde kurzor skončí po posledním poli (ve výchozím stavu na konci úryvku). |
$FILENAME |
Název souboru dokumentu (u neuložených bufferů prázdný). |
$DATE |
Dnešní datum ve formátu ISO (2026-07-06). |
$SELECTION |
Text vybraný ve chvíli, kdy byl úryvek vyvolán. |
$CLIPBOARD |
Aktuální text schránky. |
\$ |
Doslovný znak dolaru. |
Cokoli poškozeného se vloží doslovně, místo aby selhalo. U indexu pole opakovaného v těle zůstane živým polem jen jeho první výskyt.
Správa úryvků¶
Předvolby ▸ Úryvky vypisují každý úryvek — dodávané sady i vaše vlastní. Odtud můžete:
- Přidat… nový úryvek: předponu, rozsah (id jazyků oddělená čárkami, například
cpp, c; prázdné nebo*platí všude), popis a tělo. - Upravit… své úryvky. Úpravou dodávaného úryvku vznikne vaše vlastní kopie, která má před dodávaným přednost (při shodné předponě a rozsahu).
- Odebrat své úryvky (dodávané odebrat nelze — místo toho je zastiňte).
Dodávané sady jsou pro C/C++, Python, JavaScript/TypeScript a Markdown, plus dva univerzální
pomocníky (date, clip). Vaše úryvky se ukládají jako JSON v datovém adresáři modulu
(snippets/user.json); můžete tam vložit i další soubory *.json — formát odpovídá dodávaným
souborům:
{
"language": ["cpp", "c"],
"snippets": [
{
"prefix": "for",
"description": "indexed for loop",
"body": ["for (${1:int i = 0}; ${2:i < count}; ${3:++i})", "{", "\t$0", "}"]
}
]
}
Těla jsou pole řádků. Pole "scopes" u jednotlivého úryvku přebíjí výchozí "language" na
úrovni souboru.
Šablony souborů¶
Soubor ▸ Nový ze šablony… otevře výběr koster souborů — zdrojový soubor C++ s main,
hlavičku se strážcem vložení, skript v Pythonu, dokument Markdown, stránku HTML. Zvolená
šablona se otevře jako nový neuložený dokument s již dosazenými proměnnými ($DATE,
$CLIPBOARD, …); tokeny polí se sbalí na svůj výchozí text.
Šablony jsou rovněž soubory JSON (templates/*.json, jak dodávané, tak v datovém adresáři
modulu):
{
"templates": [
{
"name": "Python script",
"suggestedName": "script.py",
"body": ["#!/usr/bin/env python3", "", ""]
}
]
}
Omezení¶
- Opakovaný index pole se nezrcadlí (psaní v poli 1 neaktualizuje druhé
$1); pozdější výskyty jsou prostý text. - Vnořené zástupné symboly (
${1:${2:x}}) nejsou podporovány; vnitřní text se bere doslovně. $FILENAMEje v neuložených bufferech prázdné.