Code Diff Checker
Ihambing ang dalawang bersyon ng code nang magkatabi o inline, may syntax highlighting, numero ng linya, opsyon sa whitespace at kopyahing unified diff.
Paano paghambingin ang dalawang code
- I-paste ang lumang bersyon sa Orihinal na code at ang bagong bersyon sa Binagong code.
- Piliin ang Wika, o iwanan ang Awtomatikong tukuyin: huhulaan ng tool mula sa code at ipapakita ang natukoy na wika sa tabi ng mga estadistika.
- Pumili ng View: Magkatabi o Inline (unified).
- Itakda ang mga opsyong kailangan mo: Huwag pansinin ang whitespace at indentation, Huwag pansinin ang laki ng titik, I-highlight ang mga nagbagong salita at Ipakita lang ang mga pagbabago (3 linya ng context).
- I-click ang Ihambing. Pagkatapos ng unang paghahambing, sinusundan ng resulta ang iyong mga pag-edit habang nagta-type ka.
- I-click ang Kopyahin bilang unified diff o I-download ang .diff para magamit muli ang pagbabago bilang patch.
Ipinagpapalit ng Ipagpalit ang magkabilang panig ang dalawang bersyon, na ginagawang pagtanggal ang mga dagdag at kabaligtaran.
Pagbasa ng diff
Ang mga inalis na linya ay may pulang kulay at kabilang sa orihinal; ang mga idinagdag na linya ay berde at kabilang sa bagong bersyon. Pinananatili ng bawat linya ang numero nito mula sa sarili nitong file, kaya diretso mo itong mapupuntahan sa iyong editor.
- Ang Magkatabi ay naglalagay ng dalawang file sa dalawang may numerong column. Ang binagong linya ay katabi ng bago nitong bersyon. Kapag naka-on ang I-highlight ang mga nagbagong salita, namamarkahan ang mga salitang nagbago sa loob ng linya; kapag naka-off, pinananatili ng parehong linya ang buong kulay ng syntax.
- Ang Inline (unified) ay nagpapakita ng iisang column na parang code review: sa bawat binagong bloke, una ang mga inalis na linya (−), sunod ang mga idinagdag (+), na may luma at bagong numero ng linya.
- Ang Ipakita lang ang mga pagbabago (3 linya ng context) ay tinutupi ang mahahabang bahaging hindi nagbago tungo sa markang “⋯ N linyang hindi nagbago”, kaya mas madaling suriin ang malalaking file.
Binibilang ng linya ng estadistika ang mga idinagdag, inalis at hindi nagbagong linya.
Syntax highlighting
Ginagawa ang highlighting sa iyong browser gamit ang highlight.js. Ang grammar lang ng napiling wika ang nilo-load, sa unang paghahambing, kaya magaan ang page. Kabilang sa mga suportadong wika ang JavaScript, TypeScript, Python, Java, C#, C / C++, Go, Rust, PHP, Ruby, CSS, HTML / XML, JSON, YAML, SQL, Bash / Shell at Markdown. Gumagamit ang awtomatikong pagtukoy ng mga simpleng palatandaan (keyword, bracket, JSON parsing); kung mali ang hula, piliin mismo ang wika o piliin ang Plain text.
Whitespace, indentation at dulo ng linya
Ang Huwag pansinin ang whitespace at indentation ay naghahambing ng mga linya matapos putulin ang mga espasyo sa magkabilang dulo at pagsamahin ang sunud-sunod na espasyo at tab, kaya ang file na na-re-indent mula 2 hanggang 4 na espasyo o mula tab tungo sa espasyo ay walang ipapakitang pagkakaiba. Pinapantay muna ang mga dulo ng linya ng Windows (CRLF) at Unix (LF) bago maghambing, kaya ang file na dulo lang ng linya ang nagbago ay iuulat bilang magkapareho. Tandaan na maaaring mahalaga ang whitespace sa Python, YAML at Makefile: i-off ang opsyon kapag mahalaga ang indentation.
Ang format ng unified diff
Ang na-export na patch ay gumagamit ng karaniwang unified format na binabasa ng git apply, patch at mga code review tool: isang header na may dalawang pangalan ng file, saka mga hunk na nagsisimula sa @@ -a,b +c,d @@ at tatlong linya ng context sa paligid ng bawat pagbabago. Ang mga file ay pinangalanang original at changed na may extension para sa wika.
Mga madalas itanong
Ina-upload ba ang code ko sa server?
Hindi. Parehong tumatakbo sa iyong browser ang paghahambing at ang highlighting; hindi umaalis sa iyong device ang code.
Paano ito naiiba sa text diff checker?
Gumagamit ito ng parehong line-by-line na comparison engine, pero may dagdag na syntax highlighting, unified view, pagtupi ng context at pagtrato sa whitespace na angkop sa code.
Bakit may dalawang linyang nagbago kahit mukhang magkapareho?
Malamang na magkaiba ang mga ito sa mga hindi nakikitang character: sobrang espasyo sa dulo, tab laban sa espasyo, o non-breaking space. Lagyan ng check ang Huwag pansinin ang whitespace at indentation para makumpirma.
Puwede ko bang ilapat ang na-download na patch gamit ang Git?
Oo. I-save ito at patakbuhin ang patch original.js < changes.diff, o iangkop ang mga pangalan ng file sa header at gamitin ang git apply.
Gaano kalaki ang puwedeng snippet?
Mabilis ang paghahambing ng ilang libong linya. Kung ganap na magkaiba ang dalawang napakalaking file, titigil ang tool pagkalipas ng ilang segundo at hihilingin na ihambing ang mas maliliit na bahagi.
Mga kaugnay na tool
- Text Diff Checker Paghambingin ang dalawang text at makita ang bawat pagkakaiba nang magkatabi o inline, ayon sa linya, salita o character. Pribado at tumatakbo sa iyong browser.
- JSON Formatter at Validator Libreng JSON formatter at validator na nagbi-beautify, nagmi-minify at nagsusuri ng JSON sa iyong browser, may ulat ng syntax error ayon sa linya at column.
- Regex Tester Subukan nang live ang mga JavaScript regular expression: may naka-highlight na match, capture group, pagpapalit at paliwanag ng bawat token.