Π²Ρ‹Ρ€Π°Π²Π½ΠΈΠ²Π°Π½ΠΈΠ΅ ΠΊΠΎΠ΄Π° Π² xcode

О Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ ΠΊΠΎΠ΄Π° ΠΈ User Scripts Π² Xcode 4

Π²Ρ‹Ρ€Π°Π²Π½ΠΈΠ²Π°Π½ΠΈΠ΅ ΠΊΠΎΠ΄Π° Π² xcode. image loader. Π²Ρ‹Ρ€Π°Π²Π½ΠΈΠ²Π°Π½ΠΈΠ΅ ΠΊΠΎΠ΄Π° Π² xcode Ρ„ΠΎΡ‚ΠΎ. Π²Ρ‹Ρ€Π°Π²Π½ΠΈΠ²Π°Π½ΠΈΠ΅ ΠΊΠΎΠ΄Π° Π² xcode-image loader. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° Π²Ρ‹Ρ€Π°Π²Π½ΠΈΠ²Π°Π½ΠΈΠ΅ ΠΊΠΎΠ΄Π° Π² xcode. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° image loader. Когда Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊΡƒ Π½Π°Π΄ΠΎΠ΅Π΄Π°Π΅Ρ‚ Π΄Π΅Π»Π°Ρ‚ΡŒ Ρ€ΡƒΡ‚ΠΈΠ½Π½ΡƒΡŽ Ρ€Π°Π±ΠΎΡ‚Ρƒ, Ρƒ Π½Π΅Π³ΠΎ Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ‚ Π΄ΠΈΠΊΠΎΠ΅ ΠΆΠ΅Π»Π°Π½ΠΈΠ΅ ΠΎΡ‚ этой Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΈΠ·Π±Π°Π²ΠΈΡ‚ΡŒΡΡ. Однако, Π² Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΠΉ ΠΆΠΈΠ·Π½ΠΈ ΠΈΠ·Π±Π°Π²ΠΈΡ‚ΡŒΡΡ ΠΎΡ‚ Π½Π΅Π΅ Π½Π΅ Ρ‚Π°ΠΊ просто, ΠΈ Π΅Π΅ всС, ΠΆΠ΅ Π½Π°Π΄ΠΎ Π΄Π΅Π»Π°Ρ‚ΡŒ. Π’ зависимости ΠΎΡ‚ Π²ΠΈΠ΄Π° Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΈ ΠΎΡ‚ Π΅Π΅ количСства, ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΡΡ‚ΡƒΠΏΠ°Ρ‚ΡŒ ΠΏΠΎ-Ρ€Π°Π·Π½ΠΎΠΌΡƒ. МоТно ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠ°Ρ‚ΡŒ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ ΡƒΠΆΠ΅ Π·Π°ΡƒΡ‡Π΅Π½Π½Ρ‹Π΅ дСйствия, ΠΌΠΎΠΆΠ½ΠΎ ΡƒΠΉΡ‚ΠΈ Π² сСбя ΠΈ ΠΊΠΎΠΏΠΈΡ‚ΡŒ Π·Π»ΠΎΡΡ‚ΡŒ Π½Π° всСх ΠΈ вся, Π½Π° этот ΠΌΠΈΡ€, Π½Π° Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΈΠΊΠ°, Π½Π° PM'a, Π½Π° А ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠΏΡ‹Ρ‚Π°Ρ‚ΡŒΡΡ эту Ρ€ΡƒΡ‚ΠΈΠ½Ρƒ Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ.Когда Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊΡƒ Π½Π°Π΄ΠΎΠ΅Π΄Π°Π΅Ρ‚ Π΄Π΅Π»Π°Ρ‚ΡŒ Ρ€ΡƒΡ‚ΠΈΠ½Π½ΡƒΡŽ Ρ€Π°Π±ΠΎΡ‚Ρƒ, Ρƒ Π½Π΅Π³ΠΎ Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ‚ Π΄ΠΈΠΊΠΎΠ΅ ΠΆΠ΅Π»Π°Π½ΠΈΠ΅ ΠΎΡ‚ этой Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΈΠ·Π±Π°Π²ΠΈΡ‚ΡŒΡΡ. Однако, Π² Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΠΉ ΠΆΠΈΠ·Π½ΠΈ ΠΈΠ·Π±Π°Π²ΠΈΡ‚ΡŒΡΡ ΠΎΡ‚ Π½Π΅Π΅ Π½Π΅ Ρ‚Π°ΠΊ просто, ΠΈ Π΅Π΅ всС, ΠΆΠ΅ Π½Π°Π΄ΠΎ Π΄Π΅Π»Π°Ρ‚ΡŒ. Π’ зависимости ΠΎΡ‚ Π²ΠΈΠ΄Π° Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΈ ΠΎΡ‚ Π΅Π΅ количСства, ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΡΡ‚ΡƒΠΏΠ°Ρ‚ΡŒ ΠΏΠΎ-Ρ€Π°Π·Π½ΠΎΠΌΡƒ. МоТно ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠ°Ρ‚ΡŒ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ ΡƒΠΆΠ΅ Π·Π°ΡƒΡ‡Π΅Π½Π½Ρ‹Π΅ дСйствия, ΠΌΠΎΠΆΠ½ΠΎ ΡƒΠΉΡ‚ΠΈ Π² сСбя ΠΈ ΠΊΠΎΠΏΠΈΡ‚ΡŒ Π·Π»ΠΎΡΡ‚ΡŒ Π½Π° всСх ΠΈ вся, Π½Π° этот ΠΌΠΈΡ€, Π½Π° Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΈΠΊΠ°, Π½Π° PM’a, Π½Π° А ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠΏΡ‹Ρ‚Π°Ρ‚ΡŒΡΡ эту Ρ€ΡƒΡ‚ΠΈΠ½Ρƒ Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ.

