Funktioluettelo-liitännäinen¶
Suodatettava yleiskuva nykyisen asiakirjan symboleista — funktioista, luokista, metodeista, otsikoista ja muista — telakoitavassa sivupaneelissa. Aktivoi symboli hypätäksesi editorin kohdistimen suoraan siihen.
Mistä sen löytää¶
Näytä ▸ Funktioluettelo avaa telakan (se alkaa piilotettuna). Luettelo päivittyy kirjoittaessasi ja seuraa aktiivista välilehteä.
Luettelon käyttäminen¶
- Hyppää symboliin — kaksoisnapsauta kohtaa tai valitse se ja paina Enter. Editori vierittää symboliin, avaa sen, jos se on kokoon taitetun taiton sisällä, ja asettaa kohdistimen sinne.
- Suodata — kirjoita yläosan ruutuun kaventaaksesi luetteloa nimen perusteella (kirjainkoosta riippumatta). Puutilassa vanhempi pysyy näkyvissä, kun jokin sen lapsista osuu.
- Seuraa kohdistinta — kun liikut asiakirjassa, se symboli, joka ympäröi kohdistinta, korostetaan luettelossa.
Näkymävalinnat¶
⋮-painike (suodatinruudun vieressä) avaa näkymävalikon:
| Valinta | Vaikutus |
|---|---|
| Näytä puuna | Sijoita jäsenet niiden säiliön alle (metodit luokan alle, luokka nimiavaruutensa alle). Kytke se pois saadaksesi litteän luettelon. |
| Järjestä sijainnin mukaan | Asiakirjan järjestys (oletus). |
| Järjestä nimen mukaan | Aakkosjärjestys (kirjainkoosta riippumatta). |
| Järjestä lajin mukaan | Ryhmittele symbolilajin mukaan (luokat, funktiot …) ja sitten nimen mukaan. |
Valintasi muistetaan istuntojen välillä.
Mistä yleiskuva tulee¶
Telakka hakee symbolit toisesta kahdesta lähteestä, jotka näkyvät paneelin alareunassa:
- Lähde: kielipalvelin — kun tiedoston kielelle on määritetty kielipalvelin, telakka käyttää sen symboleja. Tämä on tarkka, täydellinen yleiskuva (jäsenmuuttujat, täsmällinen luokka → metodi -sisäkkäisyys, jokainen symbolilaji, jonka palvelin ilmoittaa).
- Lähde: hahmot — muutoin telakka turvautuu alla kuvattuihin sisäänrakennettuihin hahmosääntöihin.
Tätä et määritä: hahmopohjainen yleiskuva ilmestyy heti, ja jos kielipalvelin vastaa, sitä käytetään automaattisesti. Kieli, jolla on palvelin mutta ei mukana tulevia hahmoja, saa silti yleiskuvan (palvelimelta).
Tuetut kielet¶
Hahmosäännöt tuottavat yleiskuvan ilman kielipalvelinta (ja ne ovat varalla, kun sellaista ei ole saatavilla):
| Kieli | Tunnistetut symbolit |
|---|---|
| C / C++ | nimiavaruudet, luokat, tietueet, luetellut tyypit, #definet, funktiot |
| Python | luokat, funktiot ja metodit (def, async def) |
| JavaScript / TypeScript | luokat, funktiot, nuolifunktiovakiot, luokkametodit |
| Markdown | otsikot (# … ######) |
Luettelo heijastaa sitä kieltä, jonka editori on soveltanut tiedostoon (sen syntaksivärjäystä). Muun tyyppiset tiedostot näyttävät tekstin »Tälle tiedostotyypille ei ole symbolirakennetta.«
Hahmot ovat likimääräisiä
Hahmopohjainen yleiskuva (Lähde: hahmot) on paras yritys eikä täysi jäsennin: esimerkiksi luokkarungon jälkeen kirjoitettu vapaa funktio voi näkyä sisäkkäisenä tuon luokan alla. Tarkkaa yleiskuvaa varten määritä kielelle kielipalvelin — silloin telakka näyttää sen symbolit (Lähde: kielipalvelin).
Mukautetut sääntöjoukot¶
Sääntöjoukot ovat tavallisia JSON-tiedostoja, joten voit hienosäätää niitä tai lisätä
kieliä ilman uudelleenkääntämistä. Mukana tuleva joukko sijaitsee sovelluksen vieressä
function-list/-kansiossa (yksi *.json sääntöjoukkoa kohti); nuo tiedostot
kirjoitetaan päälle päivityksessä, joten käsittele niitä vain luettavina esimerkkeinä.
Mukauttaaksesi pudota omat *.json-tiedostosi Funktioluettelo-liitännäisen datakansion
rulesets/-alikansioon. Käyttäjän tiedosto, jonka languageIds sisältää kielen,
ohittaa mukana tulevan sääntöjoukon tuon kielen osalta.
Sääntöjoukkotiedosto näyttää tältä:
{
"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" }
]
}
| Kenttä | Merkitys |
|---|---|
languageIds |
Yksi tai useampi editorin kielitunniste, joita sääntöjoukko koskee (esimerkiksi cpp tai python). Yksi tiedosto voi palvella useita. |
caseSensitive |
Täsmäävätkö hahmot kirjainkoon erottavasti (oletuksena true). |
rules |
Järjestetty sääntöluettelo; ensimmäinen riviin osuva sääntö voittaa, yksi symboli riviä kohti. |
rules[].pattern |
ECMAScript-tyylinen säännöllinen lauseke, joka täsmätään yhteen riviin. |
rules[].nameGroup |
Kaappausryhmä, joka sisältää symbolin nimen (oletuksena 1). |
rules[].kind |
Symbolilaji — nimi (class, struct, enum, namespace, function, method, constant, string …) tai LSP:n SymbolKind-numero. Ohjaa ryhmittelyä ja järjestämistä. |
rules[].containerGroup |
Valinnainen kaappausryhmä, jota käytetään symbolin säiliötietona (0 = ei mitään). |