Π²ΡΡΠ°Π²Π½ΠΈΠ²Π°Π½ΠΈΠ΅ ΠΊΠΎΠ΄Π° Π² xcode
Π ΡΠΎΡΠΌΠ°ΡΠΈΡΠΎΠ²Π°Π½ΠΈΠΈ ΠΊΠΎΠ΄Π° ΠΈ User Scripts Π² Xcode 4
ΠΠΎΠ³Π΄Π° ΡΠ΅Π»ΠΎΠ²Π΅ΠΊΡ Π½Π°Π΄ΠΎΠ΅Π΄Π°Π΅Ρ Π΄Π΅Π»Π°ΡΡ ΡΡΡΠΈΠ½Π½ΡΡ ΡΠ°Π±ΠΎΡΡ, Ρ Π½Π΅Π³ΠΎ Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ Π΄ΠΈΠΊΠΎΠ΅ ΠΆΠ΅Π»Π°Π½ΠΈΠ΅ ΠΎΡ ΡΡΠΎΠΉ ΡΠ°Π±ΠΎΡΡ ΠΈΠ·Π±Π°Π²ΠΈΡΡΡΡ. ΠΠ΄Π½Π°ΠΊΠΎ, Π² ΡΠ΅Π°Π»ΡΠ½ΠΎΠΉ ΠΆΠΈΠ·Π½ΠΈ ΠΈΠ·Π±Π°Π²ΠΈΡΡΡΡ ΠΎΡ Π½Π΅Π΅ Π½Π΅ ΡΠ°ΠΊ ΠΏΡΠΎΡΡΠΎ, ΠΈ Π΅Π΅ Π²ΡΠ΅, ΠΆΠ΅ Π½Π°Π΄ΠΎ Π΄Π΅Π»Π°ΡΡ. Π Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΎΡ Π²ΠΈΠ΄Π° ΡΠ°Π±ΠΎΡΡ ΠΈ ΠΎΡ Π΅Π΅ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²Π°, ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΡΡΡΠΏΠ°ΡΡ ΠΏΠΎ-ΡΠ°Π·Π½ΠΎΠΌΡ. ΠΠΎΠΆΠ½ΠΎ ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠ°ΡΡ Π²ΡΠΏΠΎΠ»Π½ΡΡΡ ΡΠΆΠ΅ Π·Π°ΡΡΠ΅Π½Π½ΡΠ΅ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ, ΠΌΠΎΠΆΠ½ΠΎ ΡΠΉΡΠΈ Π² ΡΠ΅Π±Ρ ΠΈ ΠΊΠΎΠΏΠΈΡΡ Π·Π»ΠΎΡΡΡ Π½Π° Π²ΡΠ΅Ρ
ΠΈ Π²ΡΡ, Π½Π° ΡΡΠΎΡ ΠΌΠΈΡ, Π½Π° Π½Π°ΡΠ°Π»ΡΠ½ΠΈΠΊΠ°, Π½Π° PM’a, Π½Π° Π ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠΏΡΡΠ°ΡΡΡΡ ΡΡΡ ΡΡΡΠΈΠ½Ρ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΠ·ΠΈΡΠΎΠ²Π°ΡΡ.
Π ΠΏΠΎΡΡ Π±ΡΠ΄Π΅Ρ ΠΎ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΎΠΉ Π·Π°Π΄Π°ΡΠ΅, ΠΊΠΎΡΠΎΡΡΡ Π½Π°Π΄ΠΎ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΠ·ΠΈΡΠΎΠ²Π°ΡΡ(Code Formatting) ΠΈ ΠΎ ΡΠΎΠΌ, ΠΊΠ°ΠΊ Π²ΡΠ΅-ΡΠ°ΠΊΠΈ ΡΠ°ΡΡΠΈΡΠΈΡΡ Xcode Π²ΡΡΠΊΠΈΠΌΠΈ ΠΏΠΎΠ»Π΅Π·Π½ΡΠΌΠΈ Π²ΠΊΡΡΠ½ΠΎΡΡΡΠΌΠΈ Π΄Π»Ρ Π΄Π°Π»ΡΠ½Π΅ΠΉΡΠΈΡ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΠ·Π°ΡΠΈΠΉ. Π ΠΏΡΠΎΡΠ»ΡΠΉ ΡΠ°Π· ΡΡΠΎ Π±ΡΠ» Copy Paste Detector. Π ΡΠ΅ΠΏΠ΅ΡΡ ΠΏΡΠΈΡΠ»ΠΎ Π²ΡΠ΅ΠΌΡ Code-Formattera. Π‘ΠΊΠ°ΠΆΡ ΡΡΠ°Π·Ρ, ΡΡΠΎ Π² Π·Π΄Π΅ΡΡ Π½Π΅ ΠΏΠΎΠ΄Π½ΠΈΠΌΠ°Π΅ΡΡΡ Π²ΠΎΠΏΡΠΎΡ, Π½ΡΠΆΠ΅Π½ Π»ΠΈ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΉ Code-Formatter. ΠΡΠ΅Π΄ΠΏΠΎΠ»Π°Π³Π°Π΅ΡΡΡ, ΡΡΠΎ ΠΠ°ΠΌ ΠΎΠ½ Π½ΡΠΆΠ΅Π½. ΠΡΠ»ΠΈ, Π²ΡΠ΅ ΠΆΠ΅ Π½Π΅ Π½ΡΠΆΠ΅Π½ β ΠΌΠΎΠΆΠ½ΠΎ Π·Π°Π³Π»ΡΠ½ΡΡΡ ΠΏΠΎΠ΄ ΠΊΠ°Ρ, ΡΡΠΎΠ±Ρ Π²ΡΠΏΠΎΠΌΠ½ΠΈΡΡ ΠΏΡΠΎ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π²Π½Π΅ΡΠ½ΠΈΠ΅ ΡΠΊΡΠΈΠΏΡΡ Π² Xcode.
ΠΠΎΡΠΌΠΎΡΡΠΈΠΌ, ΠΊΠ°ΠΊ ΠΎΠ½ΠΈ Π½Π°ΠΌ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΡΡ.
Π’Π° Ρ ΠΈ ΡΡΠΊΠ°ΠΌΠΈ ΠΏΠΎΠΏΡΠ°Π²Π»Ρ! Π― Π΅ΡΠ΅ Ρ Xcode 1.0 ΡΡΠΊΠ°ΠΌΠΈ ΡΠΎΡΠΌΠ°ΡΠΈΡΡΡ
ΠΡΡΡ ΡΠ°ΠΊΠΈΠ΅ Π»ΡΠ΄ΠΈ. ΠΠΎΠΆΠ΅Ρ, ΠΈΠΌ ΠΈ ΠΏΡΠ°Π²Π΄Π°, Π½Π΅ Π½Π°Π΄ΠΎ ΡΠΎΡΠΌΠ°ΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠ΅ΠΊΡΡΠ°. ΠΠ»Ρ ΡΠ΅Ρ
, ΠΆΠ΅, ΠΊΠΎΠΌΡ Π½Π°Π΄ΠΎ, Π½ΠΎ ΠΈΠΌ Π»Π΅Π½Ρ:
ΠΡΠΎ Ρ ΠΊ ΡΠΎΠΌΡ, ΡΡΠΎ Π΅ΡΠ»ΠΈ Π·Π°Π΄Π°ΡΠ° (Π² ΡΠ°ΡΡΠ½ΠΎΡΡΠΈ ΡΠΎΡΠΌΠ°ΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΊΠΎΠ΄Π°), Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ Π±ΠΎΠ»ΡΡΠ°Ρ, ΡΠΎ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΠ·Π°ΡΠΈΡ Π²ΡΠΈΠ³ΡΡΠ²Π°Π΅Ρ Π½Π° Π΄ΠΎΠ»Π³ΠΎΠΉ Π΄ΠΈΡΡΠ°Π½ΡΠΈΠΈ. ΠΡΠ΅ Π² ΠΊΠΎΠ½ΡΠ΅ ΠΊΠΎΠ½ΡΠΎΠ² ΡΠ²ΠΎΠ΄ΠΈΡΡΡ ΠΊ Π²ΡΠ΅ΠΌΠ΅Π½Π½ΡΠΌ Π·Π°ΡΡΠ°ΡΠ°ΠΌ. ΠΠΎ, Π΄Π°ΠΆΠ΅ Π΅ΡΠ»ΠΈ Π²ΡΠ΅ΠΌΡ Π½Π° Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΡΠΊΡΠΈΠΏΡΠ° + Π²ΡΠ΅ΠΌΡ ΡΠ΅ΡΠ΅Π½ΠΈΡ Π·Π°Π΄Π°ΡΠΈ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ Π±ΠΎΠ»ΡΡΠ΅, ΠΏΠΎ ΡΡΠ°Π²Π½Π΅Π½ΠΈΡ, Π΅ΡΠ»ΠΈ Π± ΡΡΡ Π·Π°Π΄Π°ΡΡ Π΄Π΅Π»Π°Π»ΠΈ ΡΡΠΊΠ°ΠΌΠΈ, ΡΠΎ Π²ΡΠ΅ ΠΆΠ΅, ΡΡΠΎΠΈΡ ΠΏΠΎΠΏΡΡΠ°ΡΡΡΡ Π½Π°ΠΏΠΈΡΠ°ΡΡ ΡΠ°ΠΊΠΎΠΉ ΡΠΊΡΠΈΠΏΡ β ΠΎΠΏΡΡ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΠ·Π°ΡΠΈΠΈ Π²ΡΠ΅-ΡΠ°ΠΊΠΈ.
Π Xcode ΠΈ ΡΠ°ΠΊ ΠΎΠ½ΠΎ Π΅ΡΡΡβ¦ ΠΠ΅ΡΡ? ΠΠ½Π°ΡΠΈΡ ΠΈ Π½Π΅ Π½Π°Π΄ΠΎ.
ΠΠ½Π΅Π½ΠΈΠ΅ Π°Π²ΡΠΎΡΠ°, ΠΎΡΠ½ΠΎΡΠΈΡΠ΅Π»ΡΠ½ΠΎ ΠΊΠΎΠΌΠ°Π½Π΄Ρ Reindent, Π²ΡΡΡΠΎΠ΅Π½Π½ΠΎΠΉ Π² Xcode: Π½Π΅Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ Π΄Π»Ρ ΠΏΠΎΠ»Π½ΠΎΡΠ΅Π½Π½ΠΎΠ³ΠΎ ΡΠΎΡΠΌΠ°ΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΊΠΎΠ΄Π°. ΠΠ΄Π½Π°ΠΊΠΎ, ΠΌΠ½ΠΎΠ³ΠΈΠ΅ Π»ΡΠ΄ΠΈ, ΡΠ°Π·ΡΠ°Π±Π°ΡΡΠ²Π°ΡΡΠΈΠ΅ ΠΏΠΎΠ΄ Xcode ΠΊΠ°ΠΊ ΡΠ°Π· ΡΠΎΠ»ΡΠΊΠΎ Π΅Π³ΠΎ ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡ. ΠΠ½ΠΎΠ³Π΄Π° Π΅ΡΠ΅ Π΅ΡΡΡ Code-Style. ΠΠ½ΠΎΠ³Π΄Π° Code-Style Π³Π΄Π΅-ΡΠΎ ΠΎΠΏΠΈΡΠ°Π½, ΠΈ Π΅ΠΌΡ ΠΏΡΡΠ°ΡΡΡΡ ΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΡ.
ΠΠ΅ΡΡ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π» Re-IndentΠ° Π·Π°ΠΊΠ»ΡΡΠ°Π΅ΡΡΡ Π² ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎΠΌ Π²ΡΡΡΠ°Π²Π»Π΅Π½ΠΈΠΈ ΠΏΡΠΎΠ±Π΅Π»ΠΎΠ²/ΡΠ°Π±ΠΎΠ², Π° Π΅Π³ΠΎ Π½Π°ΡΡΠΎΠΉΠΊΠΈ ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ ΠΏΠΎΠΌΠ΅ΡΠ°ΡΡΡΡ Π½Π° ΠΎΠ΄Π½ΠΎΠΉ Π²ΠΊΠ»Π°Π΄ΠΊΠ΅ ΠΌΠ΅Π½Ρ Xcode.
Π₯ΠΎΡΡ ΡΡΠΎΡ Π²Π°ΡΠΈΠ°Π½Ρ ΠΈ Π½Π΅ ΠΏΠ΅ΡΡΡΠΈΡ ΡΠ°Π·Π½ΠΎΠΎΠ±ΡΠ°Π·Π½ΠΎΡΡΡΡ Π½Π°ΡΡΡΠΎΠ΅ΠΊ, Π½ΠΎ Ρ Π½Π΅Π³ΠΎ Π΅ΡΡΡ ΠΏΡΠΎΡΡΠΎ ΠΎΠ³ΡΠΎΠΌΠ½ΠΎΠ΅ ΠΏΡΠ΅ΠΈΠΌΡΡΠ΅ΡΡΠ²ΠΎ. ΠΠ½ Π²ΡΡΡΠΎΠ΅Π½ Π² Xcode. ΠΠ΅ Π½Π°Π΄ΠΎ Π½ΠΈΡΠ΅Π³ΠΎ ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°ΡΡ, Π»Π΅Π·ΡΡ Π² ΠΈΠ½ΡΠ΅ΡΠ½Π΅Ρ ΠΈ Π·Π°ΠΏΡΡΠΊΠ°ΡΡ ΡΠΊΡΠΈΠΏΡΡ. ΠΡΠ΄Π΅Π»ΡΠ΅ΠΌ ΠΊΡΡΠΎΠΊ ΠΊΠΎΠ΄Π°, Π½Π°ΠΆΠΈΠΌΠ°Π΅ΠΌ ^I. ΠΠΎΠΆΠ΅Ρ Π±ΡΡΡ, ΠΈΠΌΠ΅Π½Π½ΠΎ ΡΡΠ° ΡΠ°ΡΡΡ Π½ΡΠ°Π²ΠΈΡΡΡ Π»ΡΠ΄ΡΠΌ, ΡΡΠΎ Π·Π°ΡΠΈΡΠ°ΡΡΠΈΠΌ Xcode.
ΠΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΈΠ΅ ΡΠΊΡΠΈΠΏΡΡ? Π’Π°ΠΊ ΠΈΡ ΠΆΠ΅ Π½Π΅ ΡΡΠ°Π»ΠΎ Π² Xcode 4.
ΠΠ°, Π² Xcode 4 ΠΌΠ½ΠΎΠ³ΠΎ ΡΠ΅Π³ΠΎ Π½Π΅ ΡΡΠ°Π»ΠΎ, ΠΏΠΎ ΡΡΠ°Π²Π½Π΅Π½ΠΈΡ Ρ Xcode 3. ΠΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΈΠ΅ ΡΠΊΡΠΈΠΏΡΡ ΠΊΠ°ΠΊ ΡΠ°Π· Π² Ρ ΠΎΠ΄ΡΡ Π² ΡΠΏΠΈΡΠΎΠΊ ΡΠΎΠ³ΠΎ, ΡΠ΅Π³ΠΎ Π½Π΅ ΡΡΠ°Π»ΠΎ Π² Xcode 4. ΠΡΠ΄ΠΈ Π² ΡΠ²ΠΎΠ΅ Π²ΡΠ΅ΠΌΡ Π±ΡΠ»ΠΈ ΠΎΡΠ΅Π½Ρ ΡΡΠΈΠΌ ΡΠ°Π·ΠΎΡΠ°ΡΠΎΠ²Π°Π½Ρ.
ΠΠ΄Π½Π°ΠΊΠΎ, Π΄ΠΎΠ±ΡΡΠ΅ Π»ΡΠ΄ΠΈ ΠΏΠΎΠ΄ΡΠΌΠ°Π»ΠΈ-ΠΏΠΎΠ΄ΡΠΌΠ°Π»ΠΈ, Π΄Π° ΠΈ Π²ΡΠΊΡΡΡΠΈΠ»ΠΈΡΡ. Π‘ΡΠ°Π»ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Automator Services. ΠΠ΅ ΡΠΎΠ²ΡΠ΅ΠΌ ΡΠΎ, ΡΡΠΎ Π»ΡΠ΄ΠΈ ΡΠ°Π½ΡΡΠ΅ ΠΏΠΎΠ΄ΡΠ°Π·ΡΠΌΠ΅Π²Π°Π»ΠΈ ΠΏΠΎΠ΄ User Scripts Π² Xcode 3, Π½ΠΎ, ΠΌΠ½ΠΎΠ³ΠΈΠ΅ Π·Π°Π΄Π°ΡΠΈ, ΠΎΠ½ΠΈ, Π²ΡΠ΅ ΠΆΠ΅, ΡΠ΅ΡΠ°ΡΡ.
ΠΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΡ Π² Xcode
ΠΠ»Π°Π³ΠΎΠ΄Π°ΡΡ Π΄ΠΎΠ±ΡΡΠΌ Π»ΡΠ΄ΡΠΌ ΠΈ OpenSource’Ρ ΠΈΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΡ Π² Uncrustify Π² Xcode ΡΡΠ°Π»Π° Π½Ρ ΠΎΡΠ΅Π½Ρ ΠΏΡΠΎΡΡΠΎΠΉ Π·Π°Π΄Π°ΡΠ΅ΠΉ.
ΠΡΠΎΠ΅ΠΊΡ ΠΏΠΎ ΠΈΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΠΈ Uncrustify Π² Xcode ΡΠ΅ΡΠ΅Π· Automator Services Π»Π΅ΠΆΠΈΡ Π½Π° GitHub.
Π‘ΡΠ°Π²ΠΈΠΌ Uncrustify (Π ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠΉ ΡΠ°Π·, Ρ ΡΡΠ°Π²ΠΈΠ» uncrustify ΠΏΡΠΈ ΠΏΠΎΠΌΠΎΡΠΈ homebrew, Π² ΠΏΡΠΈΠ½ΡΠΈΠΏΠ΅, ΠΊΠ°ΠΊ ΠΈ ΠΎΠΏΠΈΡΠ°Π½ΠΎ Π² ΡΠ°ΠΌΠΎΠΌ ΠΏΡΠΎΠ΅ΠΊΡΠ΅), ΡΠΊΠ»Π°Π΄ΡΠ²Π°Π΅ΠΌ ΡΠ²ΠΎΠΈ ΡΠΊΡΠΈΠΏΡΡ-ΡΠ΅ΡΠ²ΠΈΡΡ Π² ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΡΡ ΠΏΠ°ΠΏΠΊΡ(
/Library/Services/Automator/). ΠΡΠΎΡΠΈΡ. ΠΡΠ»ΠΈ Π²ΡΠ΅ ΡΠ΄Π΅Π»Π°Π½ΠΎ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎ, ΡΠ΅ΠΏΠ΅ΡΡ Π² ΠΌΠ΅Π½Ρ Π² Xcode ΠΏΠΎΡΠ²ΡΡΡΡ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡΠΈΠ΅ ΡΠΎΡΠΌΠ°ΡΠΈΡΠΎΠ²Π°ΡΡ ΠΊΠΎΠ΄, ΠΈ ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π½Π΅ Π²ΡΡ
ΠΎΠ΄Ρ ΠΈΠ· Xcode.
Π Π²ΠΎΡ, ΡΡΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ²ΠΈΠ΄Π΅ΡΡ, Π²ΡΠ΄Π΅Π»ΠΈΠ² ΠΊΡΡΠΎΠΊ ΠΊΠΎΠ΄Π° ΠΈ Π½Π°ΠΆΠ°Π² ΠΏΡΠ°Π²ΡΡ ΠΊΠ½ΠΎΠΏΠΊΡ:
ΠΡΠ΄Π° Π΄Π°Π»ΡΡΠ΅?
ΠΡΠΈ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ Π²ΡΠ΅Ρ Π²ΡΡΠ΅ΠΏΠ΅ΡΠ΅ΡΠΈΡΠ»Π΅Π½Π½ΡΡ ΡΠ°Π³ΠΎΠ², Ρ ΠΠ°Ρ ΠΏΠΎΡΠ²ΠΈΠ»Π°ΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ ΡΠΎΡΠΌΠ°ΡΠΈΡΠΎΠ²Π°ΡΡ ΡΠ΅ΠΊΡΡ Π² Xcode.
Π§ΡΠΎ Π΄Π΅Π»Π°ΡΡ Π΄Π°Π»ΡΡΠ΅ β Π·Π°Π²ΠΈΡΠΈΡ ΠΎΡ ΡΠΎΠ³ΠΎ, ΡΡΠΎ Π²Π°ΠΌ Π±ΡΠ»ΠΎ Π½ΡΠΆΠ½ΠΎ Π΄ΠΎ ΡΡΠΎΠ³ΠΎ π
ΠΡΠ»ΠΈ ΠΈΠ·Π½Π°ΡΠ°Π»ΡΠ½ΠΎ Π±ΡΠ»Π° ΠΏΠΎΡΡΠ°Π²Π»Π΅Π½Π° Π·Π°Π΄Π°ΡΠ° ΠΏΠΎ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠΌΡ/ΠΏΠΎΠ»ΡΠ°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠΌΡ ΡΠΎΡΠΌΠ°ΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΊΠΎΠ΄Π°, ΡΠΎ ΡΡΠΎΠΈΡ Π·Π°Π½ΡΡΡΡΡ Π½Π°ΡΡΡΠΎΠΉΠΊΠΎΠΉ ΡΠ°ΠΉΠ»Π° ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ uncrustify.cfg. Π ΡΡΠΎΠΌ, ΠΌΠΎΠΆΠ΅Ρ ΠΏΠΎΠΌΠΎΡΡ Universal Indent GUI β ΠΊΡΠΎΡΡΠΏΠ»Π°ΡΡΠΎΡΠΌΠ΅Π½Π½ΡΠΉ ΡΠ΅Π΄Π°ΠΊΡΠΎΡ code-formatter’ΠΎΠ², Π² ΡΠΎΠΌ ΡΠΈΡΠ»Π΅ ΠΈ Π΄Π»Ρ uncrustify.
Π ΡΠ»ΡΡΠ°Π΅, Π΅ΡΠ»ΠΈ ΠΈΠ½ΡΠ΅ΡΠ΅Ρ Π±ΡΠ» Π±ΠΎΠ»ΡΡΠ΅ ΠΊ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ Π²Π½Π΅Π΄ΡΠ΅Π½ΠΈΡ Π²Π½Π΅ΡΠ½ΠΈΡ ΡΠΊΡΠΈΠΏΡΠΎΠ² Π² Xcode β ΡΠΎ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠΌ ΠΏΡΠΎΠ± ΠΈ ΠΎΡΠΈΠ±ΠΎΠΊ, Π½Π° ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΡΠΆΠ΅ Π³ΠΎΡΠΎΠ²ΠΎΠ³ΠΎ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½Π½ΠΎΠ³ΠΎ ΡΠ΅ΡΠ²ΠΈΡΠ°, ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠΈΠ΄ΡΠΌΠ°ΡΡ ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΠΎΠ»Π΅Π·Π½ΡΡ Π²Π΅ΡΠ΅ΠΉ.
ΠΠ»ΡΡΠ΅ΡΠ½Π°ΡΠΈΠ²Ρ
ΠΠΈΡΠ½ΠΎ ΠΎΡ ΡΠ΅Π±Ρ Ρ Π±Ρ ΠΏΠΎΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄ΠΎΠ²Π°Π» ΠΏΠΎΡΠΌΠΎΡΡΠ΅ΡΡ Π² ΡΡΠΎΡΠΎΠ½Ρ AppCode, ΠΎ ΠΊΠΎΡΠΎΡΠΎΠΌ Π² ΡΠ²ΠΎΠ΅ Π²ΡΠ΅ΠΌΡ ΡΠΆΠ΅ ΠΏΠΈΡΠ°Π»ΠΈ Π½Π° Π₯Π°Π±ΡΠ΅. ΠΡΡΡΡ, Π΄Π°ΠΆΠ΅ ΠΎΠ½ ΠΈ ΠΏΠ»Π°ΡΠ½ΡΠΉ Ρ 30-Π΄Π½Π΅Π²Π½ΡΠΌ Π±Π΅ΡΠΏΠ»Π°ΡΠ½ΡΠΌ ΠΏΠ΅ΡΠΈΠΎΠ΄ΠΎΠΌ. ΠΠΎΠΏΡΠΎΡ ΠΎ ΡΠΎΡΠΌΠ°ΡΠΈΡΠΎΠ²Π°Π½ΠΈΠΈ ΠΊΠΎΠ΄Π° Π² Appcod’Π΅ ΡΠ΅ΡΠ°Π΅ΡΡΡ ΡΠΎΠ²ΡΠ΅ΠΌ Π½Π° Π΄ΡΡΠ³ΠΎΠΌ ΡΡΠΎΠ²Π½Π΅:
Code Formatting In Xcode
Is there anyway to format the code in Xcode like you can do in Eclipse or Netbenas. I have not found any option in menu, is there any hot key for this or its simply not in Xcode?
12 Answers 12
In Xcode 4, it’s been moved to Editor > Structure > Re-Indent command (and has a default shortcut of CTRL + I ).
Select some text and then: Edit->Format->Re-Indent
You can bind this to a hotkey in the preferences.
Other than re-indentation (Edit > Format > Re-Indent), not really. However, Xcode does have support for scripts (the menu to the right of the Window menu), so you could conceivably write a script that formats your code how you like it.
Edit: here are some links that touch on this subject:
Here are the shortcuts, to format the code in Xcode
1.Format entire code (entire class/controller)
select the entire code and press β + | on mac to format your code.
2.Format particular block of code
select the code and press
β + ] for right move and β + [ for left move
Note : as per @JavierGiovannini sugesstion you can do using Editor Menu option
My personal favorite code formatter is Uncrustify. It has many, many options, so I also suggest you download UniversalIndentGUI, a GUI to help set Uncrustify’s behavior to your liking.
XCode 8 Extensions
Another option is to use an extension like Swimat. Does the job for me. However, the caveat is that it does not format on save due to the restrictive Xcode Extension APIs, but they’re trying to find a workaround.
Not saying this is best approach, but for completeness, if you cut and then paste the code back in, Xcode will automatically format it for you.
If you love looking your code like me, you really need this shortcut π
You have to select with CMD + A for reformatting whole code segment.
All you need to do this, select the code segment which you want to reformat it and press : Ctrl + I Magically, It is just reformatted 🥳
Well, first of all welcome to 2021. I know it’s a very old question but still people like me visit this and for those people, I’m putting out multiple available solutions in one answer that worked for me after 2 hours of research and testing.
Re-Indent
As everyone else is suggesting, it’s one of the default solution if you just want to re-indent the lines of code:
Using Xcode Extensions
There are 2 extensions I found and used which works charmingly for me.
1) SwiftFormat: mentioning the steps to install the xcode extension here from the readme.
Like the command-line tool, you can install the SwiftFormat for Xcode extension application via Homebrew. Assuming you already have Homebrew installed, type:
open the SwiftFormat for Xcode.app that you just installed. there you can change the rules of formatting.
Voila! You’re good to go. you can use three options. format selected code, format entire file OR just lint file.
2) Swimat: (it is already mentioned in one of the answer here by @Guy Daher) steps to install from readme
Homebrew latest version
Bingo! You’re good to go.
Additional uninvited help
You can simply set the keybinding to use any of this command. i.e. I’ve set the android studio default command to reformat the code as option + command + L
ps If anyone else found a better extension, please let me know in comment, I’ll add it to the list.
ΠΡΡΠ°Π²Π½ΠΈΠ²Π°Π½ΠΈΠ΅ ΠΊΠΎΠ΄Π° Π² xcode
ΠΠ½ΠΎΠ³ΠΈΠ΅ Π°ΡΠΏΠ΅ΠΊΡΡ ΡΡΠ΅Π΄Ρ ΡΠ΅Π΄Π°ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π² ΡΠΈΡΡΠ΅ΠΌΠ΅ Xcode ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΡΡΡΠΎΠΈΡΡ ΠΏΠΎ ΡΠ²ΠΎΠ΅ΠΌΡ ΡΡΠΌΠΎΡΡΠ΅Π½ΠΈΡ.
ΠΠ° ΠΏΠ΅ΡΠ²ΠΎΠΌ ΡΠ°Π³Π΅ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π²ΡΠ±ΡΠ°ΡΡ Π½Π°ΡΠ΅ΡΡΠ°Π½ΠΈΠ΅ ΠΈ ΡΠ°Π·ΠΌΠ΅Ρ ΡΡΠΈΡΡΠ° Π² Π½Π°ΡΡΡΠΎΠΉΠΊΠ΅ Source Editor Π½Π° ΠΏΠ°Π½Π΅Π»ΠΈ Π½Π°ΡΡΡΠΎΠ΅ΠΊ Fonts & Colors. ΠΡΠΎ ΠΎΡΠ΅Π½Ρ Π²Π°ΠΆΠ½ΠΎ Π΄Π»Ρ ΡΠΎΠ³ΠΎ, ΡΡΠΎΠ±Ρ ΠΏΠΈΡΠ°ΡΡ ΠΈ ΡΠΈΡΠ°ΡΡ ΠΊΠΎΠ΄ Π±ΡΠ»ΠΎ ΡΠ΄ΠΎΠ±Π½ΠΎ! Π― ΠΏΡΠ΅Π΄ΠΏΠΎΡΠΈΡΠ°Ρ ΠΊΡΡΠΏΠ½ΡΠ΅ ΡΡΠΈΡΡΡ (13, 14 ΠΈ Π΄Π°ΠΆΠ΅ 16) ΠΈ ΠΏΡΠΈΡΡΠ½ΡΠΉ ΠΌΠΎΠ½ΠΎΡΠΈΡΠΈΠ½Π½ΡΠΉ ΡΡΠΈΡΡ, ΡΠ°ΠΊΠΎΠΉ ΠΊΠ°ΠΊ Monaco, Menlo ΠΈΠ»ΠΈ Consolas (ΠΈΠ»ΠΈ ΡΠ²ΠΎΠ±ΠΎΠ΄Π½ΠΎ ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½ΡΠ΅ΠΌΡΠΉ ΡΡΠΈΡΡ Inconsolata).
Π ΡΡΠ΅Π΄Π΅ Xcode ΡΡΡΠ΅ΡΡΠ²ΡΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ ΡΠΎΡΠΌΠ°ΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ, Π°Π²ΡΠΎΠ·Π°ΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΈ Π²ΡΠ±ΠΎΡΠ° ΡΠ΅ΠΊΡΡΠ°, Π°Π΄Π°ΠΏΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠ΅ Π΄Π»Ρ ΡΠ·ΡΠΊΠ° Objective-C. ΠΡ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ Π·Π°Π²ΠΈΡΠΈΡ ΠΎΡ Π½Π°ΡΡΡΠΎΠ΅ΠΊ Π½Π° Π²ΠΊΠ»Π°Π΄ΠΊΠ°Ρ Editing ΠΈ Indentation ΠΏΠ°Π½Π΅Π»ΠΈ Π½Π°ΡΡΡΠΎΠ΅ΠΊ Text Editing. Π― Π½Π΅ ΡΠΎΠ±ΠΈΡΠ°ΡΡΡ ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΠΎ ΠΎΠΏΠΈΡΡΠ²Π°ΡΡ ΡΡΠΈ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ Π΄Π΅ΡΠ°Π»ΡΠ½ΠΎ, Π½ΠΎ ΡΠΎΠ²Π΅ΡΡΡ Π²Π°ΠΌ Π²ΠΎΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ ΠΈΠΌΠΈ. ΠΠ° Π²ΠΊΠ»Π°Π΄ΠΊΠ΅ Editing Ρ Π±Ρ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΠ» Π²ΡΠ΅ ΡΠ»Π°ΠΆΠΊΠΈ, Π²ΠΊΠ»ΡΡΠ°Ρ Line Numbers; ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ Π½ΠΎΠΌΠ΅ΡΠΎΠ² ΡΡΡΠΎΠΊ ΠΏΠΎΠ»Π΅Π·Π½ΠΎ ΠΏΡΠΈ ΡΠ΅Π΄Π°ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΠΈ. ΠΠ° Π²ΠΊΠ»Π°Π΄ΠΊΠ΅ Indentation Ρ Π±Ρ ΡΠ°ΠΊΠΆΠ΅ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΠ» Π²ΡΠ΅ ΡΠ»Π°ΠΆΠΊΠΈ; Ρ ΡΡΠΈΡΠ°Ρ, ΡΡΠΎ ΠΌΠ°ΠΊΠ΅Ρ ΠΊΠΎΠ΄Π° Π½Π° ΡΠ·ΡΠΊΠ΅ Objective-C Π² ΡΡΠ΅Π΄Π΅ Xcode ΠΏΡΠΈ ΡΡΠΈΡ Π½Π°ΡΡΡΠΎΠΉΠΊΠ°Ρ ΠΏΡΠ΅Π²ΠΎΡΡ ΠΎΠ΄Π΅Π½.
ΠΡΠ»ΠΈ Π²Π°ΠΌ Π½ΡΠ°Π²ΠΈΡΡΡ ΠΈΠ½ΡΠ΅Π»Π»Π΅ΠΊΡΡΠ°Π»ΡΠ½Π°Ρ ΡΠΈΡΡΠ΅ΠΌΠ° Π²ΡΡΠ°Π²Π½ΠΈΠ²Π°Π½ΠΈΡ ΡΠ΅ΠΊΡΡΠ° Π² ΡΡΠ΅Π΄Π΅ Xcode ΠΈ Π²Ρ ΠΎΠ±Π½Π°ΡΡΠΆΠΈΠ»ΠΈ, ΡΡΠΎ Π²ΡΡΠ°Π²Π½ΠΈΠ²Π°Π½ΠΈΠ΅ Π²Π°ΡΠ΅ΠΉ ΡΡΡΠΎΠΊΠΈ ΠΊΠΎΠ΄Π° ΠΎΠΊΠ°Π·Π°Π»ΠΎΡΡ Π½Π΅ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΡΠΌ, Π²ΡΠ±Π΅ΡΠΈΡΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ
Editor^StructureO Re-Indent ( ), ΠΊΠΎΡΠΎΡΠ°Ρ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅Ρ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΡΡ ΠΏΠΎΠ΄ΡΡΠ°Π½ΠΎΠ²ΠΊΡ ΡΠ΅ΠΊΡΡΠ΅ΠΉ ΡΡΡΠΎΠΊΠΈ. (ΠΡΠΎΠ±Π»Π΅ΠΌΡ Ρ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΌ Π²ΡΡΠ°Π²Π½ΠΈΠ²Π°Π½ΠΈΠ΅ΠΌ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ Π²ΡΠ·Π²Π°Π½Ρ Π½Π°ΡΡΡΠ΅Π½ΠΈΠ΅ΠΌ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈΡ ΠΏΡΠ°Π²ΠΈΠ» Π² ΡΠ°ΠΉΠ»Π΅, ΡΠ°ΠΊ ΡΡΠΎ ΡΡΠΎ ΡΠ°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ ΡΠ»ΡΠΆΠΈΡΡ ΠΏΡΠΈΠ·Π½Π°ΠΊΠΎΠΌ ΠΎΡΠΈΠ±ΠΊΠΈ.)
ΠΠ±ΡΠ°ΡΠΈΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° ΡΠ»Π°ΠΆΠΎΠΊ Automatically balance brackets in Objective-Π‘ method calls, Π½Π° Π²ΠΊΠ»Π°Π΄ΠΊΠ΅ Editing. ΠΡΠ»ΠΈ ΡΡΠΎΡ ΡΠ»Π°ΠΆΠΎΠΊ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½, ΡΠΎ, ΠΊΠΎΠ³Π΄Π° Π²Ρ ΠΏΠΎΡΡΠ°Π²ΠΈΡΠ΅ Π·Π°ΠΊΡΡΠ²Π°ΡΡΡΡ ΠΊΠ²Π°Π΄ΡΠ°ΡΠ½ΡΡ ΡΠΊΠΎΠ±ΠΊΡ ΠΏΠΎΡΠ»Π΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΉ ΡΠ°ΡΡΠΈ ΡΠ΅ΠΊΡΡΠ°, ΡΡΠ΅Π΄Π° Xcode Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ Π²ΡΡΠ°Π²ΠΈΡ ΠΎΡΠΊΡΡΠ²Π°ΡΡΡΡ ΠΊΠ²Π°Π΄ΡΠ°ΡΠ½ΡΡ ΡΠΊΠΎΠ±ΠΊΡ ΠΏΠ΅ΡΠ΅Π΄ ΡΡΠΈΠΌ ΡΡΠ°Π³ΠΌΠ΅Π½ΡΠΎΠΌ ΡΠ΅ΠΊΡΡΠ°. ΠΠ½Π΅ Π½ΡΠ°Π²ΠΈΡΡΡ ΡΡΠ° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΠΎΠ½Π° ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΌΠ½Π΅ Π½Π°Π±ΠΈΡΠ°ΡΡ Π²Π»ΠΎΠΆΠ΅Π½Π½ΡΠ΅ ΠΊΠ²Π°Π΄ΡΠ°ΡΠ½ΡΠ΅ ΡΠΊΠΎΠ±ΠΊΠΈ, Π½Π΅ ΠΏΠ»Π°Π½ΠΈΡΡΡ ΠΈΡ Π·Π°ΡΠ°Π½Π΅Π΅. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π΄ΠΎΠΏΡΡΡΠΈΠΌ, ΡΡΠΎ Ρ Π½Π°Π±ΡΠ°Π» ΡΡΡΠΎΠΊΡ
UIAlertView* av = [UIAlertView alloc
ΠΈ Π² ΡΡΠΎΡ ΠΌΠΎΠΌΠ΅Π½Ρ Π½Π°Π±ΡΠ°Π» ΠΏΡΠ°Π²ΡΡ ΠΊΠ²Π°Π΄ΡΠ°ΡΠ½ΡΡ ΡΠΊΠΎΠ±ΠΊΡ Π΄Π²Π°ΠΆΠ΄Ρ. ΠΠ΅ΡΠ²Π°Ρ ΠΊΠ²Π°Π΄ΡΠ°ΡΠ½Π°Ρ ΡΠΊΠΎΠ±ΠΊΠ° Π·Π°ΠΊΡΡΠ²Π°Π΅Ρ ΠΎΡΠΊΡΡΠ²Π°ΡΡΡΡ Π»Π΅Π²ΡΡ ΠΊΠ²Π°Π΄ΡΠ°ΡΠ½ΡΡ ΡΠΊΠΎΠ±ΠΊΡ (ΡΡΠΈ ΡΠΊΠΎΠ±ΠΊΠΈ Π±ΡΠ΄ΡΡ ΠΏΠΎΠ΄ΡΠ²Π΅ΡΠ΅Π½Ρ). ΠΠ΅ΡΠ΅Π΄ Π²ΡΠΎΡΠΎΠΉ Π·Π°ΠΊΡΡΠ²Π°ΡΡΠ΅ΠΉ ΠΊΠ²Π°Π΄ΡΠ°ΡΠ½ΠΎΠΉ ΡΠΊΠΎΠ±ΠΊΠΎΠΉ Π±ΡΠ΄Π΅Ρ Π²ΡΡΠ°Π²Π»Π΅Π½ ΠΏΡΠΎΠ±Π΅Π», Π° ΠΏΠ΅ΡΠ΅Π΄ ΡΠ΅ΠΊΡΡΠΎΠΌ β Π½Π΅Π΄ΠΎΡΡΠ°ΡΡΠ°Ρ ΠΎΡΠΊΡΡΠ²Π°ΡΡΠ°Ρ ΠΊΠ²Π°Π΄ΡΠ°ΡΠ½Π°Ρ ΡΠΊΠΎΠ±ΠΊΠ°. ΠΡΡΡΠΎΡ Π²ΡΡΠ°Π²ΠΊΠΈ Π±ΡΠ΄Π΅Ρ Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡΡ ΠΏΠ΅ΡΠ΅Π΄ Π²ΡΠΎΡΠΎΠΉ Π·Π°ΠΊΡΡΠ²Π°ΡΡΠ΅ΠΉ ΠΊΠ²Π°Π΄ΡΠ°ΡΠ½ΠΎΠΉ ΡΠΊΠΎΠ±ΠΊΠΎΠΉ, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡ ΠΌΠ½Π΅ Π²ΡΡΠ°Π²Π»ΡΡΡ ΡΡΠ΄Π° ΡΠ΅ΠΊΡΡ init:.
ΠΡΠ»ΠΈ ΡΠ»Π°ΠΆΠΎΠΊ Enable type-over completions ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½, ΡΡΠ΅Π΄Π° Xcode Π΄Π΅Π»Π°Π΅Ρ Π΅ΡΠ΅ Π±ΠΎΠ»ΡΡΠ΅. ΠΠΎΠ³Π΄Π° Ρ Π½Π°ΡΠΈΠ½Π°Ρ Π½Π°Π±ΠΈΡΠ°ΡΡ ΡΡ ΠΆΠ΅ ΡΡΡΠΎΠΊΡ ΠΊΠΎΠ΄Π°
ΡΡΠ΅Π΄Π° Xcode Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ Π΄ΠΎΠ±Π°Π²Π»ΡΠ΅Ρ Π·Π°ΠΊΡΡΠ²Π°ΡΡΡΡ ΠΊΠ²Π°Π΄ΡΠ°ΡΠ½ΡΡ ΡΠΊΠΎΠ±ΠΊΡ, Π° ΡΠΎΡΠΊΠ° Π²ΡΡΠ°Π²ΠΊΠΈ ΡΠ°ΡΠΏΠΎΠ»Π°Π³Π°Π΅ΡΡΡ ΠΏΠ΅ΡΠ΅Π΄ Π½Π΅ΠΉ:
ΠΠ΄Π½Π°ΠΊΠΎ ΡΡΠ° Π·Π°ΠΊΡΡΠ²Π°ΡΡΠ°Ρ ΠΊΠ²Π°Π΄ΡΠ°ΡΠ½Π°Ρ ΡΠΊΠΎΠ±ΠΊΠ° ΡΠ²Π»ΡΠ΅ΡΡΡ Π³ΠΈΠΏΠΎΡΠ΅ΡΠΈΡΠ΅ΡΠΊΠΎΠΉ ΠΈ ΠΏΠΎΡΡΠΎΠΌΡ ΠΎΠΊΡΠ°ΡΠΈΠ²Π°Π΅ΡΡΡ ΡΠ΅ΡΡΠΌ ΡΠ²Π΅ΡΠΎΠΌ. Π’Π΅ΠΏΠ΅ΡΡ Ρ Π·Π°ΠΊΠ°Π½ΡΠΈΠ²Π°Ρ Π½Π°Π±ΠΈΡΠ°ΡΡ ΠΏΠ΅ΡΠ²ΡΠΉ Π²Π»ΠΎΠΆΠ΅Π½Π½ΡΠΉ Π²ΡΠ·ΠΎΠ² ΠΌΠ΅ΡΠΎΠ΄Π°, ΠΈ Π·Π°ΠΊΡΡΠ²Π°ΡΡΠ°Ρ ΠΊΠ²Π°Π΄ΡΠ°ΡΠ½Π°Ρ ΡΠΊΠΎΠ±ΠΊΠ° ΠΎΡΡΠ°Π΅ΡΡΡ ΡΠ΅ΡΠΎΠΉ:
UIAlertView* av = [UIAlertView alloc]
II Π― Π½Π°Π±ΡΠ°Π» ΡΡΡΠΎΠΊΡ Π΄ΠΎ ΡΡΠΎΠ³ΠΎ ΠΌΠ΅ΡΡΠ° Π
Π€ΠΎΡΠΌΠ°ΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΠΎΠ΄Π° Π Xcode
Π΅ΡΡΡ Π»ΠΈ Π² Π»ΡΠ±ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΡΠΎΡΠΌΠ°ΡΠΈΡΠΎΠ²Π°ΡΡ ΠΊΠΎΠ΄ Π² Xcode, ΠΊΠ°ΠΊ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠ΄Π΅Π»Π°ΡΡ Π² Eclipse ΠΈΠ»ΠΈ Netbenas. Π― Π½Π΅ Π½Π°ΡΠ΅Π» Π½ΠΈΠΊΠ°ΠΊΠΎΠΉ ΠΎΠΏΡΠΈΠΈ Π² ΠΌΠ΅Π½Ρ, Π΅ΡΡΡ Π»ΠΈ Π³ΠΎΡΡΡΠ°Ρ ΠΊΠ»Π°Π²ΠΈΡΠ° Π΄Π»Ρ ΡΡΠΎΠ³ΠΎ ΠΈΠ»ΠΈ Π΅Π΅ ΠΏΡΠΎΡΡΠΎ Π½Π΅Ρ Π² Xcode?
10 ΠΎΡΠ²Π΅ΡΠΎΠ²
Π²ΡΠ±Π΅ΡΠΈΡΠ΅ ΡΠ΅ΠΊΡΡ, Π° Π·Π°ΡΠ΅ΠΌ: Edit- > Format->Re-Indent
ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠΈΠ²ΡΠ·Π°ΡΡ ΠΊ Π³ΠΎΡΡΡΠ΅ΠΉ ΠΊΠ»Π°Π²ΠΈΡΠ΅ Π² Π½Π°ΡΡΡΠΎΠΉΠΊΠ°Ρ .
Π² Xcode 4 ΠΎΠ½ Π±ΡΠ» ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΠ΅Π½ Π² Editor > Structure > Re-Indent ΠΊΠΎΠΌΠ°Π½Π΄Π° (ΠΈ ΠΈΠΌΠ΅Π΅Ρ ΡΡΠ»ΡΠΊ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ CTRL + Π― ).
ΠΊΡΠΎΠΌΠ΅ ΠΏΠΎΠ²ΡΠΎΡΠ½ΠΎΠ³ΠΎ ΠΎΡΡΡΡΠΏΠ° (Edit > Format > Re-Indent), Π½Π΅ ΡΠΎΠ²ΡΠ΅ΠΌ. ΠΠ΄Π½Π°ΠΊΠΎ Xcode ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅Ρ ΡΠΊΡΠΈΠΏΡΡ (ΠΌΠ΅Π½Ρ ΡΠΏΡΠ°Π²Π° ΠΎΡ ΠΌΠ΅Π½Ρ ΠΎΠΊΠ½Π°), ΠΏΠΎΡΡΠΎΠΌΡ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π½Π°ΠΏΠΈΡΠ°ΡΡ ΡΡΠ΅Π½Π°ΡΠΈΠΉ, ΠΊΠΎΡΠΎΡΡΠΉ ΡΠΎΡΠΌΠ°ΡΠΈΡΡΠ΅Ρ Π²Π°Ρ ΠΊΠΎΠ΄ ΡΠ°ΠΊ, ΠΊΠ°ΠΊ Π²Π°ΠΌ Π½ΡΠ°Π²ΠΈΡΡΡ.
Edit: Π²ΠΎΡ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ ΡΡΡΠ»ΠΊΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΊΠ°ΡΠ°ΡΡΡΡ ΡΡΠΎΠΉ ΡΠ΅ΠΌΡ:
Π²ΠΎΡ ΡΡΠ»ΡΠΊΠΈ, ΡΡΠΎΠ±Ρ ΠΎΡΡΠΎΡΠΌΠ°ΡΠΈΡΠΎΠ²Π°ΡΡ ΠΊΠΎΠ΄ Π² Xcode
1.Π€ΠΎΡΠΌΠ°ΡΠΈΡΠΎΠ²Π°ΡΡ Π²Π΅ΡΡ ΠΊΠΎΠ΄ (Π²Π΅ΡΡ ΠΊΠ»Π°ΡΡ/ΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅Ρ)
Π²ΡΠ΄Π΅Π»ΠΈΡΠ΅ Π²Π΅ΡΡ ΠΊΠΎΠ΄ ΠΈ ΠΏΡΠ΅ΡΡ β + | Π½Π° mac Π΄Π»Ρ ΡΠΎΡΠΌΠ°ΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΊΠΎΠ΄Π°.
2.Π€ΠΎΡΠΌΠ°ΡΠΈΡΠΎΠ²Π°ΡΡ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΡΠΉ Π±Π»ΠΎΠΊ ΠΊΠΎΠ΄Π°
Π²ΡΠ±Π΅ΡΠΈΡΠ΅ ΠΊΠΎΠ΄ ΠΈ Π½Π°ΠΆΠΌΠΈΡΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΡΡ ΠΊΠ»Π°Π²ΠΈΡΡ
β + ] Π΄Π»Ρ ΠΏΡΠ°Π²ΠΎΠ³ΠΎ Ρ ΠΎΠ΄Π° ΠΈ β + [ Π΄Π»Ρ Π»Π΅Π²ΡΠΉ Ρ ΠΎΠ΄
ΠΏΡΠΈΠΌΠ΅ΡΠ°Π½ΠΈΠ΅: ΡΠΎΠ³Π»Π°ΡΠ½ΠΎ @JavierGiovannini sugesstion Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠ΄Π΅Π»Π°ΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΎΠΏΡΠΈΠΈ ΠΌΠ΅Π½Ρ ΡΠ΅Π΄Π°ΠΊΡΠΎΡΠ°
ΠΠ΅ Π³ΠΎΠ²ΠΎΡΡ, ΡΡΠΎ ΡΡΠΎ Π»ΡΡΡΠΈΠΉ ΠΏΠΎΠ΄Ρ ΠΎΠ΄, Π½ΠΎ Π΄Π»Ρ ΠΏΠΎΠ»Π½ΠΎΡΡ, Π΅ΡΠ»ΠΈ Π²Ρ Π²ΡΡΠ΅Π·Π°Π΅ΡΠ΅, Π° Π·Π°ΡΠ΅ΠΌ Π²ΡΡΠ°Π²Π»ΡΠ΅ΡΠ΅ ΠΊΠΎΠ΄ ΠΎΠ±ΡΠ°ΡΠ½ΠΎ, Xcode Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ ΠΎΡΡΠΎΡΠΌΠ°ΡΠΈΡΡΠ΅Ρ Π΅Π³ΠΎ Π΄Π»Ρ Π²Π°Ρ.
Π² V. 4 ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π²Π½Π΅ΡΡΠΈ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ ΠΊΠΎΡΡΠ΅ΠΊΡΠΈΠ²Ρ ΡΠ΅ΡΠ΅Π· Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ xCode.
Π²Ρ ΡΠ°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π²ΡΠ΄Π΅Π»ΠΈΡΡ ΠΊΠΎΠ΄, ΠΊΠΎΡΠΎΡΡΠΉ Ρ ΠΎΡΠΈΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ ΠΎΡΡΡΡΠΏ, ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ re-indent
Π Π°ΡΡΠΈΡΠ΅Π½ΠΈΡ XCode 8
Π΄ΡΡΠ³ΠΎΠΉ Π²Π°ΡΠΈΠ°Π½Ρ-ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΠ΅ Π²ΡΠΎΠ΄Π΅ Swimat. ΠΠ΅Π»Π°Π΅Ρ ΡΠ°Π±ΠΎΡΡ Π·Π° ΠΌΠ΅Π½Ρ. ΠΠ΄Π½Π°ΠΊΠΎ ΠΏΡΠ΅Π΄ΠΎΡΡΠ΅ΡΠ΅ΠΆΠ΅Π½ΠΈΠ΅ Π·Π°ΠΊΠ»ΡΡΠ°Π΅ΡΡΡ Π² ΡΠΎΠΌ, ΡΡΠΎ ΠΎΠ½ Π½Π΅ ΡΠΎΡΠΌΠ°ΡΠΈΡΡΠ΅ΡΡΡ ΠΏΡΠΈ ΡΠΎΡ ΡΠ°Π½Π΅Π½ΠΈΠΈ ΠΈΠ·-Π·Π° ΠΎΠ³ΡΠ°Π½ΠΈΡΠΈΡΠ΅Π»ΡΠ½ΡΡ API ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΡ Xcode, Π½ΠΎ ΠΎΠ½ΠΈ ΠΏΡΡΠ°ΡΡΡΡ Π½Π°ΠΉΡΠΈ ΠΎΠ±Ρ ΠΎΠ΄Π½ΠΎΠΉ ΠΏΡΡΡ.
ΠΠ²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΡΠΎΡΠΌΠ°ΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π² Xcode
ΡΠ΅ΠΏΠ΅ΡΡ Ρ ΠΏΡΡΠ°ΡΡΡ ΠΈΠ·ΡΡΠΈΡΡ Objective-C ΠΈ ΠΏΡΠΎΠΏΡΡΠΊΠ°Ρ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ Π² Xcode, Π½ΠΎ, Π²Π΅ΡΠΎΡΡΠ½ΠΎ, Π½ΠΈ ΠΎΠ΄ΠΈΠ½ ΠΈΠ· Π½ΠΈΡ Π½Π΅ ΡΠ°ΠΊ Π±ΠΎΠ»Π΅Π·Π½Π΅Π½, ΠΊΠ°ΠΊ ΡΡΠ»ΡΠΊ ΡΠΎΡΠΌΠ°ΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ. ΠΠΎΠΈ ΠΏΠΎΠΈΡΠΊΠΈ Google Π½Π΅ Π΄Π°Π»ΠΈ Π½ΠΈΡΠ΅Π³ΠΎ ΠΏΠΎΡΡΡΠΎΠ΅Π½Π½ΠΎΠ³ΠΎ Π², Π₯ΠΎΡΡ, ΠΊΠ°ΠΆΠ΅ΡΡΡ, Π΅ΡΡΡ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ Ρ Π°ΠΊΠΈ. Π― ΡΡΠΎ-ΡΠΎ ΠΏΡΠΎΠΏΡΡΡΠΈΠ», ΠΈΠ»ΠΈ ΡΡΠ° ΡΡΠ½ΠΊΡΠΈΡ Π½Π΅ ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ ΠΈΠ·Π½Π°ΡΠ°Π»ΡΠ½ΠΎ Π² Xcode?
20 ΠΎΡΠ²Π΅ΡΠΎΠ²:
ΠΊ ΡΠΎΠΆΠ°Π»Π΅Π½ΠΈΡ, Xcode Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ Π½ΠΈΡΠ΅Π³ΠΎ ΠΏΠΎΡΡΠΈ ΡΠ°ΠΊΠΎΠ³ΠΎ ΠΆΠ΅ ΠΎΠ±ΡΠΈΡΠ½ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ VS ΠΈΠ»ΠΈ Jalopy Π΄Π»Ρ Eclipse. ΠΡΡΡ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ Π½Π΅ΡΠΎΠΏΠΎΡΡΠ°Π²ΠΈΠΌΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ, ΡΠ°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ Structure > Re-Indent Π° ΡΠ°ΠΊΠΆΠ΅ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ΅ ΡΠΎΡΠΌΠ°ΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΡΠΈ Π²ΡΡΠ°Π²ΠΊΠ΅ ΠΊΠΎΠ΄Π° Π² ΠΈΡΡ ΠΎΠ΄Π½ΡΠΉ ΡΠ°ΠΉΠ». ΠΠΎ Ρ ΠΏΠΎΠ»Π½ΠΎΡΡΡΡ Ρ Π²Π°ΠΌΠΈ, Π½Π°Π²Π΅ΡΠ½ΡΠΊΠ° Π΅ΡΡΡ Π΄ΠΎΠ»ΠΆΠ½Ρ Π±ΡΡΡ ΡΡΠΎ-ΡΠΎ ΡΠ°ΠΌ, ΡΡΠΎΠ±Ρ ΠΏΠΎΠΌΠΎΡΡ Ρ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ°ΠΌΠΈ ΡΠΎΡΠΌΠ°ΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ.
ΠΈΠ»ΠΈ Π΄Π»Ρ Π½ΠΈΠ·ΠΊΠΎΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΡΠ½ΡΡ , Π²ΡΡΠ΅Π·Π°ΡΡ, Π° Π·Π°ΡΠ΅ΠΌ Π²ΡΡΠ°Π²ΠΈΡΡ. ΠΠ½ ΠΏΠ΅ΡΠ΅ΡΠΎΡΠΌΠ°ΡΠΈΡΡΠ΅ΡΡΡ Π½Π° ΠΏΠ°ΡΡΡ.
Π― Ρ ΠΎΡΠ΅Π» Π±Ρ ΠΏΠΎΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄ΠΎΠ²Π°ΡΡ Π΄Π²Π° Π²Π°ΡΠΈΠ°Π½ΡΠ°, ΠΊΠΎΡΠΎΡΡΠ΅ ΡΡΠΎΠΈΡ ΡΠ°ΡΡΠΌΠΎΡΡΠ΅ΡΡ. ΠΠ±Π° ΡΠΎΠ²Π΅ΡΡΠ΅Π½Π½ΠΎ Π½ΠΎΠ²ΡΠ΅ ΠΈ ΡΠ²ΠΎΠ»ΡΡΠΈΠΎΠ½ΠΈΡΡΡΡΠΈΠ΅.
ΠΏΠ»Π°Π³ΠΈΠ½ Xcode Π΄Π»Ρ ΡΠΎΡΠΌΠ°ΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΊΠΎΠ΄Π° Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΎΠ² ΡΠΎΡΠΌΠ°ΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ Clang, by @travisjeffery.
Ρ clang-format Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Clang Π΄Π»Ρ ΡΠΎΡΠΌΠ°ΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΊΠΎΠ΄Π° Π² ΡΠ°ΠΊΠΈΠ΅ ΡΡΠΈΠ»ΠΈ ΠΊΠ°ΠΊ LLVM, Google, Chromium, Mozilla, WebKit, ΠΈΠ»ΠΈ Π²Π°ΡΠ° ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½Π°Ρ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡ.
Ρ ΠΎΡΠ΅Π½Ρ ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡΠ½ΡΠ΅ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ, Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΠΎΠ»ΡΡΠΈΡΡ Xcode, ΡΡΠΎΠ±Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π½Π°ΡΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, ΡΡΠΎΠ±Ρ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΡΡ ΡΠ²ΠΎΠΈ ΠΏΡΠ°Π²ΠΈΠ»Π°. ΠΡΠ»ΠΈ Π²Ρ ΠΊΠΎΠ³Π΄Π°-Π»ΠΈΠ±ΠΎ ΠΏΠΎΠΉΠΌΠ°Π»ΠΈ Π½Π°ΡΡΡΠ΅Π½ΠΈΠ΅ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΈΠ· Π²Π°ΡΠΈΡ ΠΏΡΠ°Π²ΠΈΠ», Xcode Π²ΡΠ±ΡΠΎΡΠΈΡ ΠΎΡΠΈΠ±ΠΊΡ ΡΠ±ΠΎΡΠΊΠΈ ΠΈ ΠΏΡΠΈΠ²Π΅Π΄Π΅Ρ Π²Π°Ρ ΠΏΡΡΠΌΠΎ ΠΊ Π½Π°ΡΡΡΠΈΡΠ΅Π»Ρ Π»ΠΈΠ½ΠΈΡ.
Π² xcode Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΡΠΎΡ ΡΡΠ»ΡΠΊ Π΄Π»Ρ ΡΠΎΡΠΌΠ°ΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ (ΠΏΠΎΠ²ΡΠΎΡΠ½ΠΎΠ³ΠΎ ΠΎΡΡΡΡΠΏΠ°) Π²Π°ΡΠ΅Π³ΠΎ ΠΈΡΡ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π°
ΠΊΠΎΠΌΠ°Π½Π΄Π° + A ΡΡΠΎΠ±Ρ Π²ΡΠ±ΡΠ°ΡΡ Π²ΡΠ΅ ΠΈΡΡ ΠΎΠ΄Π½ΡΠ΅ ΠΊΠΎΠ΄Ρ
Ctrl + Π― Π΄Π»Ρ ΠΏΠΎΠ²ΡΠΎΡΠ½ΠΎΠ³ΠΎ ΠΎΡΡΡΡΠΏΠ°
Π½Π°Π΄Π΅ΡΡΡ, ΡΡΠΎ ΡΡΠΎ ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ.
ΠΌΠΎΠΈ Π»ΠΈΡΠ½ΡΠ΅ PrettyC wantabe Fav-ΡΡΠΎ uncrustify: http://uncrustify.sourceforge.net/. Π£ Π½Π΅Π³ΠΎ Π΅ΡΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΌΠΈΠ»Π»ΠΈΠ°ΡΠ΄ΠΎΠ² Π²Π°ΡΠΈΠ°Π½ΡΠΎΠ², ΠΎΠ΄Π½Π°ΠΊΠΎ ΡΠ°ΠΊ Ρ ΠΈ ΠΏΡΠ΅Π΄Π»Π°Π³Π°Ρ Π²Π°ΠΌ ΡΠΊΠ°ΡΠ°ΡΡ UniversalIndentGUI_macx, (ΡΠ°ΠΊΠΆΠ΅ Π½Π° SourceForge) Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΉ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ, ΠΊΡΠΎ-ΡΠΎ Π½Π°ΠΏΠΈΡΠ°Π», ΡΡΠΎΠ±Ρ ΠΏΠΎΠΌΠΎΡΡ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ ΡΠ°ΠΊ, ΠΊΠ°ΠΊ Π²Π°ΠΌ ΡΠ΄ΠΎΠ±Π½ΠΎ.
Π·Π°ΡΠ΅ΠΌ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ ΡΡΠΎΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΈΠΉ ΡΠΊΡΠΈΠΏΡ, ΡΡΠΎΠ±Ρ ΡΠ΄Π°Π»ΠΈΡΡ Π²ΡΠ΄Π΅Π»Π΅Π½Π½ΡΠΉ ΡΠ΅ΠΊΡΡ:
ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Π° + A Π²ΡΠ±ΡΠ°ΡΡ Π²ΡΠ΅ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅ ΠΈ Π΄Π°Π»Π΅Π΅ Ctrl + Π― Π΄Π»Ρ ΡΠΎΡΠΌΠ°ΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π²ΡΠ±ΡΠ°Π½Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ½ΡΠ΅Π½ΡΠ°.
ΠΏΠΎΠ΄ΡΠΌΠ°ΠΉΡΠ΅ ΠΎ ΠΏΠΎΠΊΡΠΏΠΊΠ΅ Π»ΠΈΡΠ΅Π½Π·ΠΈΠΈ Π΄Π»Ρ AppCode, ΠΈΠ½ΡΠ΅Π»Π»Π΅ΠΊΡΡΠ°Π»ΡΠ½Π°Ρ IDE Objective-C, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ°ΠΌ iOS / OS X. AppCode ΠΏΠΎΠ»Π½ΠΎΡΡΡΡ ΡΠΎΠ²ΠΌΠ΅ΡΡΠΈΠΌ Ρ Xcode, Π½ΠΎ Π²ΡΡ ΠΎΠ΄ΠΈΡ Π·Π° ΡΠ°ΠΌΠΊΠΈ Xcode ΠΏΡΠΈ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠΈ ΠΌΠΎΡΠ½ΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ.
AppCode Π²Π°ΡΠΈΠ°Π½Ρ Objective-C Intellij IDEA IDE Ρ JetBrains. ΠΠ½ΠΈ ΡΠ°ΠΊΠΆΠ΅ ΡΠ²Π»ΡΡΡΡΡ Π°Π²ΡΠΎΡΠ°ΠΌΠΈ ΠΏΠΎΠΏΡΠ»ΡΡΠ½ΡΡ Π΄Π»Ρ ReSharper ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΠ΅ Π΄Π»Ρ Visual Studio, ΠΎΡΠ½ΠΎΠ²Π½Π°Ρ ΡΠ΅Π»Ρ ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ ΠΎΡΡΡΠ΄Π° Π²ΡΠ³Π»ΡΠ΄ΠΈΡ ΠΊΠ°ΠΊ ΠΎΡΡΠ°ΡΠ½Π½Π°Ρ ΠΏΠΎΠΏΡΡΠΊΠ° ΠΏΡΠΈΠ²Π½Π΅ΡΡΠΈ Π½ΠΎΡΠΊΡ ΠΈΠ΄Π΅ΠΈ Π² ΠΏΡΠΎΠ΄ΡΠΊΡ Microsoft.
AppCode ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ ΡΠ²ΠΎΠΉ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΡΠΉ Π°Π½Π°Π»ΠΈΠ·Π°ΡΠΎΡ ΠΊΠΎΠ΄Π°, ΠΊΠΎΡΠΎΡΡΠΉ Π΄Π°Π΅Ρ Π±Π»ΠΈΠ·ΠΊΡΡ ΠΊ ΠΈΠ΄Π΅Π°Π»ΡΠ½ΠΎΠΉ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΡ ΡΠ΅ΡΠ°ΠΊΡΠΎΡΠΈΠ½Π³Π° ΠΈ Π½Π°Π²ΠΈΠ³Π°ΡΠΈΠΈ ΠΏΠΎ ΠΊΠΎΠ΄Ρ. Π‘ΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΠΏΠΎΠ²ΡΠΎΡΠ½ΠΎΠ³ΠΎ ΠΎΡΡΡΡΠΏΠ° ΠΈ ΠΏΠΎΠ»Π½ΠΎΡΡΡΡ ΠΏΠ΅ΡΠ΅ΡΠΎΡΠΌΠ°ΡΠΈΡΠΎΠ²Π°ΡΡ ΠΊΠΎΠ΄ (Ρ ΠΎΡΡ Ρ Π²ΡΠ΅ Π΅ΡΠ΅ ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠ°Ρ ΠΏΡΠΎΠΏΡΡΠΊΠ°ΡΡ ΠΏΠ°ΡΡ Π½Π°ΡΡΡΠΎΠ΅ΠΊ ΡΠΎΡΠΌΠ°ΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π² ΡΠ»ΠΎΠΆΠ½ΡΡ ΡΠ»ΡΡΠ°ΡΡ , Π½ΠΎ Π² ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΌ ΡΡΠΎ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Ρ ΠΎΡΠΎΡΠΎ).
Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΠΎΠΏΡΠΎΠ±ΠΎΠ²Π°ΡΡ ΠΏΡΠΎΠ±Π½ΡΡ Π²Π΅ΡΡΠΈΡ, ΠΊΠΎΠ½Π΅ΡΠ½ΠΎ.
Π― ΡΠ°ΠΊΠΆΠ΅ ΡΡΠ²ΡΡΠ²ΡΡ, ΡΡΠΎ xcode Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΈΠΌΠ΅ΡΡ ΡΡΡ ΡΡΠ½ΠΊΡΠΈΡ. ΠΠΎΡΡΠΎΠΌΡ Ρ ΡΠ΄Π΅Π»Π°Π» ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΠ΅, ΡΡΠΎΠ±Ρ ΡΠ΄Π΅Π»Π°ΡΡ ΡΡΠΎ: Swimat
ΠΏΡΠΎΡΡΠ°Ρ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠ° Ρ ΠΏΠΎΠΌΠΎΡΡΡ brew cask install swimat
Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΠΎΠΏΡΠΎΠ±ΠΎΠ²Π°ΡΡ, ΡΠΌ. https://github.com/Jintin/Swimat Π΄Π»Ρ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΠΎΠΉ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ.
Π²Ρ ΡΠ°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΠΎΡΠΌΠΎΡΡΠ΅ΡΡ Π½Π° https://github.com/octo-online/Xcode-formatter ΠΊΠΎΡΠΎΡΡΠΉ ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠΎΡΠΌΠ°ΡΠ΅ΡΠΎΠΌ, ΠΎΡΠ½ΠΎΠ²Π°Π½Π½ΡΠΌ Π½Π° Uncrustify ΠΈ ΠΈΠ½ΡΠ΅Π³ΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠΌ Π² Xcode. Π Π°Π±ΠΎΡΠ°Π΅Ρ ΠΊΠ°ΠΊ ΡΠ°ΡΠΌ.
ΠΏΡΠΎΡΡΠΎ ΠΊΠ»ΠΎΠ½ΠΈΡΡΠΉΡΠ΅ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ github, ΠΎΡΠΊΡΠΎΠΉΡΠ΅ ΠΏΡΠΎΠ΅ΠΊΡ ΠΏΠ»Π°Π³ΠΈΠ½Π° Π² XCode ΠΈ Π·Π°ΠΏΡΡΡΠΈΡΠ΅ Π΅Π³ΠΎ. ΠΠ½ Π±ΡΠ΄Π΅Ρ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ. ΠΠ΅ΡΠ΅Π·Π°ΠΏΡΡΡΠΈΡΠ΅ Xode ΠΏΠ΅ΡΠ΅Π΄ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΠΏΠ»Π°Π³ΠΈΠ½Π° ΡΠΎΡΠΌΠ°ΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ.
ΠΠ΅ Π·Π°Π±ΡΠ΄ΡΡΠ΅ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ uncrustify util ΡΠ°Π½ΡΡΠ΅. ΠΠΎΠΌΠΎΡΠΎΡΠ΅Π½Π½ΡΠΉ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ
P. S. ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π²ΠΊΠ»ΡΡΠΈΡΡ «ΠΏΠΎΡΠ»Π΅ ΡΠΎΡ ΡΠ°Π½Π΅Π½ΠΈΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ ΡΠΎΡΠΌΠ°ΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅» Π² ΠΌΠ΅Π½Ρ «Π Π΅Π΄Π°ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅» > ΡΠΎΡΠΌΠ°Ρ ΠΊΠΎΠ΄Π° > BBUncrustifyPlugin ΠΠ°ΡΡΡΠΎΠΉΠΊΠΈ > Π€ΠΎΡΠΌΠ°Ρ ΠΡΠΈ Π‘ΠΎΡ ΡΠ°Π½Π΅Π½ΠΈΠΈ
Π― ΠΏΡΠ΅Π΄Π»Π°Π³Π°Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ClangFormat. ΠΠ»Ρ ΡΠΎΠ³ΠΎ, ΡΡΠΎΠ±Ρ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ, ΠΏΠΎΠΆΠ°Π»ΡΠΉΡΡΠ°, Π²ΡΠΏΠΎΠ»Π½ΠΈΡΠ΅ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ:
Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π²ΡΠ±ΡΠ°ΡΡ ΡΠ°Π·Π»ΠΈΡΠ½ΡΠ΅ ΡΠΈΠΏΡ ΡΠΎΡΠΌΠ°ΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ. Π’Π°ΠΊΠΆΠ΅ ΠΏΡΡΠ΅ΠΌ Π²ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ Π€ΠΎΡΠΌΠ°Ρ ΠΡΠΈ Π‘ΠΎΡ ΡΠ°Π½Π΅Π½ΠΈΠΈ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΠΎΠ»ΡΡΠΈΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΡΠΎΡΠΌΠ°ΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ.
Π΄ΠΎΠ±Π°Π²ΠΈΡΡ Π²ΡΡΠ΅ Π² ΡΠ²ΠΎΠΉ Xcode «ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΈΠΉ ΡΠΊΡΠΈΠΏΡ».
Π΅ΡΠ»ΠΈ Xcode Π²Π΅ΡΡΠΈΠΈ 4.x, Ρ Π΄ΡΠΌΠ°Ρ, Π²Ρ Π΄ΠΎΠ»ΠΆΠ½Ρ ΠΏΡΠΎΡΠΈΡΠ°ΡΡ ΡΡΠΎΡ Π±Π»ΠΎΠ³:ΡΠΎΡΠΌΠ°ΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΊΠΎΠ΄Π° Π² Xcode 4,
ΠΏΠΎΡΠ΅ΠΌΡ apple drop » ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΡΡΠ΅Π½Π°ΡΠΈΠΉ. «. xD
ΡΠ½Π°ΡΠ°Π»Π° ΠΈΠ·ΡΡΠΈΡΠ΅ ΡΠ°Π·Π΄Π΅Π» «ΠΎΡΡΡΡΠΏ» Π½Π°ΡΡΡΠΎΠ΅ΠΊ XCode. ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π½Π°ΡΡΡΠΎΠΈΡΡ Π²Π΅ΡΠΈ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ Π΅ΡΡΡ.
Π΄Π»Ρ Π±ΠΎΠ»Π΅Π΅ ΠΌΠ΅Π»ΠΊΠΎΠ·Π΅ΡΠ½ΠΈΡΡΠΎΠ³ΠΎ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ, ΠΎΠ±ΡΠ°ΡΠΈΡΠ΅ΡΡ ΠΊ Xcode User Defaults Π΄ΠΎΠΊΡΠΌΠ΅Π½Ρ ΠΎΡ apple. (ΠΠΎΠΆΠ΅Ρ ΠΏΠΎΡΡΠ΅Π±ΠΎΠ²Π°ΡΡΡΡ Π»ΠΎΠ³ΠΈΠ½ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ° Π΄Π»Ρ ΠΏΡΠΎΡΠΌΠΎΡΡΠ°). ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Ρ ΡΠΌΠΎΠ³ ΠΎΡΠΊΠ»ΡΡΠΈΡΡ «ΠΎΡΡΡΡΠΏ ΠΏΡΠΈ Π²ΡΡΠ°Π²ΠΊΠ΅», Π²Π²Π΅Π΄Ρ ΡΠ»Π΅Π΄ΡΡΡΠ΅Π΅ Π² ΡΠ΅ΡΠΌΠΈΠ½Π°Π»Π΅:
ΡΡΠΎΠ±Ρ ΠΏΡΠΎΡΠΈΡΠ°ΡΡ Π²Π°ΡΠΈ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ:
ΡΡΠΎ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ ΡΠΎΠ»ΡΠΊΠΎ Π΄Π»Ρ ΡΠ·ΡΠΊΠΎΠ² Ρ Π½Π΅ ΠΎΠ±ΠΎΠ·Π½Π°ΡΠ΅Π½Π½ΡΠΌΠΈ ΠΏΡΠΎΠ±Π΅Π»Π°ΠΌΠΈ, Π½ΠΎ ΠΌΠΎΠ΅ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅-ΡΠ΄Π°Π»ΠΈΡΡ Π²ΡΠ΅ ΠΏΡΠΎΠ±Π΅Π»Ρ, ΠΊΡΠΎΠΌΠ΅ ΠΏΡΠΎΠ±Π΅Π»ΠΎΠ², Π° Π·Π°ΡΠ΅ΠΌ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ Π½ΠΎΠ²ΡΡ ΡΡΡΠΎΠΊΡ ΠΏΠΎΡΠ»Π΅ ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ², ΠΊΠΎΡΠΎΡΡΠ΅ ΠΎΠ±ΡΡΠ½ΠΎ ΠΎΠ±ΠΎΠ·Π½Π°ΡΠ°ΡΡ EOL (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π·Π°ΠΌΠ΅Π½ΠΈΡΡ ‘; ‘ Π½Π° ‘; \n’), Π° Π·Π°ΡΠ΅ΠΌ ΡΠ΄Π΅Π»Π°ΡΡ Π²Π΅Π·Π΄Π΅ΡΡΡΠΈΠΉ ^+i ΡΠ΅ΡΠ΅Π½ΠΈΠ΅.
Π― ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ Python.
ΠΏΡΠΈΠΌΠ΅Ρ ΠΊΠΎΠ΄Π°, ΠΏΡΠΎΡΡΠΎ Π·Π°ΠΌΠ΅Π½ΠΈΡΠ΅ ΠΈΠΌΠ΅Π½Π°:
ΡΡΠΎ Π½Π΅ ΠΈΠ΄Π΅Π°Π»ΡΠ½ΠΎ (ΠΏΡΠΈΠΌΠ΅Ρ: Π΄Π»Ρ ΠΏΠ΅ΡΠ΅Π»Ρ), Π½ΠΎ ΠΌΠ½Π΅ ΡΡΠΎ Π½ΡΠ°Π²ΠΈΡΡΡ.
ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Xcode Formatter, ΠΊΠΎΡΠΎΡΡΠΉ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ uncrustify Π»Π΅Π³ΠΊΠΎ ΡΠΎΡΠΌΠ°ΡΠΈΡΠΎΠ²Π°ΡΡ ΠΈΡΡ ΠΎΠ΄Π½ΡΠΉ ΠΊΠΎΠ΄, ΠΊΠ°ΠΊ Π²Π°ΡΠ° ΠΊΠΎΠΌΠ°Π½Π΄Π° ΡΠΎΡΠ½ΠΎ Ρ ΠΎΡΠ΅Ρ Π±ΡΡΡ!.
ΠΏΡΠΎΠ²Π΅ΡΡΡΠ΅, ΡΡΠΎ uncrustify Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡ Π² /usr / local/bin Π΄ΠΎΠ»Π»Π°ΡΠΎΠ² Π‘Π¨Π, ΡΡΠΎ uncrustify
ΠΊΠ°ΠΊ ΡΠΎΡΠΌΠ°ΡΠΈΡΠΎΠ²Π°ΡΡ ΠΎΡΠΊΡΡΡΡΠ΅ ΡΠ°ΠΉΠ»Ρ ΠΏΡΠΈ ΠΏΠΎΡΡΡΠΎΠ΅Π½ΠΈΠΈ ΠΏΡΠΎΠ΅ΠΊΡΠ° ΠΠΎΠ±Π°Π²ΡΡΠ΅ ΡΡΠ°ΠΏ ΡΠ±ΠΎΡΠΊΠΈ «run script», ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΠΈΠΉ ΡΠ»Π΅Π΄ΡΡΡΡΡ ΡΡΡΠΎΠΊΡ:
ΠΊΠ°ΠΊ ΡΠΎΡΠΌΠ°ΡΠΈΡΠΎΠ²Π°ΡΡ ΡΠ°ΠΉΠ»Ρ Π² ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠ΅
Π΄Π»Ρ ΡΠΎΡΠΌΠ°ΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΎΡΠΊΡΡΡΡΡ ΡΠ°ΠΉΠ»ΠΎΠ² ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ formatOpenedSources.sh:
ΡΡΠΎΠ±Ρ ΠΎΡΡΠΎΡΠΌΠ°ΡΠΈΡΠΎΠ²Π°ΡΡ Π²ΡΠ΅ ΡΠ°ΠΉΠ»Ρ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ formatAllSources.sh:
$sh CodeFormatter/scripts/formatAllSources.sh ΠΏΡΡΡ
ΠΏΡΡΡ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±ΡΡΡ Π·Π°ΠΌΠ΅Π½Π΅Π½ Π²Π°ΡΠΈΠΌ ΠΈΡΡ ΠΎΠ΄Π½ΡΠΌ ΠΏΡΡΠ΅ΠΌ.
E: g; Π΅ΡΠ»ΠΈ ΠΈΠΌΡ ΠΏΡΠΎΠ΅ΠΊΡΠ° TestApp, ΡΠΎ ΠΊΠΎΠΌΠ°Π½Π΄Π° Π±ΡΠ΄Π΅Ρ
$sh CodeFormatter/scripts/formatAllSources.sh TestApp
ΠΠ½ Π±ΡΠ΄Π΅Ρ ΠΈΡΠΊΠ°ΡΡ Π²ΡΠ΅ ΡΠ°ΠΉΠ»Ρ Π² ΠΏΡΠΎΠ΅ΠΊΡΠ΅ ΠΈ ΡΠΎΡΠΌΠ°Ρ Π²ΡΠ΅ ΡΠ°ΠΉΠ»Ρ ΠΊΠ°ΠΊ Π½Π°ΡΡΡΠΎΠΈΡΡ Π² ΡΠ°ΠΉΠ» uncrustify_objective_c.cfg.
ΠΠ°ΠΊ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ ΠΏΡΠ°Π²ΠΈΠ»Π° ΡΠΎΡΠΌΠ°ΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ
ΡΠ΅Π΄Π°ΠΊΡΠΈΡΠΎΠ²Π°ΡΡ CodeFormatter / uncrustify_objective_c. cfg ΠΎΡΠΊΡΡΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ TextEdit