А пост Π±ΡƒΠ΄Π΅Ρ‚ ΠΎ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠΉ Π·Π°Π΄Π°Ρ‡Π΅, ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ Π½Π°Π΄ΠΎ Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ(Code Formatting) ΠΈ ΠΎ Ρ‚ΠΎΠΌ, ΠΊΠ°ΠΊ всС-Ρ‚Π°ΠΊΠΈ Ρ€Π°ΡΡˆΠΈΡ€ΠΈΡ‚ΡŒ Xcode всякими ΠΏΠΎΠ»Π΅Π·Π½Ρ‹ΠΌΠΈ вкусностями для Π΄Π°Π»ΡŒΠ½Π΅ΠΉΡˆΠΈΡ… Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·Π°Ρ†ΠΈΠΉ. Π’ ΠΏΡ€ΠΎΡˆΠ»Ρ‹ΠΉ Ρ€Π°Π· это Π±Ρ‹Π» Copy Paste Detector. А Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ ΠΏΡ€ΠΈΡˆΠ»ΠΎ врСмя Code-Formattera. Π‘ΠΊΠ°ΠΆΡƒ сразу, Ρ‡Ρ‚ΠΎ Π² здСсь Π½Π΅ поднимаСтся вопрос, Π½ΡƒΠΆΠ΅Π½ Π»ΠΈ автоматичСский Code-Formatter. ΠŸΡ€Π΅Π΄ΠΏΠΎΠ»Π°Π³Π°Π΅Ρ‚ΡΡ, Ρ‡Ρ‚ΠΎ Π’Π°ΠΌ ΠΎΠ½ Π½ΡƒΠΆΠ΅Π½. Если, всС ΠΆΠ΅ Π½Π΅ Π½ΡƒΠΆΠ΅Π½ β€” ΠΌΠΎΠΆΠ½ΠΎ Π·Π°Π³Π»ΡΠ½ΡƒΡ‚ΡŒ ΠΏΠΎΠ΄ ΠΊΠ°Ρ‚, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π²ΡΠΏΠΎΠΌΠ½ΠΈΡ‚ΡŒ ΠΏΡ€ΠΎ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ внСшниС скрипты Π² Xcode.

ΠŸΠΎΡΠΌΠΎΡ‚Ρ€ΠΈΠΌ, ΠΊΠ°ΠΊ ΠΎΠ½ΠΈ Π½Π°ΠΌ подходят.

Π’Π° я ΠΈ Ρ€ΡƒΠΊΠ°ΠΌΠΈ ΠΏΠΎΠΏΡ€Π°Π²Π»ΡŽ! Π― Π΅Ρ‰Π΅ с Xcode 1.0 Ρ€ΡƒΠΊΠ°ΠΌΠΈ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΡ€ΡƒΡŽ

Π•ΡΡ‚ΡŒ Ρ‚Π°ΠΊΠΈΠ΅ люди. ΠœΠΎΠΆΠ΅Ρ‚, ΠΈΠΌ ΠΈ ΠΏΡ€Π°Π²Π΄Π°, Π½Π΅ Π½Π°Π΄ΠΎ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ тСкста. Для Ρ‚Π΅Ρ…, ΠΆΠ΅, ΠΊΠΎΠΌΡƒ Π½Π°Π΄ΠΎ, Π½ΠΎ ΠΈΠΌ лСнь:
Π²Ρ‹Ρ€Π°Π²Π½ΠΈΠ²Π°Π½ΠΈΠ΅ ΠΊΠΎΠ΄Π° Π² xcode. 9f454aa39253cc4aad8ed9d0758c4032. Π²Ρ‹Ρ€Π°Π²Π½ΠΈΠ²Π°Π½ΠΈΠ΅ ΠΊΠΎΠ΄Π° Π² xcode Ρ„ΠΎΡ‚ΠΎ. Π²Ρ‹Ρ€Π°Π²Π½ΠΈΠ²Π°Π½ΠΈΠ΅ ΠΊΠΎΠ΄Π° Π² xcode-9f454aa39253cc4aad8ed9d0758c4032. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° Π²Ρ‹Ρ€Π°Π²Π½ΠΈΠ²Π°Π½ΠΈΠ΅ ΠΊΠΎΠ΄Π° Π² xcode. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° 9f454aa39253cc4aad8ed9d0758c4032. Когда Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊΡƒ Π½Π°Π΄ΠΎΠ΅Π΄Π°Π΅Ρ‚ Π΄Π΅Π»Π°Ρ‚ΡŒ Ρ€ΡƒΡ‚ΠΈΠ½Π½ΡƒΡŽ Ρ€Π°Π±ΠΎΡ‚Ρƒ, Ρƒ Π½Π΅Π³ΠΎ Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ‚ Π΄ΠΈΠΊΠΎΠ΅ ΠΆΠ΅Π»Π°Π½ΠΈΠ΅ ΠΎΡ‚ этой Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΈΠ·Π±Π°Π²ΠΈΡ‚ΡŒΡΡ. Однако, Π² Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΠΉ ΠΆΠΈΠ·Π½ΠΈ ΠΈΠ·Π±Π°Π²ΠΈΡ‚ΡŒΡΡ ΠΎΡ‚ Π½Π΅Π΅ Π½Π΅ Ρ‚Π°ΠΊ просто, ΠΈ Π΅Π΅ всС, ΠΆΠ΅ Π½Π°Π΄ΠΎ Π΄Π΅Π»Π°Ρ‚ΡŒ. Π’ зависимости ΠΎΡ‚ Π²ΠΈΠ΄Π° Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΈ ΠΎΡ‚ Π΅Π΅ количСства, ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΡΡ‚ΡƒΠΏΠ°Ρ‚ΡŒ ΠΏΠΎ-Ρ€Π°Π·Π½ΠΎΠΌΡƒ. МоТно ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠ°Ρ‚ΡŒ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ ΡƒΠΆΠ΅ Π·Π°ΡƒΡ‡Π΅Π½Π½Ρ‹Π΅ дСйствия, ΠΌΠΎΠΆΠ½ΠΎ ΡƒΠΉΡ‚ΠΈ Π² сСбя ΠΈ ΠΊΠΎΠΏΠΈΡ‚ΡŒ Π·Π»ΠΎΡΡ‚ΡŒ Π½Π° всСх ΠΈ вся, Π½Π° этот ΠΌΠΈΡ€, Π½Π° Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΈΠΊΠ°, Π½Π° PM'a, Π½Π° А ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠΏΡ‹Ρ‚Π°Ρ‚ΡŒΡΡ эту Ρ€ΡƒΡ‚ΠΈΠ½Ρƒ Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ.
Π­Ρ‚ΠΎ я ΠΊ Ρ‚ΠΎΠΌΡƒ, Ρ‡Ρ‚ΠΎ Ссли Π·Π°Π΄Π°Ρ‡Π° (Π² частности Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΊΠΎΠ΄Π°), достаточно большая, Ρ‚ΠΎ автоматизация Π²Ρ‹ΠΈΠ³Ρ€Ρ‹Π²Π°Π΅Ρ‚ Π½Π° Π΄ΠΎΠ»Π³ΠΎΠΉ дистанции. ВсС Π² ΠΊΠΎΠ½Ρ†Π΅ ΠΊΠΎΠ½Ρ†ΠΎΠ² сводится ΠΊ Π²Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹ΠΌ Π·Π°Ρ‚Ρ€Π°Ρ‚Π°ΠΌ. Но, Π΄Π°ΠΆΠ΅ Ссли врСмя Π½Π° написаниС скрипта + врСмя Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ Π·Π°Π΄Π°Ρ‡ΠΈ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ большС, ΠΏΠΎ ΡΡ€Π°Π²Π½Π΅Π½ΠΈΡŽ, Ссли Π± эту Π·Π°Π΄Π°Ρ‡Ρƒ Π΄Π΅Π»Π°Π»ΠΈ Ρ€ΡƒΠΊΠ°ΠΌΠΈ, Ρ‚ΠΎ всС ΠΆΠ΅, стоит ΠΏΠΎΠΏΡ‹Ρ‚Π°Ρ‚ΡŒΡΡ Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ Ρ‚Π°ΠΊΠΎΠΉ скрипт β€” ΠΎΠΏΡ‹Ρ‚ Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·Π°Ρ†ΠΈΠΈ всС-Ρ‚Π°ΠΊΠΈ.

