Koodivertailu
Vertaa koodin kahta versiota rinnakkain tai yhdistettynä syntaksikorostuksella, rivinumeroilla ja välilyöntiasetuksilla. Kopioi tai lataa unified diff.
Näin vertaat kahta koodinpätkää
- Liitä vanha versio kenttään Alkuperäinen koodi ja uusi versio kenttään Muutettu koodi.
- Valitse Kieli tai jätä valinnaksi Tunnista automaattisesti: työkalu arvaa kielen koodista ja näyttää tunnistetun kielen tilastojen vieressä.
- Valitse Näkymä: Rinnakkain tai Yhdistetty (unified).
- Aseta tarvitsemasi asetukset: Ohita välilyönnit ja sisennys, Ohita kirjainkoko, Korosta muuttuneet sanat ja Näytä vain muutokset (3 rivin asiayhteys).
- Napsauta Vertaa. Ensimmäisen vertailun jälkeen tulos seuraa muokkauksiasi kirjoittaessasi.
- Napsauta Kopioi unified diffinä tai Lataa .diff, jos haluat käyttää muutosta uudelleen patchina.
Vaihda puolet vaihtaa kaksi versiota keskenään, jolloin lisäykset muuttuvat poistoiksi ja päinvastoin.
Diffin lukeminen
Poistetut rivit on sävytetty punaisella ja ne kuuluvat alkuperäiseen versioon. Lisätyt rivit on sävytetty vihreällä ja ne kuuluvat uuteen versioon. Jokainen rivi säilyttää oman tiedostonsa rivinumeron, joten voit siirtyä suoraan kyseiselle riville editorissasi.
- Rinnakkain asettaa kaksi tiedostoa kahteen numeroituun sarakkeeseen. Muokattu rivi on oman uuden versionsa vieressä. Korosta muuttuneet sanat -valinnalla rivin sisällä muuttuneet sanat merkitään. Ilman sitä molemmat rivit säilyttävät täydet syntaksivärinsä.
- Yhdistetty (unified) näyttää yhden sarakkeen kuten koodikatselmoinnissa: jokaisesta muuttuneesta lohkosta ensin poistetut rivit (−), sitten lisätyt rivit (+), ja mukana ovat sekä vanhat että uudet rivinumerot.
- Näytä vain muutokset (3 rivin asiayhteys) tiivistää pitkät muuttumattomat jaksot merkintään ”⋯ N muuttumatonta riviä”, mikä helpottaa suurten tiedostojen tarkastelua huomattavasti.
Tilastorivi laskee lisätyt, poistetut ja muuttumattomat rivit.
Syntaksikorostus
Korostus tehdään selaimessasi highlight.js-kirjastolla. Vain valitun kielen kielioppi ladataan, kun vertaat ensimmäisen kerran, joten sivu pysyy kevyenä. Tuettuja kieliä ovat muun muassa JavaScript, TypeScript, Python, Java, C#, C / C++, Go, Rust, PHP, Ruby, CSS, HTML / XML, JSON, YAML, SQL, Bash / Shell ja Markdown. Automaattinen tunnistus käyttää yksinkertaisia vihjeitä (avainsanat, sulut, JSON-jäsennys). Jos se arvaa väärin, valitse kieli itse tai valitse Pelkkä teksti.
Välilyönnit, sisennys ja rivinvaihdot
Ohita välilyönnit ja sisennys vertaa rivejä sen jälkeen, kun niiden reunat on leikattu ja peräkkäiset välilyönnit ja sarkaimet on tiivistetty. Siksi tiedosto, jonka sisennys on muutettu kahdesta neljään välilyöntiin tai sarkaimista välilyönneiksi, ei näytä eroa. Windowsin (CRLF) ja Unixin (LF) rivinvaihdot normalisoidaan ennen vertailua, joten tiedosto, jossa on muuttunut vain rivinvaihtotyyppi, raportoidaan identtiseksi. Huomaa, että välilyönneillä voi olla merkitystä Pythonissa, YAMLissa ja Makefileissä: poista valinta käytöstä, kun sisennys on merkityksellinen.
Unified diff -muoto
Viety patch käyttää standardia unified-muotoa, jota git apply, patch ja koodikatselmointityökalut lukevat: otsikko, jossa on kaksi tiedostonimeä, ja sen jälkeen lohkot, jotka alkavat @@ -a,b +c,d @@ ja joissa on kolme riviä asiayhteyttä jokaisen muutoksen ympärillä. Tiedostojen nimet ovat original ja changed sekä kielen mukainen pääte.
Usein kysytyt kysymykset
Lähetetäänkö koodini palvelimelle?
Ei. Sekä vertailu että korostus toimivat paikallisesti selaimessasi, eikä koodi poistu laitteeltasi.
Miten tämä eroaa tekstivertailusta?
Se käyttää samaa rivi riviltä -vertailumoottoria, mutta lisää syntaksikorostuksen, yhdistetyn näkymän, asiayhteyden tiivistämisen ja koodille sopivan välilyöntien käsittelyn.
Miksi kaksi samannäköistä riviä näytetään muuttuneina?
Ne eroavat todennäköisesti näkymättömien merkkien osalta: loppuvälilyönnit, sarkaimet välilyöntien sijaan tai sitova välilyönti. Valitse Ohita välilyönnit ja sisennys varmistaaksesi asian.
Voinko ottaa ladatun patchin käyttöön Gitillä?
Kyllä. Tallenna se ja aja patch original.js < changes.diff tai muokkaa otsikon tiedostonimiä ja käytä git apply-komentoa.
Kuinka suuria koodinpätkät voivat olla?
Useiden tuhansien rivien vertailu on nopeaa. Jos kaksi hyvin suurta tiedostoa on täysin erilaisia, työkalu pysähtyy muutaman sekunnin kuluttua ja pyytää vertaamaan pienempiä osia.
Aiheeseen liittyvät työkalut
- Tekstien vertailu Vertaa kahta tekstiä ja näe kaikki erot rinnakkain tai yhdistettynä rivi-, sana- tai merkkitasolla. Yksityinen diff-työkalu toimii selaimessasi.
- JSON-muotoilija ja -validaattori Ilmainen JSON-muotoilija ja -validaattori, joka siistii, pienentää ja tarkistaa JSONin selaimessa ja ilmoittaa syntaksivirheet rivin ja sarakkeen kanssa.
- Regex-testaaja Testaa JavaScriptin säännöllisiä lausekkeita livenä: korostetut osumat, kaappausryhmät, korvaus ja selkokielinen selitys jokaisesta osasta.