Utilia

Kód-összehasonlító (diff)

Hasonlítsd össze a kód két verzióját egymás mellett vagy soron belül, szintaxiskiemeléssel, sorszámokkal, szóközopciókkal és másolható egyesített diffel.

Hogyan hasonlíts össze két kódrészletet

  1. Illeszd be a régi verziót az Eredeti kód, az újat a Módosított kód mezőbe.
  2. Válaszd ki a Nyelv beállítást, vagy hagyd az Automatikus felismerés opciót: az eszköz a kód alapján tippel, és a felismert nyelvet a statisztika mellett mutatja.
  3. Válassz Nézetet: Egymás mellett vagy Soron belüli (egyesített).
  4. Állítsd be a szükséges opciókat: Szóközök és behúzás figyelmen kívül hagyása, Kis- és nagybetűk figyelmen kívül hagyása, Módosított szavak kiemelése és Csak a változások mutatása (3 sornyi környezettel).
  5. Kattints az Összehasonlítás gombra. Az első összehasonlítás után az eredmény gépelés közben követi a szerkesztéseidet.
  6. A Másolás egyesített diffként vagy a .diff letöltése gombbal a változást javítócsomagként (patch) használhatod fel újra.

Az Oldalak cseréje felcseréli a két verziót, így a hozzáadások törlésekké válnak, és fordítva.

A diff olvasása

Az eltávolított sorok pirosas, az eredetihez tartozó, a hozzáadott sorok zöldes, az új verzióhoz tartozó árnyalatot kapnak. Minden sor megtartja a saját fájljában érvényes sorszámát, így közvetlenül odaugorhatsz a szerkesztődben.

  • Az Egymás mellett nézet a két fájlt két számozott oszlopban mutatja. A módosított sor az új változata mellett áll. A Módosított szavak kiemelése opcióval a soron belül megváltozott szavak ki vannak emelve; nélküle mindkét sor megtartja a teljes szintaxisszínezést.
  • A Soron belüli (egyesített) nézet egyetlen oszlopot mutat, mint egy kódellenőrzés: minden módosított blokknál először az eltávolított (−), utána a hozzáadott (+) sorok állnak, a régi és az új sorszámmal együtt.
  • A Csak a változások mutatása (3 sornyi környezettel) a hosszú változatlan szakaszokat egy „⋯ N változatlan sor” jelzőbe csukja, ami a nagy fájlok áttekintését jóval megkönnyíti.

A statisztikai sor megszámolja a hozzáadott, eltávolított és változatlan sorokat.

Szintaxiskiemelés

A kiemelést a böngésződben a highlight.js végzi. Csak a kiválasztott nyelv nyelvtana töltődik be, az első összehasonlításkor, így az oldal könnyű marad. A támogatott nyelvek közé tartozik a JavaScript, a TypeScript, a Python, a Java, a C#, a C / C++, a Go, a Rust, a PHP, a Ruby, a CSS, a HTML / XML, a JSON, a YAML, az SQL, a Bash / Shell és a Markdown. Az automatikus felismerés egyszerű támpontokat használ (kulcsszavak, zárójelek, JSON-elemzés); ha rosszul tippel, válaszd ki magad a nyelvet, vagy az Egyszerű szöveg opciót.

Szóközök, behúzás és sorvégek

A Szóközök és behúzás figyelmen kívül hagyása a sorokat a szélső szóközök levágása és a szóköz- és tabulátorsorozatok összevonása után hasonlítja össze, így egy 2-ről 4 szóközre vagy tabulátorokról szóközökre újrabehúzott fájl nem mutat különbséget. A Windows (CRLF) és a Unix (LF) sorvégeket az eszköz az összehasonlítás előtt egységesíti, ezért az a fájl, amelyben csak a sorvégek változtak, azonosnak minősül. Vedd figyelembe, hogy a szóközök számítanak a Pythonban, a YAML-ban és a Makefile-okban: kapcsold ki az opciót, ha a behúzás jelentéssel bír.

Az egyesített diff formátum

Az exportált patch a szabványos egyesített (unified) formátumot használja, amelyet a git apply, a patch és a kódellenőrző eszközök olvasnak: egy fejléc a két fájlnévvel, majd @@ -a,b +c,d @@ kezdetű részek (hunkok) minden változás körül három sornyi környezettel. A fájlok neve original és changed, a nyelvnek megfelelő kiterjesztéssel.

Gyakori kérdések

Feltöltődik a kódom egy szerverre?

Nem. Az összehasonlítás és a kiemelés is helyben, a böngésződben fut; a kód soha nem hagyja el az eszközödet.

Miben különbözik a szöveg-összehasonlítótól?

Ugyanazt a soronkénti összehasonlító motort használja, de kiegészíti szintaxiskiemeléssel, egyesített nézettel, a környezet összecsukásával és a kódra szabott szóközkezeléssel.

Miért jelez két módosított sort, ha azok egyformának tűnnek?

Valószínűleg láthatatlan karakterekben különböznek: sorvégi szóközökben, tabulátor és szóköz eltérésében vagy nem törhető szóközben. Jelöld be a Szóközök és behúzás figyelmen kívül hagyása opciót a megerősítéshez.

Alkalmazhatom a letöltött patchet Gittel?

Igen. Mentsd el, és futtasd a patch original.js < changes.diff parancsot, vagy igazítsd a fejléc fájlneveit, és használd a git apply parancsot.

Mekkora lehet a kódrészlet?

Több ezer sor is gyorsan összehasonlítható. Ha két nagyon nagy fájl teljesen különbözik, az eszköz néhány másodperc után leáll, és arra kér, hogy kisebb részeket hasonlíts össze.