Π’ Xcode ΠΈ Ρ‚Π°ΠΊ ΠΎΠ½ΠΎ Π΅ΡΡ‚ΡŒβ€¦ НСту? Π—Π½Π°Ρ‡ΠΈΡ‚ ΠΈ Π½Π΅ Π½Π°Π΄ΠΎ.

МнСниС Π°Π²Ρ‚ΠΎΡ€Π°, ΠΎΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ Reindent, встроСнной Π² Xcode: нСдостаточно для ΠΏΠΎΠ»Π½ΠΎΡ†Π΅Π½Π½ΠΎΠ³ΠΎ форматирования ΠΊΠΎΠ΄Π°. Однако, ΠΌΠ½ΠΎΠ³ΠΈΠ΅ люди, Ρ€Π°Π·Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°ΡŽΡ‰ΠΈΠ΅ ΠΏΠΎΠ΄ Xcode ΠΊΠ°ΠΊ Ρ€Π°Π· Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π΅Π³ΠΎ ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚. Иногда Π΅Ρ‰Π΅ Π΅ΡΡ‚ΡŒ Code-Style. Иногда Code-Style Π³Π΄Π΅-Ρ‚ΠΎ описан, ΠΈ Π΅ΠΌΡƒ ΠΏΡ‹Ρ‚Π°ΡŽΡ‚ΡΡ ΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚ΡŒ.
Π’Π΅ΡΡŒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π» Re-IndentΠ° Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ Π² ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎΠΌ выставлСнии ΠΏΡ€ΠΎΠ±Π΅Π»ΠΎΠ²/Ρ‚Π°Π±ΠΎΠ², Π° Π΅Π³ΠΎ настойки ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ ΠΏΠΎΠΌΠ΅Ρ‰Π°ΡŽΡ‚ΡΡ Π½Π° ΠΎΠ΄Π½ΠΎΠΉ Π²ΠΊΠ»Π°Π΄ΠΊΠ΅ мСню Xcode. Π²Ρ‹Ρ€Π°Π²Π½ΠΈΠ²Π°Π½ΠΈΠ΅ ΠΊΠΎΠ΄Π° Π² xcode. image loader. Π²Ρ‹Ρ€Π°Π²Π½ΠΈΠ²Π°Π½ΠΈΠ΅ ΠΊΠΎΠ΄Π° Π² xcode Ρ„ΠΎΡ‚ΠΎ. Π²Ρ‹Ρ€Π°Π²Π½ΠΈΠ²Π°Π½ΠΈΠ΅ ΠΊΠΎΠ΄Π° Π² xcode-image loader. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° Π²Ρ‹Ρ€Π°Π²Π½ΠΈΠ²Π°Π½ΠΈΠ΅ ΠΊΠΎΠ΄Π° Π² xcode. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° image loader. Когда Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊΡƒ Π½Π°Π΄ΠΎΠ΅Π΄Π°Π΅Ρ‚ Π΄Π΅Π»Π°Ρ‚ΡŒ Ρ€ΡƒΡ‚ΠΈΠ½Π½ΡƒΡŽ Ρ€Π°Π±ΠΎΡ‚Ρƒ, Ρƒ Π½Π΅Π³ΠΎ Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ‚ Π΄ΠΈΠΊΠΎΠ΅ ΠΆΠ΅Π»Π°Π½ΠΈΠ΅ ΠΎΡ‚ этой Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΈΠ·Π±Π°Π²ΠΈΡ‚ΡŒΡΡ. Однако, Π² Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΠΉ ΠΆΠΈΠ·Π½ΠΈ ΠΈΠ·Π±Π°Π²ΠΈΡ‚ΡŒΡΡ ΠΎΡ‚ Π½Π΅Π΅ Π½Π΅ Ρ‚Π°ΠΊ просто, ΠΈ Π΅Π΅ всС, ΠΆΠ΅ Π½Π°Π΄ΠΎ Π΄Π΅Π»Π°Ρ‚ΡŒ. Π’ зависимости ΠΎΡ‚ Π²ΠΈΠ΄Π° Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΈ ΠΎΡ‚ Π΅Π΅ количСства, ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΡΡ‚ΡƒΠΏΠ°Ρ‚ΡŒ ΠΏΠΎ-Ρ€Π°Π·Π½ΠΎΠΌΡƒ. МоТно ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠ°Ρ‚ΡŒ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ ΡƒΠΆΠ΅ Π·Π°ΡƒΡ‡Π΅Π½Π½Ρ‹Π΅ дСйствия, ΠΌΠΎΠΆΠ½ΠΎ ΡƒΠΉΡ‚ΠΈ Π² сСбя ΠΈ ΠΊΠΎΠΏΠΈΡ‚ΡŒ Π·Π»ΠΎΡΡ‚ΡŒ Π½Π° всСх ΠΈ вся, Π½Π° этот ΠΌΠΈΡ€, Π½Π° Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΈΠΊΠ°, Π½Π° PM'a, Π½Π° А ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠΏΡ‹Ρ‚Π°Ρ‚ΡŒΡΡ эту Ρ€ΡƒΡ‚ΠΈΠ½Ρƒ Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ.
Π₯ΠΎΡ‚ΡŒ этот Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ ΠΈ Π½Π΅ пСстрит Ρ€Π°Π·Π½ΠΎΠΎΠ±Ρ€Π°Π·Π½ΠΎΡΡ‚ΡŒΡŽ настроСк, Π½ΠΎ Ρƒ Π½Π΅Π³ΠΎ Π΅ΡΡ‚ΡŒ просто ΠΎΠ³Ρ€ΠΎΠΌΠ½ΠΎΠ΅ прСимущСство. Он встроСн Π² 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. image loader. Π²Ρ‹Ρ€Π°Π²Π½ΠΈΠ²Π°Π½ΠΈΠ΅ ΠΊΠΎΠ΄Π° Π² xcode Ρ„ΠΎΡ‚ΠΎ. Π²Ρ‹Ρ€Π°Π²Π½ΠΈΠ²Π°Π½ΠΈΠ΅ ΠΊΠΎΠ΄Π° Π² xcode-image loader. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° Π²Ρ‹Ρ€Π°Π²Π½ΠΈΠ²Π°Π½ΠΈΠ΅ ΠΊΠΎΠ΄Π° Π² xcode. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° image loader. Когда Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊΡƒ Π½Π°Π΄ΠΎΠ΅Π΄Π°Π΅Ρ‚ Π΄Π΅Π»Π°Ρ‚ΡŒ Ρ€ΡƒΡ‚ΠΈΠ½Π½ΡƒΡŽ Ρ€Π°Π±ΠΎΡ‚Ρƒ, Ρƒ Π½Π΅Π³ΠΎ Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ‚ Π΄ΠΈΠΊΠΎΠ΅ ΠΆΠ΅Π»Π°Π½ΠΈΠ΅ ΠΎΡ‚ этой Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΈΠ·Π±Π°Π²ΠΈΡ‚ΡŒΡΡ. Однако, Π² Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΠΉ ΠΆΠΈΠ·Π½ΠΈ ΠΈΠ·Π±Π°Π²ΠΈΡ‚ΡŒΡΡ ΠΎΡ‚ Π½Π΅Π΅ Π½Π΅ Ρ‚Π°ΠΊ просто, ΠΈ Π΅Π΅ всС, ΠΆΠ΅ Π½Π°Π΄ΠΎ Π΄Π΅Π»Π°Ρ‚ΡŒ. Π’ зависимости ΠΎΡ‚ Π²ΠΈΠ΄Π° Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΈ ΠΎΡ‚ Π΅Π΅ количСства, ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΡΡ‚ΡƒΠΏΠ°Ρ‚ΡŒ ΠΏΠΎ-Ρ€Π°Π·Π½ΠΎΠΌΡƒ. МоТно ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠ°Ρ‚ΡŒ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ ΡƒΠΆΠ΅ Π·Π°ΡƒΡ‡Π΅Π½Π½Ρ‹Π΅ дСйствия, ΠΌΠΎΠΆΠ½ΠΎ ΡƒΠΉΡ‚ΠΈ Π² сСбя ΠΈ ΠΊΠΎΠΏΠΈΡ‚ΡŒ Π·Π»ΠΎΡΡ‚ΡŒ Π½Π° всСх ΠΈ вся, Π½Π° этот ΠΌΠΈΡ€, Π½Π° Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΈΠΊΠ°, Π½Π° PM'a, Π½Π° А ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠΏΡ‹Ρ‚Π°Ρ‚ΡŒΡΡ эту Ρ€ΡƒΡ‚ΠΈΠ½Ρƒ Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ.

