Insticksmodulen Funktionslista¶
En filtrerbar översikt över det aktuella dokumentets symboler — funktioner, klasser, metoder, rubriker och mer — i en dockningsbar sidopanel. Aktivera en symbol för att hoppa med redigerarens markör direkt dit.
Var du hittar den¶
Visa ▸ Funktionslista öppnar dockan (den börjar dold). Listan uppdateras medan du skriver och följer den aktiva fliken.
Använda listan¶
- Hoppa till en symbol — dubbelklicka på en post, eller markera den och tryck på Enter. Redigeraren rullar till symbolen, viker ut den om den ligger inuti ett ihopvikt område, och placerar markören där.
- Filtrera — skriv i rutan högst upp för att smalna av listan efter namn (oberoende av skiftläge). I trädläget förblir en förälder synlig när något av dess barn matchar.
- Följ markören — medan du förflyttar dig i dokumentet färgmarkeras den symbol som omsluter markören i listan.
Visningsalternativ¶
Knappen ⋮ (bredvid filterrutan) öppnar visningsmenyn:
| Alternativ | Effekt |
|---|---|
| Visa som träd | Nästlar medlemmar under sin behållare (metoder under en klass, en klass under sin namnrymd). Stäng av det för en platt lista. |
| Sortera efter position | Dokumentordning (standard). |
| Sortera efter namn | Alfabetiskt (oberoende av skiftläge). |
| Sortera efter sort | Gruppera efter symbolsort (klasser, funktioner, …), sedan efter namn. |
Dina val kommer ihåg mellan sessioner.
Var översikten kommer ifrån¶
Dockan hämtar symboler från en av två källor, som anges i foten längst ned i panelen:
- Källa: språkserver — när en språkserver är konfigurerad för filens språk använder dockan dess symboler. Det är den exakta, fullständiga översikten (medlemsvariabler, precis nästling klass → metod, varje symbolsort servern rapporterar).
- Källa: mönster — annars faller dockan tillbaka på de inbyggda mönsterregler som beskrivs nedan.
Du konfigurerar inte detta: den mönsterbaserade översikten visas direkt, och om en språkserver svarar används den automatiskt. Ett språk som har en server men inga medföljande mönster får ändå en översikt (från servern).
Språk som stöds¶
Mönsterreglerna ger en översikt utan någon språkserver (och är reserven när en sådan inte är tillgänglig):
| Språk | Symboler som känns igen |
|---|---|
| C / C++ | namnrymder, klasser, strukturer, uppräkningar, #define-rader, funktioner |
| Python | klasser, funktioner/metoder (def, async def) |
| JavaScript / TypeScript | klasser, funktioner, konstanter med pilfunktioner, klassmetoder |
| Markdown | rubriker (# … ######) |
Listan speglar det språk redigeraren tillämpat på filen (dess syntaxfärgning). Filer av andra typer visar «Ingen symbolöversikt för den här filtypen.»
Mönstren är ungefärliga
Den mönsterbaserade översikten (Källa: mönster) är ett försök efter bästa förmåga, inte en fullständig tolk: till exempel kan en fristående funktion som skrivits efter en klasskropp visas nästlad under den klassen. För en exakt översikt konfigurerar du en språkserver för språket — dockan visar då dess symboler (Källa: språkserver).
Egna regeluppsättningar¶
Regeluppsättningarna är vanliga JSON-filer, så du kan justera dem eller lägga till
språk utan att bygga om. Den medföljande uppsättningen levereras bredvid programmet
i en mapp function-list/ (en *.json per regeluppsättning); de filerna
skrivs över vid uppdatering, så betrakta dem som skrivskyddade exempel.
För att anpassa lägger du din egen *.json i undermappen rulesets/ i
datamappen för insticksmodulen Funktionslista. En användarfil vars languageIds
innehåller ett språk åsidosätter den medföljande regeluppsättningen för det
språket.
En regeluppsättningsfil ser ut så här:
{
"languageIds": ["cpp", "c"],
"caseSensitive": true,
"rules": [
{ "pattern": "^\\s*class\\s+([A-Za-z_]\\w*)", "kind": "class" },
{ "pattern": "^\\s*(?:async\\s+)?def\\s+([A-Za-z_]\\w*)", "kind": "function" }
]
}
| Fält | Betydelse |
|---|---|
languageIds |
Ett eller flera av redigerarens språk-id:n som regeluppsättningen gäller för (t.ex. cpp, python). En fil kan betjäna flera. |
caseSensitive |
Om mönstren matchar skiftlägeskänsligt (standard true). |
rules |
Ordnad lista med regler; den första regel som matchar en rad vinner, en symbol per rad. |
rules[].pattern |
Ett reguljärt uttryck i ECMAScript-stil som matchas mot en enskild rad. |
rules[].nameGroup |
Den fångstgrupp som innehåller symbolnamnet (standard 1). |
rules[].kind |
Symbolsorten — ett namn (class, struct, enum, namespace, function, method, constant, string, …) eller ett SymbolKind-nummer från LSP. Styr gruppering och sortering. |
rules[].containerGroup |
Valfri fångstgrupp som används som symbolens behållardetalj (0 = ingen). |