Utilia

Koodi võrdlus

Võrdle koodi kahte versiooni kõrvuti või ühes veerus, süntaksi esiletõstu, reanumbrite ja tühikuvalikutega ning kopeeri või laadi alla unified diff.

Kuidas kahte koodi võrrelda

  1. Kleebi vana versioon väljale Algne kood ja uus versioon väljale Muudetud kood.
  2. Vali Keel või jäta Tuvasta automaatselt: tööriist arvab koodi põhjal ära ja näitab tuvastatud keelt statistika kõrval.
  3. Vali Vaade: Kõrvuti või Ühes veerus (unified).
  4. Seadista vajalikud valikud: Ignoreeri tühikuid ja taandeid, Ignoreeri suur- ja väiketähti, Tõsta esile muudetud sõnad ja Näita ainult muudatusi (3 rida konteksti).
  5. Klõpsa nuppu Võrdle. Pärast esimest võrdlust järgneb tulemus sinu muudatustele kirjutamise ajal.
  6. Klõpsa Kopeeri unified diffina või Laadi alla .diff, et muudatust paigana taaskasutada.

Nupp Vaheta pooled vahetab kaks versiooni omavahel, mistõttu lisandused muutuvad kustutusteks ja vastupidi.

Erinevuste lugemine

Eemaldatud read on värvitud punaseks ja kuuluvad algversiooni; lisatud read on värvitud roheliseks ja kuuluvad uude versiooni. Iga rida säilitab oma faili reanumbri, seega leiad selle redaktoris kohe üles.

  • Kõrvuti paneb kaks faili kahte nummerdatud veergu. Muudetud rida asub oma uue versiooni kõrval. Valikuga Tõsta esile muudetud sõnad märgitakse reas muutunud sõnad; ilma selleta säilitavad mõlemad read oma täisvärvid.
  • Ühes veerus (unified) näitab ühte veergu nagu koodiülevaatuses: iga muudetud ploki puhul tulevad kõigepealt eemaldatud read (−), seejärel lisatud read (+), koos nii vana kui ka uue reanumbriga.
  • Näita ainult muudatusi (3 rida konteksti) voldib pikad muutmata lõigud märgiks „⋯ N muutmata rida“, mis teeb suured failid palju lihtsamini ülevaadatavaks.

Statistikarida loendab lisatud, eemaldatud ja muutmata read.

Süntaksi esiletõst

Esiletõst tehakse sinu brauseris teegiga highlight.js. Laaditakse ainult valitud keele grammatika, esimesel võrdlemisel, nii et leht jääb kerge. Toetatud keeled on muu hulgas JavaScript, TypeScript, Python, Java, C#, C / C++, Go, Rust, PHP, Ruby, CSS, HTML / XML, JSON, YAML, SQL, Bash / Shell ja Markdown. Automaatne tuvastus kasutab lihtsaid vihjeid (võtmesõnad, sulud, JSON-i analüüs); kui see arvab valesti, vali keel ise või vali Lihttekst.

Tühikud, taanded ja reavahetused

Ignoreeri tühikuid ja taandeid võrdleb ridu pärast nende kärpimist ja tühikute ning tabulaatorite jadade ühendamist, nii et fail, mida on taandatud 2-lt 4 tühikule või tabulaatoritelt tühikutele, ei näita erinevust. Windowsi (CRLF) ja Unixi (LF) reavahetused normaliseeritakse enne võrdlemist, seega fail, mille ainus muutus on reavahetus, loetakse identseks. Pane tähele, et tühikutel võib olla tähendus Pythonis, YAML-is ja Makefile’ides: lülita valik välja, kui taane on oluline.

Unified diff vorming

Eksporditud paik kasutab standardset unified vormingut, mida loevad git apply, patch ja koodiülevaatuse tööriistad: päis kahe failinimega, seejärel plokid, mis algavad @@ -a,b +c,d @@ ja millel on kolm rida konteksti iga muudatuse ümber. Failide nimed on original ja changed koos keelele vastava laiendiga.

Korduma kippuvad küsimused

Kas minu kood laaditakse serverisse?

Ei. Nii võrdlus kui ka esiletõst toimuvad kohapeal sinu brauseris; kood ei lahku sinu seadmest.

Mille poolest see erineb tekstivõrdlusest?

See kasutab sama rida-realt võrdlusmootorit, kuid lisab süntaksi esiletõsu, unified vaate, konteksti voltimise ja koodile sobiva tühikute käsitluse.

Miks näidatakse kahte rida muudetuna, kuigi need näevad identsed välja?

Need erinevad tõenäoliselt nähtamatute märkide poolest: lõputühikud, tabulaatorid tühikute asemel või mittekatkestav tühik. Märgi kinnituseks Ignoreeri tühikuid ja taandeid.

Kas saan allalaaditud paiga Gitiga rakendada?

Jah. Salvesta see ja käivita patch original.js < changes.diff või kohanda päises failinimed ja kasuta git apply.

Kui suured võivad lõigud olla?

Mitu tuhat rida võrreldakse kiiresti. Kui kaks väga suurt faili on täiesti erinevad, peatub tööriist mõne sekundi pärast ja palub võrrelda väiksemaid osi.