А Π²ΠΎΡ‚, Ρ‡Ρ‚ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ, Π²Ρ‹Π΄Π΅Π»ΠΈΠ² кусок ΠΊΠΎΠ΄Π° ΠΈ Π½Π°ΠΆΠ°Π² ΠΏΡ€Π°Π²ΡƒΡŽ ΠΊΠ½ΠΎΠΏΠΊΡƒ:
Π²Ρ‹Ρ€Π°Π²Π½ΠΈΠ²Π°Π½ΠΈΠ΅ ΠΊΠΎΠ΄Π° Π² xcode. image loader. Π²Ρ‹Ρ€Π°Π²Π½ΠΈΠ²Π°Π½ΠΈΠ΅ ΠΊΠΎΠ΄Π° Π² xcode Ρ„ΠΎΡ‚ΠΎ. Π²Ρ‹Ρ€Π°Π²Π½ΠΈΠ²Π°Π½ΠΈΠ΅ ΠΊΠΎΠ΄Π° Π² xcode-image loader. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° Π²Ρ‹Ρ€Π°Π²Π½ΠΈΠ²Π°Π½ΠΈΠ΅ ΠΊΠΎΠ΄Π° Π² xcode. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° image loader. Когда Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊΡƒ Π½Π°Π΄ΠΎΠ΅Π΄Π°Π΅Ρ‚ Π΄Π΅Π»Π°Ρ‚ΡŒ Ρ€ΡƒΡ‚ΠΈΠ½Π½ΡƒΡŽ Ρ€Π°Π±ΠΎΡ‚Ρƒ, Ρƒ Π½Π΅Π³ΠΎ Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ‚ Π΄ΠΈΠΊΠΎΠ΅ ΠΆΠ΅Π»Π°Π½ΠΈΠ΅ ΠΎΡ‚ этой Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΈΠ·Π±Π°Π²ΠΈΡ‚ΡŒΡΡ. Однако, Π² Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΠΉ ΠΆΠΈΠ·Π½ΠΈ ΠΈΠ·Π±Π°Π²ΠΈΡ‚ΡŒΡΡ ΠΎΡ‚ Π½Π΅Π΅ Π½Π΅ Ρ‚Π°ΠΊ просто, ΠΈ Π΅Π΅ всС, ΠΆΠ΅ Π½Π°Π΄ΠΎ Π΄Π΅Π»Π°Ρ‚ΡŒ. Π’ зависимости ΠΎΡ‚ Π²ΠΈΠ΄Π° Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΈ ΠΎΡ‚ Π΅Π΅ количСства, ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΡΡ‚ΡƒΠΏΠ°Ρ‚ΡŒ ΠΏΠΎ-Ρ€Π°Π·Π½ΠΎΠΌΡƒ. МоТно ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠ°Ρ‚ΡŒ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ ΡƒΠΆΠ΅ Π·Π°ΡƒΡ‡Π΅Π½Π½Ρ‹Π΅ дСйствия, ΠΌΠΎΠΆΠ½ΠΎ ΡƒΠΉΡ‚ΠΈ Π² сСбя ΠΈ ΠΊΠΎΠΏΠΈΡ‚ΡŒ Π·Π»ΠΎΡΡ‚ΡŒ Π½Π° всСх ΠΈ вся, Π½Π° этот ΠΌΠΈΡ€, Π½Π° Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΈΠΊΠ°, Π½Π° PM'a, Π½Π° А ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠΏΡ‹Ρ‚Π°Ρ‚ΡŒΡΡ эту Ρ€ΡƒΡ‚ΠΈΠ½Ρƒ Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ.

