€•bŒsphinx.addnodes”Œdocument”“”)”}”(Œ rawsource”Œ”Œchildren”]”(Œ translations”Œ LanguagesNode”“”)”}”(hhh]”(hŒ pending_xref”“”)”}”(hhh]”Œdocutils.nodes”ŒText”“”ŒEnglish”…””}”Œparent”hsbaŒ attributes”}”(Œids”]”Œclasses”]”Œnames”]”Œdupnames”]”Œbackrefs”]”Œ refdomain”Œstd”Œreftype”Œdoc”Œ reftarget”Œ/dev-tools/clang-format”Œmodname”NŒ classname”NŒ refexplicit”ˆuŒtagname”hhh ubh)”}”(hhh]”hŒChinese (Simplified)”…””}”hh2sbah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h)Œreftype”h+Œ reftarget”Œ*/translations/zh_CN/dev-tools/clang-format”Œmodname”NŒ classname”NŒ refexplicit”ˆuh1hhh ubh)”}”(hhh]”hŒChinese (Traditional)”…””}”hhFsbah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h)Œreftype”h+Œ reftarget”Œ*/translations/zh_TW/dev-tools/clang-format”Œmodname”NŒ classname”NŒ refexplicit”ˆuh1hhh ubh)”}”(hhh]”hŒJapanese”…””}”hhZsbah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h)Œreftype”h+Œ reftarget”Œ*/translations/ja_JP/dev-tools/clang-format”Œmodname”NŒ classname”NŒ refexplicit”ˆuh1hhh ubh)”}”(hhh]”hŒKorean”…””}”hhnsbah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h)Œreftype”h+Œ reftarget”Œ*/translations/ko_KR/dev-tools/clang-format”Œmodname”NŒ classname”NŒ refexplicit”ˆuh1hhh ubh)”}”(hhh]”hŒPortuguese (Brazilian)”…””}”hh‚sbah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h)Œreftype”h+Œ reftarget”Œ*/translations/pt_BR/dev-tools/clang-format”Œmodname”NŒ classname”NŒ refexplicit”ˆuh1hhh ubh)”}”(hhh]”hŒSpanish”…””}”hh–sbah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h)Œreftype”h+Œ reftarget”Œ*/translations/sp_SP/dev-tools/clang-format”Œmodname”NŒ classname”NŒ refexplicit”ˆuh1hhh ubeh}”(h]”h ]”h"]”h$]”h&]”Œcurrent_language”ŒItalian”uh1h hhŒ _document”hŒsource”NŒline”NubhŒwarning”“”)”}”(hŒ×In caso di dubbi sulla correttezza del contenuto di questa traduzione, l'unico riferimento valido è la documentazione ufficiale in inglese. Per maggiori informazioni consultate le :ref:`avvertenze `.”h]”hŒ paragraph”“”)”}”(hŒ×In caso di dubbi sulla correttezza del contenuto di questa traduzione, l'unico riferimento valido è la documentazione ufficiale in inglese. Per maggiori informazioni consultate le :ref:`avvertenze `.”h]”(hŒ·In caso di dubbi sulla correttezza del contenuto di questa traduzione, l’unico riferimento valido è la documentazione ufficiale in inglese. Per maggiori informazioni consultate le ”…””}”(hh½h²hh³Nh´Nubh)”}”(hŒ!:ref:`avvertenze `”h]”hŒinline”“”)”}”(hhÇh]”hŒ avvertenze”…””}”(hhËh²hh³Nh´Nubah}”(h]”h ]”(Œxref”Œstd”Œstd-ref”eh"]”h$]”h&]”uh1hÉhhÅubah}”(h]”h ]”h"]”h$]”h&]”Œrefdoc”Œ)translations/it_IT/dev-tools/clang-format”Œ refdomain”hÖŒreftype”Œref”Œ refexplicit”ˆŒrefwarn”ˆŒ reftarget”Œ it_disclaimer”uh1hh³Œ3Documentation/translations/it_IT/disclaimer-ita.rst”h´Khh½ubhŒ.”…””}”(hh½h²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1h»h³hêh´Khh·ubah}”(h]”h ]”h"]”h$]”h&]”uh1hµhhh²hh³hêh´NubhŒ field_list”“”)”}”(hhh]”(hŒfield”“”)”}”(hhh]”(hŒ field_name”“”)”}”(hŒOriginal”h]”hŒOriginal”…””}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjh³ŒW/var/lib/git/docbuild/linux/Documentation/translations/it_IT/dev-tools/clang-format.rst”h´KubhŒ field_body”“”)”}”(hŒ=:ref:`Documentation/dev-tools/clang-format.rst `”h]”h¼)”}”(hjh]”h)”}”(hjh]”hÊ)”}”(hjh]”hŒ(Documentation/dev-tools/clang-format.rst”…””}”(hj"h²hh³Nh´Nubah}”(h]”h ]”(hÕŒstd”Œstd-ref”eh"]”h$]”h&]”uh1hÉhjubah}”(h]”h ]”h"]”h$]”h&]”Œrefdoc”h⌠refdomain”j,Œreftype”Œref”Œ refexplicit”ˆŒrefwarn”ˆhèŒ clangformat”uh1hh³jh´Khjubah}”(h]”h ]”h"]”h$]”h&]”uh1h»h³jh´Khjubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³jh´Khhýh²hubj)”}”(hhh]”(j)”}”(hŒ Translator”h]”hŒ Translator”…””}”(hjSh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjPh³jh´Kubj)”}”(hŒ)Federico Vaga ”h]”h¼)”}”(hŒ(Federico Vaga ”h]”(hŒFederico Vaga <”…””}”(hjeh²hh³Nh´NubhŒ reference”“”)”}”(hŒfederico.vaga@vaga.pv.it”h]”hŒfederico.vaga@vaga.pv.it”…””}”(hjoh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”Œrefuri”Œmailto:federico.vaga@vaga.pv.it”uh1jmhjeubhŒ>”…””}”(hjeh²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1h»h³jh´Khjaubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjPubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³jh´Khhýh²hubeh}”(h]”h ]”h"]”h$]”h&]”uh1hûhhh²hh³jh´KubhŒtarget”“”)”}”(hŒ.. _it_clangformat:”h]”h}”(h]”h ]”h"]”h$]”h&]”Œrefid”Œit-clangformat”uh1j›h´Khhh²hh³jubhŒsection”“”)”}”(hhh]”(hŒtitle”“”)”}”(hŒ clang-format”h]”hŒ clang-format”…””}”(hj°h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j®hj«h²hh³jh´K ubh¼)”}”(hŒá``clang-format`` è uno strumento per formattare codice C/C++/... secondo un gruppo di regole ed euristiche. Come tutti gli strumenti, non è perfetto e non copre tutti i singoli casi, ma è abbastanza buono per essere utile.”h]”(hŒliteral”“”)”}”(hŒ``clang-format``”h]”hŒ clang-format”…””}”(hjÄh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÂhj¾ubhŒÑ è uno strumento per formattare codice C/C++/... secondo un gruppo di regole ed euristiche. Come tutti gli strumenti, non è perfetto e non copre tutti i singoli casi, ma è abbastanza buono per essere utile.”…””}”(hj¾h²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1h»h³jh´K hj«h²hubh¼)”}”(hŒ4``clang-format`` può essere usato per diversi fini:”h]”(jÃ)”}”(hŒ``clang-format``”h]”hŒ clang-format”…””}”(hjàh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÂhjÜubhŒ$ può essere usato per diversi fini:”…””}”(hjÜh²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1h»h³jh´Khj«h²hubhŒ block_quote”“”)”}”(hX*- Per riformattare rapidamente un blocco di codice secondo lo stile del kernel. Particolarmente utile quando si sposta del codice e lo si allinea/ordina. Vedere it_clangformatreformat_. - Identificare errori di stile, refusi e possibili miglioramenti nei file che mantieni, le modifiche che revisioni, le differenze, eccetera. Vedere it_clangformatreview_. - Ti aiuta a seguire lo stile del codice, particolarmente utile per i nuovi arrivati o per coloro che lavorano allo stesso tempo su diversi progetti con stili di codifica differenti. ”h]”hŒ bullet_list”“”)”}”(hhh]”(hŒ list_item”“”)”}”(hŒ¸Per riformattare rapidamente un blocco di codice secondo lo stile del kernel. Particolarmente utile quando si sposta del codice e lo si allinea/ordina. Vedere it_clangformatreformat_. ”h]”h¼)”}”(hŒ·Per riformattare rapidamente un blocco di codice secondo lo stile del kernel. Particolarmente utile quando si sposta del codice e lo si allinea/ordina. Vedere it_clangformatreformat_.”h]”(hŒŸPer riformattare rapidamente un blocco di codice secondo lo stile del kernel. Particolarmente utile quando si sposta del codice e lo si allinea/ordina. Vedere ”…””}”(hj h²hh³Nh´Nubjn)”}”(hŒit_clangformatreformat_”h]”hŒit_clangformatreformat”…””}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”Œname”Œit_clangformatreformat”j§Œit-clangformatreformat”uh1jmhj Œresolved”KubhŒ.”…””}”(hj h²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1h»h³jh´Khjubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjubj)”}”(hŒ©Identificare errori di stile, refusi e possibili miglioramenti nei file che mantieni, le modifiche che revisioni, le differenze, eccetera. Vedere it_clangformatreview_. ”h]”h¼)”}”(hŒ¨Identificare errori di stile, refusi e possibili miglioramenti nei file che mantieni, le modifiche che revisioni, le differenze, eccetera. Vedere it_clangformatreview_.”h]”(hŒ’Identificare errori di stile, refusi e possibili miglioramenti nei file che mantieni, le modifiche che revisioni, le differenze, eccetera. Vedere ”…””}”(hj7h²hh³Nh´Nubjn)”}”(hŒit_clangformatreview_”h]”hŒit_clangformatreview”…””}”(hj?h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”Œname”Œit_clangformatreview”j§Œit-clangformatreview”uh1jmhj7j"KubhŒ.”…””}”(hj7h²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1h»h³jh´Khj3ubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjubj)”}”(hŒµTi aiuta a seguire lo stile del codice, particolarmente utile per i nuovi arrivati o per coloro che lavorano allo stesso tempo su diversi progetti con stili di codifica differenti. ”h]”h¼)”}”(hŒ´Ti aiuta a seguire lo stile del codice, particolarmente utile per i nuovi arrivati o per coloro che lavorano allo stesso tempo su diversi progetti con stili di codifica differenti.”h]”hŒ´Ti aiuta a seguire lo stile del codice, particolarmente utile per i nuovi arrivati o per coloro che lavorano allo stesso tempo su diversi progetti con stili di codifica differenti.”…””}”(hjdh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h»h³jh´Khj`ubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjubeh}”(h]”h ]”h"]”h$]”h&]”Œbullet”Œ-”uh1jþh³jh´Khjúubah}”(h]”h ]”h"]”h$]”h&]”uh1jøh³jh´Khj«h²hubh¼)”}”(hX<Il suo file di configurazione è ``.clang-format`` e si trova nella cartella principale dei sorgenti del kernel. Le regole scritte in quel file tentano di approssimare le lo stile di codifica del kernel. Si tenta anche di seguire il più possibile :ref:`Documentation/translations/it_IT/process/coding-style.rst `. Dato che non tutto il kernel segue lo stesso stile, potreste voler aggiustare le regole di base per un particolare sottosistema o cartella. Per farlo, potete sovrascriverle scrivendole in un altro file ``.clang-format`` in una sottocartella.”h]”(hŒ!Il suo file di configurazione è ”…””}”(hj†h²hh³Nh´NubjÃ)”}”(hŒ``.clang-format``”h]”hŒ .clang-format”…””}”(hjŽh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÂhj†ubhŒÆ e si trova nella cartella principale dei sorgenti del kernel. Le regole scritte in quel file tentano di approssimare le lo stile di codifica del kernel. Si tenta anche di seguire il più possibile ”…””}”(hj†h²hh³Nh´Nubh)”}”(hŒQ:ref:`Documentation/translations/it_IT/process/coding-style.rst `”h]”hÊ)”}”(hj¢h]”hŒ9Documentation/translations/it_IT/process/coding-style.rst”…””}”(hj¤h²hh³Nh´Nubah}”(h]”h ]”(hÕŒstd”Œstd-ref”eh"]”h$]”h&]”uh1hÉhj ubah}”(h]”h ]”h"]”h$]”h&]”Œrefdoc”h⌠refdomain”j®Œreftype”Œref”Œ refexplicit”ˆŒrefwarn”ˆhèŒit_codingstyle”uh1hh³jh´Khj†ubhŒÌ. Dato che non tutto il kernel segue lo stesso stile, potreste voler aggiustare le regole di base per un particolare sottosistema o cartella. Per farlo, potete sovrascriverle scrivendole in un altro file ”…””}”(hj†h²hh³Nh´NubjÃ)”}”(hŒ``.clang-format``”h]”hŒ .clang-format”…””}”(hjÄh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÂhj†ubhŒ in una sottocartella.”…””}”(hj†h²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1h»h³jh´Khj«h²hubh¼)”}”(hXQuesto strumento è già stato incluso da molto tempo nelle distribuzioni Linux più popolari. Cercate ``clang-format`` nel vostro repositorio. Altrimenti, potete scaricare una versione pre-generata dei binari di LLVM/clang oppure generarlo dai codici sorgenti:”h]”(hŒgQuesto strumento è già stato incluso da molto tempo nelle distribuzioni Linux più popolari. Cercate ”…””}”(hjÜh²hh³Nh´NubjÃ)”}”(hŒ``clang-format``”h]”hŒ clang-format”…””}”(hjäh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÂhjÜubhŒŽ nel vostro repositorio. Altrimenti, potete scaricare una versione pre-generata dei binari di LLVM/clang oppure generarlo dai codici sorgenti:”…””}”(hjÜh²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1h»h³jh´K&hj«h²hubjù)”}”(hŒ(https://releases.llvm.org/download.html ”h]”h¼)”}”(hŒ'https://releases.llvm.org/download.html”h]”jn)”}”(hjh]”hŒ'https://releases.llvm.org/download.html”…””}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”Œrefuri”juh1jmhjubah}”(h]”h ]”h"]”h$]”h&]”uh1h»h³jh´K+hjüubah}”(h]”h ]”h"]”h$]”h&]”uh1jøh³jh´K+hj«h²hubh¼)”}”(hŒ2Troverete più informazioni ai seguenti indirizzi:”h]”hŒ2Troverete più informazioni ai seguenti indirizzi:”…””}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h»h³jh´K-hj«h²hubjù)”}”(hŒhhttps://clang.llvm.org/docs/ClangFormat.html https://clang.llvm.org/docs/ClangFormatStyleOptions.html ”h]”(h¼)”}”(hŒ,https://clang.llvm.org/docs/ClangFormat.html”h]”jn)”}”(hj2h]”hŒ,https://clang.llvm.org/docs/ClangFormat.html”…””}”(hj4h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”Œrefuri”j2uh1jmhj0ubah}”(h]”h ]”h"]”h$]”h&]”uh1h»h³jh´K/hj,ubh¼)”}”(hŒ8https://clang.llvm.org/docs/ClangFormatStyleOptions.html”h]”jn)”}”(hjJh]”hŒ8https://clang.llvm.org/docs/ClangFormatStyleOptions.html”…””}”(hjLh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”Œrefuri”jJuh1jmhjHubah}”(h]”h ]”h"]”h$]”h&]”uh1h»h³jh´K1hj,ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jøh³jh´K/hj«h²hubjœ)”}”(hŒ.. _it_clangformatreview:”h]”h}”(h]”h ]”h"]”h$]”h&]”j§jOuh1j›h´K>hj«h²hh³jŒ referenced”Kubjª)”}”(hhh]”(j¯)”}”(hŒ5Revisionare lo stile di codifica per file e modifiche”h]”hŒ5Revisionare lo stile di codifica per file e modifiche”…””}”(hjth²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j®hjqh²hh³jh´K7ubh¼)”}”(hŒ˜Eseguendo questo programma, potrete revisionare un intero sottosistema, cartella o singoli file alla ricerca di errori di stile, refusi o miglioramenti.”h]”hŒ˜Eseguendo questo programma, potrete revisionare un intero sottosistema, cartella o singoli file alla ricerca di errori di stile, refusi o miglioramenti.”…””}”(hj‚h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h»h³jh´K9hjqh²hubh¼)”}”(hŒ0Per farlo, potete eseguire qualcosa del genere::”h]”hŒ/Per farlo, potete eseguire qualcosa del genere:”…””}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h»h³jh´K=hjqh²hubhŒ literal_block”“”)”}”(hŒJ# Make sure your working directory is clean! clang-format -i kernel/*.[ch]”h]”hŒJ# Make sure your working directory is clean! clang-format -i kernel/*.[ch]”…””}”hj sbah}”(h]”h ]”h"]”h$]”h&]”Œ xml:space”Œpreserve”uh1jžh³jh´K?hjqh²hubh¼)”}”(hŒ$E poi date un'occhiata a *git diff*.”h]”(hŒE poi date un’occhiata a ”…””}”(hj°h²hh³Nh´NubhŒemphasis”“”)”}”(hŒ *git diff*”h]”hŒgit diff”…””}”(hjºh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¸hj°ubhŒ.”…””}”(hj°h²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1h»h³jh´KBhjqh²hubh¼)”}”(hŒÁOsservare le righe di questo diff è utile a migliorare/aggiustare le opzioni di stile nel file di configurazione; così come per verificare le nuove funzionalità/versioni di ``clang-format``.”h]”(hŒ°Osservare le righe di questo diff è utile a migliorare/aggiustare le opzioni di stile nel file di configurazione; così come per verificare le nuove funzionalità/versioni di ”…””}”(hjÒh²hh³Nh´NubjÃ)”}”(hŒ``clang-format``”h]”hŒ clang-format”…””}”(hjÚh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÂhjÒubhŒ.”…””}”(hjÒh²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1h»h³jh´KDhjqh²hubh¼)”}”(hŒµ``clang-format`` è in grado di leggere diversi diff unificati, quindi potrete revisionare facilmente delle modifiche e *git diff*. La documentazione si trova al seguente indirizzo:”h]”(jÃ)”}”(hŒ``clang-format``”h]”hŒ clang-format”…””}”(hjöh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÂhjòubhŒh è in grado di leggere diversi diff unificati, quindi potrete revisionare facilmente delle modifiche e ”…””}”(hjòh²hh³Nh´Nubj¹)”}”(hŒ *git diff*”h]”hŒgit diff”…””}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¸hjòubhŒ3. La documentazione si trova al seguente indirizzo:”…””}”(hjòh²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1h»h³jh´KHhjqh²hubjù)”}”(hŒKhttps://clang.llvm.org/docs/ClangFormat.html#script-for-patch-reformatting ”h]”h¼)”}”(hŒJhttps://clang.llvm.org/docs/ClangFormat.html#script-for-patch-reformatting”h]”jn)”}”(hj&h]”hŒJhttps://clang.llvm.org/docs/ClangFormat.html#script-for-patch-reformatting”…””}”(hj(h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”Œrefuri”j&uh1jmhj$ubah}”(h]”h ]”h"]”h$]”h&]”uh1h»h³jh´KLhj ubah}”(h]”h ]”h"]”h$]”h&]”uh1jøh³jh´KLhjqh²hubh¼)”}”(hŒ_Per evitare che ``clang-format`` formatti alcune parti di un file, potete scrivere nel codice::”h]”(hŒPer evitare che ”…””}”(hjBh²hh³Nh´NubjÃ)”}”(hŒ``clang-format``”h]”hŒ clang-format”…””}”(hjJh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÂhjBubhŒ> formatti alcune parti di un file, potete scrivere nel codice:”…””}”(hjBh²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1h»h³jh´KNhjqh²hubjŸ)”}”(hŒuint formatted_code; // clang-format off void unformatted_code ; // clang-format on void formatted_code_again;”h]”hŒuint formatted_code; // clang-format off void unformatted_code ; // clang-format on void formatted_code_again;”…””}”hjbsbah}”(h]”h ]”h"]”h$]”h&]”j®j¯uh1jžh³jh´KQhjqh²hubh¼)”}”(hXÁNonostante si attraente l'idea di utilizzarlo per mantenere un file sempre in sintonia con ``clang-format``, specialmente per file nuovi o se siete un manutentore, ricordatevi che altre persone potrebbero usare una versione diversa di ``clang-format`` oppure non utilizzarlo del tutto. Quindi, dovreste trattenervi dall'usare questi marcatori nel codice del kernel; almeno finché non vediamo che ``clang-format`` è diventato largamente utilizzato.”h]”(hŒ]Nonostante si attraente l’idea di utilizzarlo per mantenere un file sempre in sintonia con ”…””}”(hjph²hh³Nh´NubjÃ)”}”(hŒ``clang-format``”h]”hŒ clang-format”…””}”(hjxh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÂhjpubhŒ€, specialmente per file nuovi o se siete un manutentore, ricordatevi che altre persone potrebbero usare una versione diversa di ”…””}”(hjph²hh³Nh´NubjÃ)”}”(hŒ``clang-format``”h]”hŒ clang-format”…””}”(hjŠh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÂhjpubhŒ” oppure non utilizzarlo del tutto. Quindi, dovreste trattenervi dall’usare questi marcatori nel codice del kernel; almeno finché non vediamo che ”…””}”(hjph²hh³Nh´NubjÃ)”}”(hŒ``clang-format``”h]”hŒ clang-format”…””}”(hjœh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÂhjpubhŒ$ è diventato largamente utilizzato.”…””}”(hjph²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1h»h³jh´KWhjqh²hubjœ)”}”(hŒ.. _it_clangformatreformat:”h]”h}”(h]”h ]”h"]”h$]”h&]”j§j!uh1j›h´Kjhjqh²hh³jjpKubeh}”(h]”(Œ5revisionare-lo-stile-di-codifica-per-file-e-modifiche”jOeh ]”h"]”(Œ5revisionare lo stile di codifica per file e modifiche”Œit_clangformatreview”eh$]”h&]”uh1j©hj«h²hh³jh´K7Œexpect_referenced_by_name”}”jÄjfsŒexpect_referenced_by_id”}”jOjfsjpKubjª)”}”(hhh]”(j¯)”}”(hŒRiformattare blocchi di codice”h]”hŒRiformattare blocchi di codice”…””}”(hjÎh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j®hjËh²hh³jh´Kcubh¼)”}”(hXUtilizzando dei plugin per il vostro editor, potete riformattare una blocco (selezione) di codice con una singola combinazione di tasti. Questo è particolarmente utile: quando si riorganizza il codice, per codice complesso, macro multi-riga (e allineare le loro "barre"), eccetera.”h]”hXUtilizzando dei plugin per il vostro editor, potete riformattare una blocco (selezione) di codice con una singola combinazione di tasti. Questo è particolarmente utile: quando si riorganizza il codice, per codice complesso, macro multi-riga (e allineare le loro “barreâ€), eccetera.”…””}”(hjÜh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h»h³jh´KehjËh²hubh¼)”}”(hŒµRicordatevi che potete sempre aggiustare le modifiche in quei casi dove questo strumento non ha fatto un buon lavoro. Ma come prima approssimazione, può essere davvero molto utile.”h]”hŒµRicordatevi che potete sempre aggiustare le modifiche in quei casi dove questo strumento non ha fatto un buon lavoro. Ma come prima approssimazione, può essere davvero molto utile.”…””}”(hjêh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h»h³jh´KjhjËh²hubh¼)”}”(hŒÁQuesto programma si integra con molti dei più popolari editor. Alcuni di essi come vim, emacs, BBEdit, Visaul Studio, lo supportano direttamente. Al seguente indirizzo troverete le istruzioni:”h]”hŒÁQuesto programma si integra con molti dei più popolari editor. Alcuni di essi come vim, emacs, BBEdit, Visaul Studio, lo supportano direttamente. Al seguente indirizzo troverete le istruzioni:”…””}”(hjøh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h»h³jh´KnhjËh²hubjù)”}”(hŒ-https://clang.llvm.org/docs/ClangFormat.html ”h]”h¼)”}”(hŒ,https://clang.llvm.org/docs/ClangFormat.html”h]”jn)”}”(hj h]”hŒ,https://clang.llvm.org/docs/ClangFormat.html”…””}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”Œrefuri”j uh1jmhj ubah}”(h]”h ]”h"]”h$]”h&]”uh1h»h³jh´Krhjubah}”(h]”h ]”h"]”h$]”h&]”uh1jøh³jh´KrhjËh²hubh¼)”}”(hŒPer Atom, Eclipse, Sublime Text, Visual Studio Code, XCode e altri editor e IDEs dovreste essere in grado di trovare dei plugin pronti all'uso.”h]”hŒ‘Per Atom, Eclipse, Sublime Text, Visual Studio Code, XCode e altri editor e IDEs dovreste essere in grado di trovare dei plugin pronti all’uso.”…””}”(hj(h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h»h³jh´KthjËh²hubh¼)”}”(hŒšPer questo caso d'uso, considerate l'uso di un secondo ``.clang-format`` che potete personalizzare con le vostre opzioni. Consultare it_clangformatextra_.”h]”(hŒ;Per questo caso d’uso, considerate l’uso di un secondo ”…””}”(hj6h²hh³Nh´NubjÃ)”}”(hŒ``.clang-format``”h]”hŒ .clang-format”…””}”(hj>h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÂhj6ubhŒ= che potete personalizzare con le vostre opzioni. Consultare ”…””}”(hj6h²hh³Nh´Nubjn)”}”(hŒit_clangformatextra_”h]”hŒit_clangformatextra”…””}”(hjPh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”Œname”Œit_clangformatextra”j§Œit-clangformatextra”uh1jmhj6j"KubhŒ.”…””}”(hj6h²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1h»h³jh´KwhjËh²hubjœ)”}”(hŒ.. _it_clangformatmissing:”h]”h}”(h]”h ]”h"]”h$]”h&]”j§Œit-clangformatmissing”uh1j›h´K†hjËh²hh³jubeh}”(h]”(Œriformattare-blocchi-di-codice”j!eh ]”h"]”(Œriformattare blocchi di codice”Œit_clangformatreformat”eh$]”h&]”uh1j©hj«h²hh³jh´KcjÇ}”j|j´sjÉ}”j!j´sjpKubjª)”}”(hhh]”(j¯)”}”(hŒCose non supportate”h]”hŒCose non supportate”…””}”(hj„h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j®hjh²hh³jh´Kubh¼)”}”(hŒÐ``clang-format`` non ha il supporto per alcune cose che sono comuni nel codice del kernel. Sono facili da ricordare; quindi, se lo usate regolarmente, imparerete rapidamente a evitare/ignorare certi problemi.”h]”(jÃ)”}”(hŒ``clang-format``”h]”hŒ clang-format”…””}”(hj–h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÂhj’ubhŒÀ non ha il supporto per alcune cose che sono comuni nel codice del kernel. Sono facili da ricordare; quindi, se lo usate regolarmente, imparerete rapidamente a evitare/ignorare certi problemi.”…””}”(hj’h²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1h»h³jh´Khjh²hubh¼)”}”(hŒ5In particolare, quelli più comuni che noterete sono:”h]”hŒ5In particolare, quelli più comuni che noterete sono:”…””}”(hj®h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h»h³jh´K…hjh²hubjù)”}”(hX- Allineamento di ``#define`` su una singola riga, per esempio:: #define TRACING_MAP_BITS_DEFAULT 11 #define TRACING_MAP_BITS_MAX 17 #define TRACING_MAP_BITS_MIN 7 contro:: #define TRACING_MAP_BITS_DEFAULT 11 #define TRACING_MAP_BITS_MAX 17 #define TRACING_MAP_BITS_MIN 7 - Allineamento dei valori iniziali, per esempio:: static const struct file_operations uprobe_events_ops = { .owner = THIS_MODULE, .open = probes_open, .read = seq_read, .llseek = seq_lseek, .release = seq_release, .write = probes_write, }; contro:: static const struct file_operations uprobe_events_ops = { .owner = THIS_MODULE, .open = probes_open, .read = seq_read, .llseek = seq_lseek, .release = seq_release, .write = probes_write, }; ”h]”jÿ)”}”(hhh]”(j)”}”(hXCAllineamento di ``#define`` su una singola riga, per esempio:: #define TRACING_MAP_BITS_DEFAULT 11 #define TRACING_MAP_BITS_MAX 17 #define TRACING_MAP_BITS_MIN 7 contro:: #define TRACING_MAP_BITS_DEFAULT 11 #define TRACING_MAP_BITS_MAX 17 #define TRACING_MAP_BITS_MIN 7 ”h]”(h¼)”}”(hŒ>Allineamento di ``#define`` su una singola riga, per esempio::”h]”(hŒAllineamento di ”…””}”(hjÇh²hh³Nh´NubjÃ)”}”(hŒ ``#define``”h]”hŒ#define”…””}”(hjÏh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÂhjÇubhŒ" su una singola riga, per esempio:”…””}”(hjÇh²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1h»h³jh´K‡hjÃubjŸ)”}”(hŒ|#define TRACING_MAP_BITS_DEFAULT 11 #define TRACING_MAP_BITS_MAX 17 #define TRACING_MAP_BITS_MIN 7”h]”hŒ|#define TRACING_MAP_BITS_DEFAULT 11 #define TRACING_MAP_BITS_MAX 17 #define TRACING_MAP_BITS_MIN 7”…””}”hjçsbah}”(h]”h ]”h"]”h$]”h&]”j®j¯uh1jžh³jh´K‰hjÃubh¼)”}”(hŒcontro::”h]”hŒcontro:”…””}”(hjõh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h»h³jh´KhjÃubjŸ)”}”(hŒb#define TRACING_MAP_BITS_DEFAULT 11 #define TRACING_MAP_BITS_MAX 17 #define TRACING_MAP_BITS_MIN 7”h]”hŒb#define TRACING_MAP_BITS_DEFAULT 11 #define TRACING_MAP_BITS_MAX 17 #define TRACING_MAP_BITS_MIN 7”…””}”hjsbah}”(h]”h ]”h"]”h$]”h&]”j®j¯uh1jžh³jh´KhjÃubeh}”(h]”h ]”h"]”h$]”h&]”uh1jhjÀubj)”}”(hXŽAllineamento dei valori iniziali, per esempio:: static const struct file_operations uprobe_events_ops = { .owner = THIS_MODULE, .open = probes_open, .read = seq_read, .llseek = seq_lseek, .release = seq_release, .write = probes_write, }; contro:: static const struct file_operations uprobe_events_ops = { .owner = THIS_MODULE, .open = probes_open, .read = seq_read, .llseek = seq_lseek, .release = seq_release, .write = probes_write, }; ”h]”(h¼)”}”(hŒ/Allineamento dei valori iniziali, per esempio::”h]”hŒ.Allineamento dei valori iniziali, per esempio:”…””}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h»h³jh´K“hjubjŸ)”}”(hX"static const struct file_operations uprobe_events_ops = { .owner = THIS_MODULE, .open = probes_open, .read = seq_read, .llseek = seq_lseek, .release = seq_release, .write = probes_write, };”h]”hX"static const struct file_operations uprobe_events_ops = { .owner = THIS_MODULE, .open = probes_open, .read = seq_read, .llseek = seq_lseek, .release = seq_release, .write = probes_write, };”…””}”hj)sbah}”(h]”h ]”h"]”h$]”h&]”j®j¯uh1jžh³jh´K•hjubh¼)”}”(hŒcontro::”h]”hŒcontro:”…””}”(hj7h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h»h³jh´KžhjubjŸ)”}”(hŒístatic const struct file_operations uprobe_events_ops = { .owner = THIS_MODULE, .open = probes_open, .read = seq_read, .llseek = seq_lseek, .release = seq_release, .write = probes_write, };”h]”hŒístatic const struct file_operations uprobe_events_ops = { .owner = THIS_MODULE, .open = probes_open, .read = seq_read, .llseek = seq_lseek, .release = seq_release, .write = probes_write, };”…””}”hjEsbah}”(h]”h ]”h"]”h$]”h&]”j®j¯uh1jžh³jh´K hjubeh}”(h]”h ]”h"]”h$]”h&]”uh1jhjÀubeh}”(h]”h ]”h"]”h$]”h&]”j~juh1jþh³jh´K‡hj¼ubah}”(h]”h ]”h"]”h$]”h&]”uh1jøh³jh´K‡hjh²hubjœ)”}”(hŒ.. _it_clangformatextra:”h]”h}”(h]”h ]”h"]”h$]”h&]”j§j`uh1j›h´K´hjh²hh³jjpKubeh}”(h]”(Œcose-non-supportate”jueh ]”h"]”(Œcose non supportate”Œit_clangformatmissing”eh$]”h&]”uh1j©hj«h²hh³jh´KjÇ}”jujksjÉ}”jujksubjª)”}”(hhh]”(j¯)”}”(hŒ"Funzionalità e opzioni aggiuntive”h]”hŒ"Funzionalità e opzioni aggiuntive”…””}”(hj}h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j®hjzh²hh³jh´K­ubh¼)”}”(hXKAl fine di minimizzare le differenze fra il codice attuale e l'output del programma, alcune opzioni di stile e funzionalità non sono abilitate nella configurazione base. In altre parole, lo scopo è di rendere le differenze le più piccole possibili, permettendo la semplificazione della revisione di file, differenze e modifiche.”h]”hXMAl fine di minimizzare le differenze fra il codice attuale e l’output del programma, alcune opzioni di stile e funzionalità non sono abilitate nella configurazione base. In altre parole, lo scopo è di rendere le differenze le più piccole possibili, permettendo la semplificazione della revisione di file, differenze e modifiche.”…””}”(hj‹h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h»h³jh´K¯hjzh²hubh¼)”}”(hŒ¹In altri casi (per esempio un particolare sottosistema/cartella/file), lo stile del kernel potrebbe essere diverso e abilitare alcune di queste opzioni potrebbe dare risultati migliori.”h]”hŒ¹In altri casi (per esempio un particolare sottosistema/cartella/file), lo stile del kernel potrebbe essere diverso e abilitare alcune di queste opzioni potrebbe dare risultati migliori.”…””}”(hj™h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h»h³jh´Kµhjzh²hubh¼)”}”(hŒ Per esempio:”h]”hŒ Per esempio:”…””}”(hj§h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h»h³jh´K¹hjzh²hubjù)”}”(hŒé- Allineare assegnamenti (``AlignConsecutiveAssignments``). - Allineare dichiarazioni (``AlignConsecutiveDeclarations``). - Riorganizzare il testo nei commenti (``ReflowComments``). - Ordinare gli ``#include`` (``SortIncludes``). ”h]”jÿ)”}”(hhh]”(j)”}”(hŒ:Allineare assegnamenti (``AlignConsecutiveAssignments``). ”h]”h¼)”}”(hŒ9Allineare assegnamenti (``AlignConsecutiveAssignments``).”h]”(hŒAllineare assegnamenti (”…””}”(hjÀh²hh³Nh´NubjÃ)”}”(hŒ``AlignConsecutiveAssignments``”h]”hŒAlignConsecutiveAssignments”…””}”(hjÈh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÂhjÀubhŒ).”…””}”(hjÀh²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1h»h³jh´K»hj¼ubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj¹ubj)”}”(hŒh²hh³Nh´NubjÃ)”}”(hŒ ``#include``”h]”hŒ#include”…””}”(hjFh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÂhj>ubhŒ (”…””}”(hj>h²hh³Nh´NubjÃ)”}”(hŒ``SortIncludes``”h]”hŒ SortIncludes”…””}”(hjXh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÂhj>ubhŒ).”…””}”(hj>h²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1h»h³jh´KÁhj:ubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj¹ubeh}”(h]”h ]”h"]”h$]”h&]”j~juh1jþh³jh´K»hjµubah}”(h]”h ]”h"]”h$]”h&]”uh1jøh³jh´K»hjzh²hubh¼)”}”(hŒÆPiuttosto che per interi file, solitamente sono utili per la riformattazione di singoli blocchi. In alternativa, potete creare un altro file ``.clang-format`` da utilizzare con il vostro editor/IDE.”h]”(hŒPiuttosto che per interi file, solitamente sono utili per la riformattazione di singoli blocchi. In alternativa, potete creare un altro file ”…””}”(hj‚h²hh³Nh´NubjÃ)”}”(hŒ``.clang-format``”h]”hŒ .clang-format”…””}”(hjŠh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÂhj‚ubhŒ( da utilizzare con il vostro editor/IDE.”…””}”(hj‚h²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1h»h³jh´KÃhjzh²hubeh}”(h]”(Œ!funzionalita-e-opzioni-aggiuntive”j`eh ]”h"]”(Œ"funzionalità e opzioni aggiuntive”Œit_clangformatextra”eh$]”h&]”uh1j©hj«h²hh³jh´K­jÇ}”j¨jesjÉ}”j`jesjpKubeh}”(h]”(Œ clang-format”j¨eh ]”h"]”(Œ clang-format”Œit_clangformat”eh$]”h&]”uh1j©hhh²hh³jh´K jÇ}”j³jsjÉ}”j¨jsubeh}”(h]”h ]”h"]”h$]”h&]”Œsource”juh1hŒcurrent_source”NŒ current_line”NŒsettings”Œdocutils.frontend”ŒValues”“”)”}”(j®NŒ generator”NŒ datestamp”NŒ source_link”NŒ source_url”NŒ toc_backlinks”Œentry”Œfootnote_backlinks”KŒ sectnum_xform”KŒstrip_comments”NŒstrip_elements_with_classes”NŒ strip_classes”NŒ report_level”KŒ halt_level”KŒexit_status_level”KŒdebug”NŒwarning_stream”NŒ traceback”ˆŒinput_encoding”Œ utf-8-sig”Œinput_encoding_error_handler”Œstrict”Œoutput_encoding”Œutf-8”Œoutput_encoding_error_handler”jÛŒerror_encoding”Œutf-8”Œerror_encoding_error_handler”Œbackslashreplace”Œ language_code”Œen”Œrecord_dependencies”NŒconfig”NŒ id_prefix”hŒauto_id_prefix”Œid”Œ dump_settings”NŒdump_internals”NŒdump_transforms”NŒdump_pseudo_xml”NŒexpose_internals”NŒstrict_visitor”NŒ_disable_config”NŒ_source”jŒ _destination”NŒ _config_files”]”Œ7/var/lib/git/docbuild/linux/Documentation/docutils.conf”aŒfile_insertion_enabled”ˆŒ raw_enabled”KŒline_length_limit”M'Œpep_references”NŒ pep_base_url”Œhttps://peps.python.org/”Œpep_file_url_template”Œpep-%04d”Œrfc_references”NŒ rfc_base_url”Œ&https://datatracker.ietf.org/doc/html/”Œ tab_width”KŒtrim_footnote_reference_space”‰Œsyntax_highlight”Œlong”Œ smart_quotes”ˆŒsmartquotes_locales”]”Œcharacter_level_inline_markup”‰Œdoctitle_xform”‰Œ docinfo_xform”KŒsectsubtitle_xform”‰Œ image_loading”Œlink”Œembed_stylesheet”‰Œcloak_email_addresses”ˆŒsection_self_link”‰Œenv”NubŒreporter”NŒindirect_targets”]”Œsubstitution_defs”}”Œsubstitution_names”}”Œrefnames”}”(Œit_clangformatreformat”]”jaŒit_clangformatreview”]”j?aŒit_clangformatextra”]”jPauŒrefids”}”(j¨]”jajO]”jfaj!]”j´aju]”jkaj`]”jeauŒnameids”}”(j³j¨j²j¯jÄjOjÃjÀj|j!j{jxjujujtjqj¨j`j§j¤uŒ nametypes”}”(j³ˆj²‰jĈjÉj|ˆj{‰juˆjt‰j¨ˆj§‰uh}”(j¨j«j¯j«jOjqjÀjqj!jËjxjËjujjqjj`jzj¤jzuŒ footnote_refs”}”Œ citation_refs”}”Œ autofootnotes”]”Œautofootnote_refs”]”Œsymbol_footnotes”]”Œsymbol_footnote_refs”]”Œ footnotes”]”Œ citations”]”Œautofootnote_start”KŒsymbol_footnote_start”KŒ id_counter”Œ collections”ŒCounter”“”}”…”R”Œparse_messages”]”Œtransform_messages”]”(hŒsystem_message”“”)”}”(hhh]”h¼)”}”(hhh]”hŒ4Hyperlink target "it-clangformat" is not referenced.”…””}”hjOsbah}”(h]”h ]”h"]”h$]”h&]”uh1h»hjLubah}”(h]”h ]”h"]”h$]”h&]”Œlevel”KŒtype”ŒINFO”Œsource”jŒline”Kuh1jJubjK)”}”(hhh]”h¼)”}”(hhh]”hŒ;Hyperlink target "it-clangformatmissing" is not referenced.”…””}”hjjsbah}”(h]”h ]”h"]”h$]”h&]”uh1h»hjgubah}”(h]”h ]”h"]”h$]”h&]”Œlevel”KŒtype”jdŒsource”jŒline”K†uh1jJubeŒ transformer”NŒ include_log”]”Œ;Documentation/translations/it_IT/dev-tools/clang-format.rst”(NNNNt”†”aŒ decoration”Nh²hub.