Hyppää sisältöön

Vastaavan tagin tai lohkon korostus

Kun kohdistin on ympäröivän tagin tai lohkon kohdalla tai sen sisällä, editori kehystää kyseisen parin alun ja lopun, jotta näet yhdellä silmäyksellä, mistä <div>…</div>, if…fi tai #if…#endif alkaa ja mihin se päättyy.

Tämä on erillinen yksittäisen merkin sulkeiden vastaavuudesta (() [] {} -merkkikuvake): se toimii edelleen täsmälleen kuten ennenkin, itsenäisesti. Molemmat voivat näkyä samaan aikaan, joten voit olla { }-lohkon sisällä ja ympäröivässä if…fi-rakenteessa ja nähdä molemmat.

Käyttäminen

Aseta kohdistin tagin nimen päälle (tai minne tahansa <…>-merkkien sisään) tai lohkon avainsanan päälle — avaus, sulku ja mahdolliset keskellä olevat avainsanat syttyvät yhtä aikaa. Kun asetat kohdistimen lohkon sisälle (ei avainsanan päälle), korostetaan lähin ympäröivä pari. Tavallinen sisältö tagien välissä ei korosta mitään.

Se päivittyy kohdistimen liikkuessa eikä tarvitse pikanäppäintä.

Käyttöönotto ja käytöstä poisto

Näytä ▸ Korosta vastaava tagi/lohko — oletuksena päällä, ja valinta muistetaan istuntojen välillä.

Kaksi parien lajia

Tagit (merkkauskielet)

HTML:ssä ja XML:ssä kohdistin aloitus- tai lopetustagin päällä kehystää elementin nimen molemmissa tageissa. Samannimisten tagien sisäkkäisyys ratkaistaan syvyyden perusteella, itsensä sulkevilla tageilla (<br/>) ei ole paria, eikä lainausmerkeissä olevan attribuuttiarvon sisällä oleva > koskaan päätä tagia ennenaikaisesti. Tekstinä tai vertailuoperaattorina käytetty < ei koskaan käynnistä sitä — täsmäys perustuu leksikaalisen jäsentimen tagi-tyyliin eikä raakoihin kulmasulkeisiin.

Lohkon avainsanat (kielet)

Kokonaisten avainsanojen pareja, laskettuina oikealla sisäkkäisyydellä ja ohittaen kaiken, mikä on kommenttien ja merkkijonojen sisällä. Mukana tulevat:

Kieli Parit
Komentotulkki (bash) if … fi (sekä elif/else), do … done, case … esac
C / C++ esikääntäjän #if / #ifdef / #ifndef … #endif (sekä #elif/#else)
SQL begin … end, case … end (kirjainkoosta riippumatta)

C/C++ käyttää tätä vain esikääntäjään

Tavalliset C/C++:n { }-lohkot hoitaa yksittäisen merkin sulkeiden vastaavuus eikä tämä ominaisuus — joten .cpp-tiedosto, jossa ei ole #if…#endif-ehtoja, ei näytä tässä mitään, ja se on tarkoituksellista.

Parien lisääminen toiselle kielelle

Parit ovat dataa eivätkä koodia: ne sijaitsevat kielen värjääjä-JSONissa, joten voit lisätä niitä mille tahansa kielelle ilman uudelleenkääntämistä. Lisää värjääjätiedostoon "tagMatch": true merkkauskieliä varten tai "blockPairs"-luettelo avainsanapareja varten, esimerkiksi:

"blockPairs": [
    { "open": "if", "middle": ["elif", "else"], "close": "fi" },
    { "open": "do", "close": "done" }
],
"pairsCaseSensitive": false

Käyttäjän värjääjätiedosto varjostaa mukana tulevan, joten voit ohittaa tai laajentaa sisäänrakennettuja. Katso kohdasta Syntaksivärjäys, missä värjääjätiedostot sijaitsevat.

Huomioita ja rajoituksia

  • Täsmäys tutkii ikkunaa kohdistimen ympärillä, joten pari, jonka päät ovat hyvin kaukana toisistaan (suunnilleen tuhat riviä tai enemmän — esimerkiksi koko tiedoston sisällytysvahti), saattaa jäädä täsmäämättä.
  • Täsmäys käyttää tiukkaa sisäkkäisyyttä: yksi sulkematon sisempi tagi tai lohko estää sen ympärillä olevia tageja ja lohkoja täsmäämästä, kunnes se suljetaan.

Aiheeseen liittyvää