ΠšΡƒΠ΄Π° дальшС?

ΠŸΡ€ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ всСх Π²Ρ‹ΡˆΠ΅ΠΏΠ΅Ρ€Π΅Ρ‡ΠΈΡΠ»Π΅Π½Π½Ρ‹Ρ… шагов, Ρƒ Вас появилась Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ автоматичСски Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ тСкст Π² Xcode.

Π§Ρ‚ΠΎ Π΄Π΅Π»Π°Ρ‚ΡŒ дальшС β€” зависит ΠΎΡ‚ Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎ Π²Π°ΠΌ Π±Ρ‹Π»ΠΎ Π½ΡƒΠΆΠ½ΠΎ Π΄ΠΎ этого πŸ˜‰

Если ΠΈΠ·Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎ Π±Ρ‹Π»Π° поставлСна Π·Π°Π΄Π°Ρ‡Π° ΠΏΠΎ автоматичСскому/полуавтоматичСскому Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡŽ ΠΊΠΎΠ΄Π°, Ρ‚ΠΎ стоит Π·Π°Π½ΡΡ‚ΡŒΡΡ настройкой Ρ„Π°ΠΉΠ»Π° ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ uncrustify.cfg. Π’ этом, ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΠΌΠΎΡ‡ΡŒ Universal Indent GUI β€” кроссплатформСнный Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€ code-formatter’ΠΎΠ², Π² Ρ‚ΠΎΠΌ числС ΠΈ для uncrustify.

Π’ случаС, Ссли интСрСс Π±Ρ‹Π» большС ΠΊ возмоТности внСдрСния Π²Π½Π΅ΡˆΠ½ΠΈΡ… скриптов Π² Xcode β€” Ρ‚ΠΎ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠΌ ΠΏΡ€ΠΎΠ± ΠΈ ошибок, Π½Π° ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ ΡƒΠΆΠ΅ Π³ΠΎΡ‚ΠΎΠ²ΠΎΠ³ΠΎ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½Π½ΠΎΠ³ΠΎ сСрвиса, ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡ€ΠΈΠ΄ΡƒΠΌΠ°Ρ‚ΡŒ ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΠΎΠ»Π΅Π·Π½Ρ‹Ρ… Π²Π΅Ρ‰Π΅ΠΉ.

ΠΠ»ΡŒΡ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²Ρ‹

Π›ΠΈΡ‡Π½ΠΎ ΠΎΡ‚ сСбя я Π±Ρ‹ ΠΏΠΎΡ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΠΎΠ²Π°Π» ΠΏΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Π² сторону AppCode, ΠΎ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ Π² своС врСмя ΡƒΠΆΠ΅ писали Π½Π° Π₯Π°Π±Ρ€Π΅. ΠŸΡƒΡΡ‚ΡŒ, Π΄Π°ΠΆΠ΅ ΠΎΠ½ ΠΈ ΠΏΠ»Π°Ρ‚Π½Ρ‹ΠΉ с 30-Π΄Π½Π΅Π²Π½Ρ‹ΠΌ бСсплатным ΠΏΠ΅Ρ€ΠΈΠΎΠ΄ΠΎΠΌ. Вопрос ΠΎ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ ΠΊΠΎΠ΄Π° Π² Appcod’Π΅ Ρ€Π΅ΡˆΠ°Π΅Ρ‚ΡΡ совсСм Π½Π° Π΄Ρ€ΡƒΠ³ΠΎΠΌ ΡƒΡ€ΠΎΠ²Π½Π΅:
Π²Ρ‹Ρ€Π°Π²Π½ΠΈΠ²Π°Π½ΠΈΠ΅ ΠΊΠΎΠ΄Π° Π² xcode. image loader. Π²Ρ‹Ρ€Π°Π²Π½ΠΈΠ²Π°Π½ΠΈΠ΅ ΠΊΠΎΠ΄Π° Π² xcode Ρ„ΠΎΡ‚ΠΎ. Π²Ρ‹Ρ€Π°Π²Π½ΠΈΠ²Π°Π½ΠΈΠ΅ ΠΊΠΎΠ΄Π° Π² xcode-image loader. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° Π²Ρ‹Ρ€Π°Π²Π½ΠΈΠ²Π°Π½ΠΈΠ΅ ΠΊΠΎΠ΄Π° Π² xcode. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° image loader. Когда Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊΡƒ Π½Π°Π΄ΠΎΠ΅Π΄Π°Π΅Ρ‚ Π΄Π΅Π»Π°Ρ‚ΡŒ Ρ€ΡƒΡ‚ΠΈΠ½Π½ΡƒΡŽ Ρ€Π°Π±ΠΎΡ‚Ρƒ, Ρƒ Π½Π΅Π³ΠΎ Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ‚ Π΄ΠΈΠΊΠΎΠ΅ ΠΆΠ΅Π»Π°Π½ΠΈΠ΅ ΠΎΡ‚ этой Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΈΠ·Π±Π°Π²ΠΈΡ‚ΡŒΡΡ. Однако, Π² Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΠΉ ΠΆΠΈΠ·Π½ΠΈ ΠΈΠ·Π±Π°Π²ΠΈΡ‚ΡŒΡΡ ΠΎΡ‚ Π½Π΅Π΅ Π½Π΅ Ρ‚Π°ΠΊ просто, ΠΈ Π΅Π΅ всС, ΠΆΠ΅ Π½Π°Π΄ΠΎ Π΄Π΅Π»Π°Ρ‚ΡŒ. Π’ зависимости ΠΎΡ‚ Π²ΠΈΠ΄Π° Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΈ ΠΎΡ‚ Π΅Π΅ количСства, ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΡΡ‚ΡƒΠΏΠ°Ρ‚ΡŒ ΠΏΠΎ-Ρ€Π°Π·Π½ΠΎΠΌΡƒ. МоТно ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠ°Ρ‚ΡŒ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ ΡƒΠΆΠ΅ Π·Π°ΡƒΡ‡Π΅Π½Π½Ρ‹Π΅ дСйствия, ΠΌΠΎΠΆΠ½ΠΎ ΡƒΠΉΡ‚ΠΈ Π² сСбя ΠΈ ΠΊΠΎΠΏΠΈΡ‚ΡŒ Π·Π»ΠΎΡΡ‚ΡŒ Π½Π° всСх ΠΈ вся, Π½Π° этот ΠΌΠΈΡ€, Π½Π° Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΈΠΊΠ°, Π½Π° PM'a, Π½Π° А ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠΏΡ‹Ρ‚Π°Ρ‚ΡŒΡΡ эту Ρ€ΡƒΡ‚ΠΈΠ½Ρƒ Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ.

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

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

Π²Ρ‹Ρ€Π°Π²Π½ΠΈΠ²Π°Π½ΠΈΠ΅ ΠΊΠΎΠ΄Π° Π² xcode. Y8E6D. Π²Ρ‹Ρ€Π°Π²Π½ΠΈΠ²Π°Π½ΠΈΠ΅ ΠΊΠΎΠ΄Π° Π² xcode Ρ„ΠΎΡ‚ΠΎ. Π²Ρ‹Ρ€Π°Π²Π½ΠΈΠ²Π°Π½ΠΈΠ΅ ΠΊΠΎΠ΄Π° Π² xcode-Y8E6D. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° Π²Ρ‹Ρ€Π°Π²Π½ΠΈΠ²Π°Π½ΠΈΠ΅ ΠΊΠΎΠ΄Π° Π² xcode. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° Y8E6D. Когда Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊΡƒ Π½Π°Π΄ΠΎΠ΅Π΄Π°Π΅Ρ‚ Π΄Π΅Π»Π°Ρ‚ΡŒ Ρ€ΡƒΡ‚ΠΈΠ½Π½ΡƒΡŽ Ρ€Π°Π±ΠΎΡ‚Ρƒ, Ρƒ Π½Π΅Π³ΠΎ Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ‚ Π΄ΠΈΠΊΠΎΠ΅ ΠΆΠ΅Π»Π°Π½ΠΈΠ΅ ΠΎΡ‚ этой Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΈΠ·Π±Π°Π²ΠΈΡ‚ΡŒΡΡ. Однако, Π² Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΠΉ ΠΆΠΈΠ·Π½ΠΈ ΠΈΠ·Π±Π°Π²ΠΈΡ‚ΡŒΡΡ ΠΎΡ‚ Π½Π΅Π΅ Π½Π΅ Ρ‚Π°ΠΊ просто, ΠΈ Π΅Π΅ всС, ΠΆΠ΅ Π½Π°Π΄ΠΎ Π΄Π΅Π»Π°Ρ‚ΡŒ. Π’ зависимости ΠΎΡ‚ Π²ΠΈΠ΄Π° Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΈ ΠΎΡ‚ Π΅Π΅ количСства, ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΡΡ‚ΡƒΠΏΠ°Ρ‚ΡŒ ΠΏΠΎ-Ρ€Π°Π·Π½ΠΎΠΌΡƒ. МоТно ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠ°Ρ‚ΡŒ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ ΡƒΠΆΠ΅ Π·Π°ΡƒΡ‡Π΅Π½Π½Ρ‹Π΅ дСйствия, ΠΌΠΎΠΆΠ½ΠΎ ΡƒΠΉΡ‚ΠΈ Π² сСбя ΠΈ ΠΊΠΎΠΏΠΈΡ‚ΡŒ Π·Π»ΠΎΡΡ‚ΡŒ Π½Π° всСх ΠΈ вся, Π½Π° этот ΠΌΠΈΡ€, Π½Π° Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΈΠΊΠ°, Π½Π° PM'a, Π½Π° А ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠΏΡ‹Ρ‚Π°Ρ‚ΡŒΡΡ эту Ρ€ΡƒΡ‚ΠΈΠ½Ρƒ Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ.

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 🥳

Π²Ρ‹Ρ€Π°Π²Π½ΠΈΠ²Π°Π½ΠΈΠ΅ ΠΊΠΎΠ΄Π° Π² xcode. . Π²Ρ‹Ρ€Π°Π²Π½ΠΈΠ²Π°Π½ΠΈΠ΅ ΠΊΠΎΠ΄Π° Π² xcode Ρ„ΠΎΡ‚ΠΎ. Π²Ρ‹Ρ€Π°Π²Π½ΠΈΠ²Π°Π½ΠΈΠ΅ ΠΊΠΎΠ΄Π° Π² xcode-. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° Π²Ρ‹Ρ€Π°Π²Π½ΠΈΠ²Π°Π½ΠΈΠ΅ ΠΊΠΎΠ΄Π° Π² xcode. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° . Когда Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊΡƒ Π½Π°Π΄ΠΎΠ΅Π΄Π°Π΅Ρ‚ Π΄Π΅Π»Π°Ρ‚ΡŒ Ρ€ΡƒΡ‚ΠΈΠ½Π½ΡƒΡŽ Ρ€Π°Π±ΠΎΡ‚Ρƒ, Ρƒ Π½Π΅Π³ΠΎ Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ‚ Π΄ΠΈΠΊΠΎΠ΅ ΠΆΠ΅Π»Π°Π½ΠΈΠ΅ ΠΎΡ‚ этой Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΈΠ·Π±Π°Π²ΠΈΡ‚ΡŒΡΡ. Однако, Π² Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΠΉ ΠΆΠΈΠ·Π½ΠΈ ΠΈΠ·Π±Π°Π²ΠΈΡ‚ΡŒΡΡ ΠΎΡ‚ Π½Π΅Π΅ Π½Π΅ Ρ‚Π°ΠΊ просто, ΠΈ Π΅Π΅ всС, ΠΆΠ΅ Π½Π°Π΄ΠΎ Π΄Π΅Π»Π°Ρ‚ΡŒ. Π’ зависимости ΠΎΡ‚ Π²ΠΈΠ΄Π° Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΈ ΠΎΡ‚ Π΅Π΅ количСства, ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΡΡ‚ΡƒΠΏΠ°Ρ‚ΡŒ ΠΏΠΎ-Ρ€Π°Π·Π½ΠΎΠΌΡƒ. МоТно ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠ°Ρ‚ΡŒ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ ΡƒΠΆΠ΅ Π·Π°ΡƒΡ‡Π΅Π½Π½Ρ‹Π΅ дСйствия, ΠΌΠΎΠΆΠ½ΠΎ ΡƒΠΉΡ‚ΠΈ Π² сСбя ΠΈ ΠΊΠΎΠΏΠΈΡ‚ΡŒ Π·Π»ΠΎΡΡ‚ΡŒ Π½Π° всСх ΠΈ вся, Π½Π° этот ΠΌΠΈΡ€, Π½Π° Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΈΠΊΠ°, Π½Π° PM'a, Π½Π° А ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠΏΡ‹Ρ‚Π°Ρ‚ΡŒΡΡ эту Ρ€ΡƒΡ‚ΠΈΠ½Ρƒ Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ.

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 Π²Ρ‹Ρ€Π°Π²Π½ΠΈΠ²Π°Π½ΠΈΠ΅ ΠΊΠΎΠ΄Π° Π² xcode. b5086055ba5aec2e3182fe64f38155a6. Π²Ρ‹Ρ€Π°Π²Π½ΠΈΠ²Π°Π½ΠΈΠ΅ ΠΊΠΎΠ΄Π° Π² xcode Ρ„ΠΎΡ‚ΠΎ. Π²Ρ‹Ρ€Π°Π²Π½ΠΈΠ²Π°Π½ΠΈΠ΅ ΠΊΠΎΠ΄Π° Π² xcode-b5086055ba5aec2e3182fe64f38155a6. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° Π²Ρ‹Ρ€Π°Π²Π½ΠΈΠ²Π°Π½ΠΈΠ΅ ΠΊΠΎΠ΄Π° Π² xcode. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° b5086055ba5aec2e3182fe64f38155a6. Когда Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊΡƒ Π½Π°Π΄ΠΎΠ΅Π΄Π°Π΅Ρ‚ Π΄Π΅Π»Π°Ρ‚ΡŒ Ρ€ΡƒΡ‚ΠΈΠ½Π½ΡƒΡŽ Ρ€Π°Π±ΠΎΡ‚Ρƒ, Ρƒ Π½Π΅Π³ΠΎ Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ‚ Π΄ΠΈΠΊΠΎΠ΅ ΠΆΠ΅Π»Π°Π½ΠΈΠ΅ ΠΎΡ‚ этой Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΈΠ·Π±Π°Π²ΠΈΡ‚ΡŒΡΡ. Однако, Π² Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΠΉ ΠΆΠΈΠ·Π½ΠΈ ΠΈΠ·Π±Π°Π²ΠΈΡ‚ΡŒΡΡ ΠΎΡ‚ Π½Π΅Π΅ Π½Π΅ Ρ‚Π°ΠΊ просто, ΠΈ Π΅Π΅ всС, ΠΆΠ΅ Π½Π°Π΄ΠΎ Π΄Π΅Π»Π°Ρ‚ΡŒ. Π’ зависимости ΠΎΡ‚ Π²ΠΈΠ΄Π° Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΈ ΠΎΡ‚ Π΅Π΅ количСства, ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΡΡ‚ΡƒΠΏΠ°Ρ‚ΡŒ ΠΏΠΎ-Ρ€Π°Π·Π½ΠΎΠΌΡƒ. МоТно ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠ°Ρ‚ΡŒ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ ΡƒΠΆΠ΅ Π·Π°ΡƒΡ‡Π΅Π½Π½Ρ‹Π΅ дСйствия, ΠΌΠΎΠΆΠ½ΠΎ ΡƒΠΉΡ‚ΠΈ Π² сСбя ΠΈ ΠΊΠΎΠΏΠΈΡ‚ΡŒ Π·Π»ΠΎΡΡ‚ΡŒ Π½Π° всСх ΠΈ вся, Π½Π° этот ΠΌΠΈΡ€, Π½Π° Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΈΠΊΠ°, Π½Π° PM'a, Π½Π° А ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠΏΡ‹Ρ‚Π°Ρ‚ΡŒΡΡ эту Ρ€ΡƒΡ‚ΠΈΠ½Ρƒ Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ.

Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΠΎΠΏΡ€ΠΎΠ±ΠΎΠ²Π°Ρ‚ΡŒ, см. https://github.com/Jintin/Swimat для получСния Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ.

Π²Ρ‹ Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Π½Π° https://github.com/octo-online/Xcode-formatter ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ являСтся Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅Ρ€ΠΎΠΌ, основанным Π½Π° Uncrustify ΠΈ ΠΈΠ½Ρ‚Π΅Π³Ρ€ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΌ Π² Xcode. Π Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ ΠΊΠ°ΠΊ ΡˆΠ°Ρ€ΠΌ.

просто ΠΊΠ»ΠΎΠ½ΠΈΡ€ΡƒΠΉΡ‚Π΅ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ github, ΠΎΡ‚ΠΊΡ€ΠΎΠΉΡ‚Π΅ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ ΠΏΠ»Π°Π³ΠΈΠ½Π° Π² XCode ΠΈ запуститС Π΅Π³ΠΎ. Он Π±ΡƒΠ΄Π΅Ρ‚ установлСн автоматичСски. ΠŸΠ΅Ρ€Π΅Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚Π΅ Xode ΠΏΠ΅Ρ€Π΅Π΄ использованиСм ΠΏΠ»Π°Π³ΠΈΠ½Π° форматирования.

НС Π·Π°Π±ΡƒΠ΄ΡŒΡ‚Π΅ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ uncrustify util Ρ€Π°Π½ΡŒΡˆΠ΅. Π”ΠΎΠΌΠΎΡ€ΠΎΡ‰Π΅Π½Π½Ρ‹ΠΉ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€

P. S. Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ «ΠΏΠΎΡΠ»Π΅ сохранСниС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅» Π² мСню «Π Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅» > Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ ΠΊΠΎΠ΄Π° > BBUncrustifyPlugin Настройки > Π€ΠΎΡ€ΠΌΠ°Ρ‚ ΠŸΡ€ΠΈ Π‘ΠΎΡ…Ρ€Π°Π½Π΅Π½ΠΈΠΈ

Π― ΠΏΡ€Π΅Π΄Π»Π°Π³Π°ΡŽ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ClangFormat. Для Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ, поТалуйста, Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚Π΅ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ дСйствия:

Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ Ρ‚ΠΈΠΏΡ‹ форматирования. Π’Π°ΠΊΠΆΠ΅ ΠΏΡƒΡ‚Π΅ΠΌ Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ Π€ΠΎΡ€ΠΌΠ°Ρ‚ ΠŸΡ€ΠΈ Π‘ΠΎΡ…Ρ€Π°Π½Π΅Π½ΠΈΠΈ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ автоматичСского форматирования.

Π²Ρ‹Ρ€Π°Π²Π½ΠΈΠ²Π°Π½ΠΈΠ΅ ΠΊΠΎΠ΄Π° Π² xcode. f978ad2f9e7fbd60c618e4f21a6333ce. Π²Ρ‹Ρ€Π°Π²Π½ΠΈΠ²Π°Π½ΠΈΠ΅ ΠΊΠΎΠ΄Π° Π² xcode Ρ„ΠΎΡ‚ΠΎ. Π²Ρ‹Ρ€Π°Π²Π½ΠΈΠ²Π°Π½ΠΈΠ΅ ΠΊΠΎΠ΄Π° Π² xcode-f978ad2f9e7fbd60c618e4f21a6333ce. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° Π²Ρ‹Ρ€Π°Π²Π½ΠΈΠ²Π°Π½ΠΈΠ΅ ΠΊΠΎΠ΄Π° Π² xcode. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° f978ad2f9e7fbd60c618e4f21a6333ce. Когда Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊΡƒ Π½Π°Π΄ΠΎΠ΅Π΄Π°Π΅Ρ‚ Π΄Π΅Π»Π°Ρ‚ΡŒ Ρ€ΡƒΡ‚ΠΈΠ½Π½ΡƒΡŽ Ρ€Π°Π±ΠΎΡ‚Ρƒ, Ρƒ Π½Π΅Π³ΠΎ Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ‚ Π΄ΠΈΠΊΠΎΠ΅ ΠΆΠ΅Π»Π°Π½ΠΈΠ΅ ΠΎΡ‚ этой Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΈΠ·Π±Π°Π²ΠΈΡ‚ΡŒΡΡ. Однако, Π² Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΠΉ ΠΆΠΈΠ·Π½ΠΈ ΠΈΠ·Π±Π°Π²ΠΈΡ‚ΡŒΡΡ ΠΎΡ‚ Π½Π΅Π΅ Π½Π΅ Ρ‚Π°ΠΊ просто, ΠΈ Π΅Π΅ всС, ΠΆΠ΅ Π½Π°Π΄ΠΎ Π΄Π΅Π»Π°Ρ‚ΡŒ. Π’ зависимости ΠΎΡ‚ Π²ΠΈΠ΄Π° Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΈ ΠΎΡ‚ Π΅Π΅ количСства, ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΡΡ‚ΡƒΠΏΠ°Ρ‚ΡŒ ΠΏΠΎ-Ρ€Π°Π·Π½ΠΎΠΌΡƒ. МоТно ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠ°Ρ‚ΡŒ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ ΡƒΠΆΠ΅ Π·Π°ΡƒΡ‡Π΅Π½Π½Ρ‹Π΅ дСйствия, ΠΌΠΎΠΆΠ½ΠΎ ΡƒΠΉΡ‚ΠΈ Π² сСбя ΠΈ ΠΊΠΎΠΏΠΈΡ‚ΡŒ Π·Π»ΠΎΡΡ‚ΡŒ Π½Π° всСх ΠΈ вся, Π½Π° этот ΠΌΠΈΡ€, Π½Π° Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΈΠΊΠ°, Π½Π° PM'a, Π½Π° А ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠΏΡ‹Ρ‚Π°Ρ‚ΡŒΡΡ эту Ρ€ΡƒΡ‚ΠΈΠ½Ρƒ Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ.

Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Π²Ρ‹ΡˆΠ΅ Π² свой 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

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ

Π’Π°Ρˆ адрСс email Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½. ΠžΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ поля ΠΏΠΎΠΌΠ΅Ρ‡Π΅Π½Ρ‹ *