Π Π°Π±ΠΎΡ‚Π° с исходным ΠΊΠΎΠ΄ΠΎΠΌ Π² срСдС 1Π‘:ΠŸΡ€Π΅Π΄ΠΏΡ€ΠΈΡΡ‚ΠΈΠ΅ Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ соблюдСния строгих стандартов оформлСния, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½Π°ΠΏΡ€ΡΠΌΡƒΡŽ Π²Π»ΠΈΡΡŽΡ‚ Π½Π° Ρ‡ΠΈΡ‚Π°Π΅ΠΌΠΎΡΡ‚ΡŒ ΠΈ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅ΠΌΠΎΡΡ‚ΡŒ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ. Одним ΠΈΠ· ΠΊΠ»ΡŽΡ‡Π΅Π²Ρ‹Ρ… ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ², ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡŽΡ‰ΠΈΡ… Π²ΠΈΠ·ΡƒΠ°Π»ΡŒΠ½ΡƒΡŽ структуру модуля, являСтся ΡˆΠΈΡ€ΠΈΠ½Π° табуляции. Π­Ρ‚ΠΎ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚, сколько ΠΏΡ€ΠΎΠ±Π΅Π»ΠΎΠ² Π²ΠΈΠ·ΡƒΠ°Π»ΡŒΠ½ΠΎ Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ‚ ΠΎΠ΄ΠΈΠ½ символ табуляции (Tab) ΠΏΡ€ΠΈ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΈ ΠΊΠΎΠ΄Π° Π² Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€Π΅.

МногиС Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ ΠΎΡˆΠΈΠ±ΠΎΡ‡Π½ΠΎ ΠΏΠΎΠ»Π°Π³Π°ΡŽΡ‚, Ρ‡Ρ‚ΠΎ настройка ΡˆΠΈΡ€ΠΈΠ½Ρ‹ табуляции β€” это лишь вопрос эстСтичСских ΠΏΡ€Π΅Π΄ΠΏΠΎΡ‡Ρ‚Π΅Π½ΠΈΠΉ. Однако Π² Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ этот ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ тСсно связан со стандартами кодирования, принятыми Π² сообщСствС 1Π‘, ΠΈ влияСт Π½Π° ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½ΠΎΠ΅ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ влоТСнности Π±Π»ΠΎΠΊΠΎΠ² ΠΊΠΎΠ΄Π°. ΠΠ΅ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½Π°Ρ настройка ΠΌΠΎΠΆΠ΅Ρ‚ привСсти ΠΊ Ρ‚ΠΎΠΌΡƒ, Ρ‡Ρ‚ΠΎ ваш ΠΊΠΎΠ΄ Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹Π³Π»ΡΠ΄Π΅Ρ‚ΡŒ Β«ΠΏΠΎΠ΅Ρ…Π°Π²ΡˆΠΈΠΌΒ» Π½Π° ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π°Ρ… ΠΊΠΎΠ»Π»Π΅Π³ ΠΈΠ»ΠΈ ΠΏΡ€ΠΈ Π²Ρ‹Π³Ρ€ΡƒΠ·ΠΊΠ΅ Π² Ρ„Π°ΠΉΠ»Ρ‹ сравнСния.

Π’ этой ΡΡ‚Π°Ρ‚ΡŒΠ΅ ΠΌΡ‹ Π΄Π΅Ρ‚Π°Π»ΡŒΠ½ΠΎ Ρ€Π°Π·Π±Π΅Ρ€Π΅ΠΌ, Π³Π΄Π΅ находится настройка ΡˆΠΈΡ€ΠΈΠ½Ρ‹ табуляции, ΠΊΠ°ΠΊ ΠΎΠ½Π° взаимодСйствуСт с использованиСм ΠΏΡ€ΠΎΠ±Π΅Π»ΠΎΠ² ΠΈ символов табуляции, Π° Ρ‚Π°ΠΊΠΆΠ΅ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅ΠΌ Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄Π°Ρ†ΠΈΠΈ ΠΏΠΎ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½ΠΈΡŽ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰Π΅Π³ΠΎ ΠΊΠΎΠ΄Π° ΠΊ Π΅Π΄ΠΈΠ½ΠΎΠΌΡƒ стандарту. ПониманиС этих ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠΎΠ² Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΊΠ°ΠΆΠ΄ΠΎΠΌΡƒ программисту, Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‰Π΅ΠΌΡƒ с ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠΎΠΉ.

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ табуляция ΠΈ ΠΊΠ°ΠΊ ΠΎΠ½Π° Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π² Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€Π΅ 1Π‘

Вабуляция β€” это ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹ΠΉ ΡƒΠΏΡ€Π°Π²Π»ΡΡŽΡ‰ΠΈΠΉ символ, ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Π½Ρ‹ΠΉ для выравнивания тСкста. Π’ ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΎΡ‚ ΠΏΡ€ΠΎΠ±Π΅Π»Π°, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ всСгда Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ‚ ΠΎΠ΄Π½ΠΎ знакомСсто, символ табуляции ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Ρ‰Π°Π΅Ρ‚ курсор Π΄ΠΎ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΉ ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΈ, ΠΊΡ€Π°Ρ‚Π½ΠΎΠΉ Π·Π°Π΄Π°Π½Π½ΠΎΠΉ ΡˆΠΈΡ€ΠΈΠ½Π΅. Π’ контСкстС Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π½Π° 1Π‘:ΠŸΡ€Π΅Π΄ΠΏΡ€ΠΈΡΡ‚ΠΈΠ΅, ΡˆΠΈΡ€ΠΈΠ½Π° табуляции ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ часто составляСт 4 ΠΏΡ€ΠΎΠ±Π΅Π»Π°, хотя это Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ настраиваСмо.

Когда Π²Ρ‹ Π½Π°ΠΆΠΈΠΌΠ°Π΅Ρ‚Π΅ ΠΊΠ»Π°Π²ΠΈΡˆΡƒ Tab Π½Π° ΠΊΠ»Π°Π²ΠΈΠ°Ρ‚ΡƒΡ€Π΅ Π² ΠΎΠΊΠ½Π΅ Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€Π° ΠΊΠΎΠ΄Π°, систСма вставляСт Π½Π΅ ΠΎΠ΄ΠΈΠ½ ТСсткий отступ, Π° ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹ΠΉ символ. Π’ΠΈΠ·ΡƒΠ°Π»ΡŒΠ½ΠΎ ΠΎΠ½ отобраТаСтся ΠΊΠ°ΠΊ пустоС пространство, ΡˆΠΈΡ€ΠΈΠ½Π° ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ зависит ΠΎΡ‚ Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΡ… настроСк Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€Π°. Если Π²Ρ‹ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚Π΅ ΡˆΠΈΡ€ΠΈΠ½Ρƒ табуляции с 4 Π½Π° 2 символа, вСсь ΠΊΠΎΠ΄, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‰ΠΈΠΉ Ρ‚Π°Π±Ρ‹, Π²ΠΈΠ·ΡƒΠ°Π»ΡŒΠ½ΠΎ соТмСтся ΠΏΠΎ Π³ΠΎΡ€ΠΈΠ·ΠΎΠ½Ρ‚Π°Π»ΠΈ, хотя физичСскоС содСрТимоС Ρ„Π°ΠΉΠ»Π° Π½Π΅ измСнится.

Π’Π°ΠΆΠ½ΠΎ Ρ€Π°Π·Π»ΠΈΡ‡Π°Ρ‚ΡŒ понятиС Β«ΡˆΠΈΡ€ΠΈΠ½Π° отобраТСния» ΠΈ «физичСский символ». Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π½Π°ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€ Ρ‚Π°ΠΊ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠ΄ΠΈΠ½ Ρ‚Π°Π± отобраТался ΠΊΠ°ΠΊ 8 ΠΏΡ€ΠΎΠ±Π΅Π»ΠΎΠ², Π½ΠΎ Π²Π½ΡƒΡ‚Ρ€ΠΈ Ρ„Π°ΠΉΠ»Π° останСтся ΠΎΠ΄ΠΈΠ½ Π±Π°ΠΉΡ‚ Π΄Π°Π½Π½Ρ‹Ρ…. Π­Ρ‚ΠΎ создаСт ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ ΠΏΡ€ΠΈ совмСстной Ρ€Π°Π±ΠΎΡ‚Π΅, Ссли Ρƒ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² Ρ€Π°Π·Π½Ρ‹Π΅ настройки отобраТСния.

⚠️ Π’Π½ΠΈΠΌΠ°Π½ΠΈΠ΅: БмСшиваниС ΠΏΡ€ΠΎΠ±Π΅Π»ΠΎΠ² ΠΈ символов табуляции для создания отступов Π² ΠΎΠ΄Π½ΠΎΠΌ Ρ„Π°ΠΉΠ»Π΅ катСгоричСски Π½Π΅ рСкомСндуСтся. Π­Ρ‚ΠΎ ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΡ‚ ΠΊ рассинхронизации Π²ΠΈΠ·ΡƒΠ°Π»ΡŒΠ½ΠΎΠΉ структуры ΠΊΠΎΠ΄Π° ΠΏΡ€ΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΈ ΡˆΠΈΡ€ΠΈΠ½Ρ‹ табуляции.

ΠŸΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ° 1Π‘ позволяСт Π³ΠΈΠ±ΠΊΠΎ ΡƒΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒ этим ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠΌ Ρ‡Π΅Ρ€Π΅Π· мСню настроСк, Ρ‡Ρ‚ΠΎ Π΄Π°Π΅Ρ‚ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Π°Π΄Π°ΠΏΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ срСду Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΏΠΎΠ΄ Π»ΠΈΡ‡Π½Ρ‹Π΅ Π½ΡƒΠΆΠ΄Ρ‹ ΠΈΠ»ΠΈ ΠΊΠΎΡ€ΠΏΠΎΡ€Π°Ρ‚ΠΈΠ²Π½Ρ‹Π΅ стандарты. Однако для ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ критичСски Π²Π°ΠΆΠ½ΠΎ ΡƒΠ½ΠΈΡ„ΠΈΡ†ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ эти значСния.

πŸ’‘

Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ Β«ΠŸΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ Π½Π΅ΠΏΠ΅Ρ‡Π°Ρ‚Π½Ρ‹Π΅ символы» Π² Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€Π΅ 1Π‘, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π²ΠΈΠ·ΡƒΠ°Π»ΡŒΠ½ΠΎ ΠΎΡ‚Π»ΠΈΡ‡Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ±Π΅Π»Ρ‹ (Ρ‚ΠΎΡ‡ΠΊΠΈ) ΠΎΡ‚ табуляции (стрСлочки). Π­Ρ‚ΠΎ ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΠ·Π±Π΅ΠΆΠ°Ρ‚ΡŒ хаоса Π² отступах.

Π“Π΄Π΅ Π½Π°ΠΉΡ‚ΠΈ настройку ΡˆΠΈΡ€ΠΈΠ½Ρ‹ табуляции Π² ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ

Настройка ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€Π° ΠΊΠΎΠ΄Π° Π² ΠšΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ‚ΠΎΡ€Π΅ 1Π‘ находится Π² ΠΎΠ±Ρ‰Π΅ΠΌ мСню ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² срСды. Π§Ρ‚ΠΎΠ±Ρ‹ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ ΡˆΠΈΡ€ΠΈΠ½Ρƒ табуляции, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΠ΅Ρ€Π΅ΠΉΡ‚ΠΈ Π² Ρ€Π°Π·Π΄Π΅Π», ΠΎΡ‚Π²Π΅Ρ‡Π°ΡŽΡ‰ΠΈΠΉ Π·Π° тСкстовый Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€. ΠŸΡƒΡ‚ΡŒ ΠΊ настройкам ΠΌΠΎΠΆΠ΅Ρ‚ Π½Π΅Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΠΎΡ‚Π»ΠΈΡ‡Π°Ρ‚ΡŒΡΡ Π² Ρ€Π°Π·Π½Ρ‹Ρ… вСрсиях ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹, Π½ΠΎ Π»ΠΎΠ³ΠΈΠΊΠ° остаСтся Π΅Π΄ΠΈΠ½ΠΎΠΉ.

Π’Π°ΠΌ потрСбуСтся Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΡƒΡŽ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ дСйствий: Π½Π°ΠΆΠΌΠΈΡ‚Π΅ БСрвис β†’ ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹. Π’ ΠΎΡ‚ΠΊΡ€Ρ‹Π²ΡˆΠ΅ΠΌΡΡ ΠΎΠΊΠ½Π΅ ΠΏΠ΅Ρ€Π΅ΠΉΠ΄ΠΈΡ‚Π΅ Π½Π° Π²ΠΊΠ»Π°Π΄ΠΊΡƒ ВСкстовый Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€. ИмСнно здСсь сосрСдоточСны всС ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹, Π²Π»ΠΈΡΡŽΡ‰ΠΈΠ΅ Π½Π° ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ ΠΈ Π²Π²ΠΎΠ΄ тСкстовой ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ Π² модулях ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ².

  • πŸ“ НайдитС ΠΏΠΎΠ»Π΅ Β«Π Π°Π·ΠΌΠ΅Ρ€ табуляции» ΠΈΠ»ΠΈ Β«Π¨ΠΈΡ€ΠΈΠ½Π° табуляции».
  • βš™οΈ УстановитС ΠΆΠ΅Π»Π°Π΅ΠΌΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ (стандарт отрасли β€” 4 символа).
  • βœ… НаТмитС ΠΊΠ½ΠΎΠΏΠΊΡƒ «ОК» для примСнСния ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ.
  • πŸ”„ ΠŸΠ΅Ρ€Π΅Π·Π°ΠΏΡƒΡΠΊ ΠšΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ‚ΠΎΡ€Π° ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΡ‚Ρ€Π΅Π±ΠΎΠ²Π°Ρ‚ΡŒΡΡ для Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… вСрсий ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹.

Π‘Ρ‚ΠΎΠΈΡ‚ ΠΎΡ‚ΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ этого ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π° влияСт Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π½Π° Π½ΠΎΠ²Ρ‹Π΅ Π²Π²ΠΎΠ΄ΠΈΠΌΡ‹Π΅ символы табуляции ΠΈ Π½Π° Π²ΠΈΠ·ΡƒΠ°Π»ΡŒΠ½ΠΎΠ΅ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΡ…. ЀизичСская Π·Π°ΠΌΠ΅Π½Π° ΡƒΠΆΠ΅ Π²Π²Π΅Π΄Π΅Π½Π½Ρ‹Ρ… Ρ‚Π°Π±ΠΎΠ² Π½Π° ΠΏΡ€ΠΎΠ±Π΅Π»Ρ‹ ΠΈΠ»ΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΠΈΡ… количСства Π½Π΅ происходит автоматичСски ΠΏΡ€ΠΈ смСнС настройки.

πŸ“Š ΠšΠ°ΠΊΡƒΡŽ ΡˆΠΈΡ€ΠΈΠ½Ρƒ табуляции Π²Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚Π΅ Π² Ρ€Π°Π±ΠΎΡ‚Π΅?
2 ΠΏΡ€ΠΎΠ±Π΅Π»Π°
4 ΠΏΡ€ΠΎΠ±Π΅Π»Π°
8 ΠΏΡ€ΠΎΠ±Π΅Π»ΠΎΠ²
Волько ΠΏΡ€ΠΎΠ±Π΅Π»Ρ‹ (Π±Π΅Π· Ρ‚Π°Π±ΠΎΠ²)

ΠŸΡ€ΠΎΠ±Π΅Π»Ρ‹ ΠΏΡ€ΠΎΡ‚ΠΈΠ² Вабуляции: Π²Π΅Ρ‡Π½Ρ‹ΠΉ спор Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² 1Π‘

Π’ сообщСствС Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² 1Π‘ Π΄Π°Π²Π½ΠΎ вСдутся дискуссии ΠΎ Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ Π»ΡƒΡ‡ΡˆΠ΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ для отступов: символы табуляции ΠΈΠ»ΠΈ ΠΏΡ€ΠΎΠ±Π΅Π»Ρ‹. КаТдая ΠΈΠ· стратСгий ΠΈΠΌΠ΅Π΅Ρ‚ свои тСхничСскиС прСимущСства ΠΈ нСдостатки, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΡƒΡ‡ΠΈΡ‚Ρ‹Π²Π°Ρ‚ΡŒ ΠΏΡ€ΠΈ Π²Ρ‹Π±ΠΎΡ€Π΅ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄Π° для вашСго ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°.

ИспользованиС табуляции позволяСт ΡƒΠΌΠ΅Π½ΡŒΡˆΠΈΡ‚ΡŒ Ρ€Π°Π·ΠΌΠ΅Ρ€ исходного ΠΊΠΎΠ΄Π°, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ ΠΎΠ΄ΠΈΠ½ символ замСняСт нСсколько ΠΏΡ€ΠΎΠ±Π΅Π»ΠΎΠ². ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, это Π΄Π°Π΅Ρ‚ Π³ΠΈΠ±ΠΊΠΎΡΡ‚ΡŒ: ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ ΠΌΠΎΠΆΠ΅Ρ‚ Π½Π°ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ ΡˆΠΈΡ€ΠΈΠ½Ρƒ отобраТСния ΠΏΠΎΠ΄ сСбя, Π½Π΅ ломая структуру Ρ„Π°ΠΉΠ»Π°. Однако, Ссли ΠΊΠΎΠΌΠ°Π½Π΄Π° Π½Π΅ договорится ΠΎ Π΅Π΄ΠΈΠ½ΠΎΠΉ ΡˆΠΈΡ€ΠΈΠ½Π΅, ΠΊΠΎΠ΄ Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹Π³Π»ΡΠ΄Π΅Ρ‚ΡŒ ΠΏΠΎ-Ρ€Π°Π·Π½ΠΎΠΌΡƒ Ρƒ Ρ€Π°Π·Π½Ρ‹Ρ… участников.

ИспользованиС ΠΏΡ€ΠΎΠ±Π΅Π»ΠΎΠ² Π³Π°Ρ€Π°Π½Ρ‚ΠΈΡ€ΡƒΠ΅Ρ‚, Ρ‡Ρ‚ΠΎ ΠΊΠΎΠ΄ Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹Π³Π»ΡΠ΄Π΅Ρ‚ΡŒ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ‡Π½ΠΎ Π½Π° любом ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π΅, Π² любом Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€Π΅ ΠΈ ΠΏΡ€ΠΈ любой ΠΏΠ΅Ρ‡Π°Ρ‚ΠΈ. Π­Ρ‚ΠΎ Π΄Π΅Π»Π°Π΅Ρ‚ вСрстку «ТСсткой» ΠΈ прСдсказуСмой. ΠœΠΈΠ½ΡƒΡΠΎΠΌ являСтся ΡƒΠ²Π΅Π»ΠΈΡ‡Π΅Π½ΠΈΠ΅ объСма Ρ…Ρ€Π°Π½ΠΈΠΌΡ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ… ΠΈ ΡΠ»ΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ измСнСния уровня влоТСнности (придСтся ΡƒΠ΄Π°Π»ΡΡ‚ΡŒ ΠΈΠ»ΠΈ Π΄ΠΎΠ±Π°Π²Π»ΡΡ‚ΡŒ ΠΌΠ½ΠΎΠ³ΠΎ символов Π²Ρ€ΡƒΡ‡Π½ΡƒΡŽ).

ΠšΡ€ΠΈΡ‚Π΅Ρ€ΠΈΠΉ Π‘ΠΈΠΌΠ²ΠΎΠ»Ρ‹ табуляции (Tab) ΠŸΡ€ΠΎΠ±Π΅Π»Ρ‹ (Space)
Π Π°Π·ΠΌΠ΅Ρ€ Ρ„Π°ΠΉΠ»Π° МСньшС (1 Π±Π°ΠΉΡ‚ Π½Π° отступ) Π‘ΠΎΠ»ΡŒΡˆΠ΅ (1 Π±Π°ΠΉΡ‚ Π½Π° ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΏΡ€ΠΎΠ±Π΅Π»)
Визуализация Зависит ΠΎΡ‚ настроСк Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€Π° ВсСгда одинаковая
Π‘Ρ‚Π°Π½Π΄Π°Ρ€Ρ‚ 1Π‘ Часто ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ РСкомСндуСтся для строгих стандартов
Π Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π£Π΄ΠΎΠ±Π½ΠΎ ΠΌΠ΅Π½ΡΡ‚ΡŒ ΡƒΡ€ΠΎΠ²Π΅Π½ΡŒ влоТСнности Π’Ρ€ΡƒΠ΄ΠΎΠ΅ΠΌΠΊΠΎ ΠΏΡ€ΠΈ сдвигС Π±Π»ΠΎΠΊΠΎΠ²

Π‘ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ стандарты Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ, Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ стандарты Ρ„ΠΈΡ€ΠΌΡ‹ 1Π‘, часто ΡΠΊΠ»ΠΎΠ½ΡΡŽΡ‚ΡΡ ΠΊ использованию Ρ‚Π°Π±ΠΎΠ² с фиксированной ΡˆΠΈΡ€ΠΈΠ½ΠΎΠΉ отобраТСния, Π»ΠΈΠ±ΠΎ ΠΊ ΠΏΠΎΠ»Π½ΠΎΠΉ Π·Π°ΠΌΠ΅Π½Π΅ Ρ‚Π°Π±ΠΎΠ² Π½Π° ΠΏΡ€ΠΎΠ±Π΅Π»Ρ‹ Π½Π° этапС ΠΊΠΎΠΌΠΌΠΈΡ‚Π° Π² систСму контроля вСрсий.

πŸ’‘

Для ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ критичСски Π²Π°ΠΆΠ½ΠΎ Π·Π°Ρ„ΠΈΠΊΡΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ использования отступов Π² Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π΅ Β«Π‘Ρ‚Π°Π½Π΄Π°Ρ€Ρ‚Ρ‹ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈΒ» ΠΈ ΡΠ»Π΅Π΄ΠΈΡ‚ΡŒ Π·Π° Π΅Π³ΠΎ исполнСниСм Ρ‡Π΅Ρ€Π΅Π· ΠΊΠΎΠ΄-Ρ€Π΅Π²ΡŒΡŽ.

АвтоматичСскоС Π²Ρ‹Ρ€Π°Π²Π½ΠΈΠ²Π°Π½ΠΈΠ΅ ΠΈ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΊΠΎΠ΄Π°

Π ΡƒΡ‡Π½ΠΎΠ΅ выставлСниС отступов β€” это Ρ‚Ρ€ΡƒΠ΄ΠΎΠ΅ΠΌΠΊΠΈΠΉ процСсс, ΠΏΠΎΠ΄Π²Π΅Ρ€ΠΆΠ΅Π½Π½Ρ‹ΠΉ ошибкам. Π’ арсСналС программиста 1Π‘ Π΅ΡΡ‚ΡŒ инструмСнты автоматичСского форматирования, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΠΎΠΌΠΎΠ³Π°ΡŽΡ‚ привСсти ΠΊΠΎΠ΄ ΠΊ Ρ‡ΠΈΡ‚Π°Π΅ΠΌΠΎΠΌΡƒ Π²ΠΈΠ΄Ρƒ Π·Π° считанныС сСкунды. Π­Ρ‚ΠΈ инструмСнты ΡƒΡ‡ΠΈΡ‚Ρ‹Π²Π°ΡŽΡ‚ Ρ‚Π΅ΠΊΡƒΡ‰ΡƒΡŽ настройку ΡˆΠΈΡ€ΠΈΠ½Ρ‹ табуляции.

Ѐункция автоформатирования доступна ΠΏΠΎ горячСй клавишС ΠΈΠ»ΠΈ Ρ‡Π΅Ρ€Π΅Π· контСкстноС мСню Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€Π°. ΠŸΡ€ΠΈ Π΅Ρ‘ Π²Ρ‹Π·ΠΎΠ²Π΅ Π°Π½Π°Π»ΠΈΠ·Π°Ρ‚ΠΎΡ€ ΠΊΠΎΠ΄Π° ΠΏΡ€ΠΎΡ…ΠΎΠ΄ΠΈΡ‚ ΠΏΠΎ всСм строкам модуля, опрСдСляСт ΡƒΡ€ΠΎΠ²Π΅Π½ΡŒ влоТСнности Π±Π»ΠΎΠΊΠΎΠ² Если, Π¦ΠΈΠΊΠ», ΠŸΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π° ΠΈ расставляСт ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ отступы. Если Π² настройках стоит ΡˆΠΈΡ€ΠΈΠ½Π° табуляции 4, Ρ‚ΠΎ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ ΡƒΡ€ΠΎΠ²Π΅Π½ΡŒ влоТСнности ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ отступ Π² 4 Π²ΠΈΠ·ΡƒΠ°Π»ΡŒΠ½Ρ‹Ρ… Π΅Π΄ΠΈΠ½ΠΈΡ†Ρ‹.

Однако автоматичСскоС Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π½Π΅ всСгда идСально справляСтся со слоТными конструкциями ΠΈΠ»ΠΈ коммСнтариями. Иногда ΠΎΠ½ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ Π½Π°Ρ€ΡƒΡˆΠΈΡ‚ΡŒ авторскоС Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Ρ‚Π°Π±Π»ΠΈΡ† Π΄Π°Π½Π½Ρ‹Ρ… Π²Π½ΡƒΡ‚Ρ€ΠΈ ΠΊΠΎΠ΄Π° ΠΈΠ»ΠΈ многострочных строковых Π»ΠΈΡ‚Π΅Ρ€Π°Π»ΠΎΠ². ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ послС примСнСния автоформатирования рСкомСндуСтся Π±Π΅Π³Π»ΠΎ ΠΏΡ€ΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚.

⚠️ Π’Π½ΠΈΠΌΠ°Π½ΠΈΠ΅: ΠŸΠ΅Ρ€Π΅Π΄ массовым Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ большого модуля ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ сдСлайтС Ρ€Π΅Π·Π΅Ρ€Π²Π½ΡƒΡŽ копию ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ. АвтоматичСская Π·Π°ΠΌΠ΅Π½Π° ΠΌΠΎΠΆΠ΅Ρ‚ нСпрСдсказуСмо ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ структуру, Ссли Π² ΠΊΠΎΠ΄Π΅ Π΅ΡΡ‚ΡŒ спСцифичСскиС конструкции.

Π’Π°ΠΊΠΆΠ΅ стоит ΠΏΠΎΠΌΠ½ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ Π°Π²Ρ‚ΠΎΡ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π² ΠΏΡ€Π΅Π΄Π΅Π»Π°Ρ… Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π³ΠΎ сСанса рСдактирования с ΡƒΡ‡Π΅Ρ‚ΠΎΠΌ Π°ΠΊΡ‚ΠΈΠ²Π½Ρ‹Ρ… настроСк. Если Π²Ρ‹ Π·Π°Π³Ρ€ΡƒΠ·ΠΈΡ‚Π΅ ΠΊΠΎΠ΄, написанный с Ρ‚Π°Π±Π°ΠΌΠΈ ΡˆΠΈΡ€ΠΈΠ½ΠΎΠΉ 8, Π² Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€ с ΡˆΠΈΡ€ΠΈΠ½ΠΎΠΉ 4, Π²ΠΈΠ·ΡƒΠ°Π»ΡŒΠ½ΠΎ ΠΎΠ½ соТмСтся, Π½ΠΎ физичСски Ρ‚Π°Π±Ρ‹ останутся Ρ‚Π°Π±Π°ΠΌΠΈ Π΄ΠΎ явного пСрСсохранСния ΠΈΠ»ΠΈ ΠΊΠΎΠ½Π²Π΅Ρ€Ρ‚Π°Ρ†ΠΈΠΈ.

Π‘Π΅ΠΊΡ€Π΅Ρ‚ быстрой ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ отступов

Π’Ρ‹Π΄Π΅Π»ΠΈΡ‚Π΅ вСсь ΠΊΠΎΠ΄ (Ctrl+A) ΠΈ Π½Π°ΠΆΠΌΠΈΡ‚Π΅ Tab, Π° Π·Π°Ρ‚Π΅ΠΌ Shift+Tab. Π­Ρ‚ΠΎ ΠΏΡ€ΠΈΠ½ΡƒΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ выровняСт всС строки ΠΏΠΎ Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ сСткС табуляции, ΡƒΠ±Ρ€Π°Π² Β«ΠΏΠ»Π°Π²Π°ΡŽΡ‰ΠΈΠ΅Β» ΠΏΡ€ΠΎΠ±Π΅Π»Ρ‹ Π² Π½Π°Ρ‡Π°Π»Π΅ строк.

ΠšΠΎΠ½Π²Π΅Ρ€Ρ‚Π°Ρ†ΠΈΡ отступов: ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄ ΠΏΡ€ΠΎΠ±Π΅Π»ΠΎΠ² Π² Ρ‚Π°Π±Ρ‹ ΠΈ ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎ

Часто Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ‚ ситуация, ΠΊΠΎΠ³Π΄Π° Π² ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ ΠΏΠΎΠΏΠ°Π΄Π°Π΅Ρ‚ ΠΊΠΎΠ΄ ΠΈΠ· внСшнСго источника, написанный с Π½Π°Ρ€ΡƒΡˆΠ΅Π½ΠΈΠ΅ΠΌ принятых Π² ΠΊΠΎΠΌΠ°Π½Π΄Π΅ стандартов отступов. НапримСр, ΠΊΡ‚ΠΎ-Ρ‚ΠΎ прислал ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ, Π³Π΄Π΅ Π²Π»ΠΎΠΆΠ΅Π½Π½ΠΎΡΡ‚ΡŒ сдСлана ΠΏΡ€ΠΎΠ±Π΅Π»Π°ΠΌΠΈ, Π° ваша ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ Ρ‚Π°Π±Ρ‹. Π’Ρ€ΡƒΡ‡Π½ΡƒΡŽ ΠΈΡΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒ тысячи строк нСцСлСсообразно.

Для Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ этой Π·Π°Π΄Π°Ρ‡ΠΈ Π² ΠšΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ‚ΠΎΡ€Π΅ ΠΈ сторонних инструмСнтах (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, EDT ΠΈΠ»ΠΈ спСциализированныС ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ) ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‚ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΊΠΎΠ½Π²Π΅Ρ€Ρ‚Π°Ρ†ΠΈΠΈ. Они ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎ Π·Π°ΠΌΠ΅Π½ΠΈΡ‚ΡŒ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ ΠΏΡ€ΠΎΠ±Π΅Π»ΠΎΠ², ΠΎΠ±Ρ€Π°Π·ΡƒΡŽΡ‰ΠΈΠ΅ отступ, Π½Π° ΠΎΠ΄ΠΈΠ½ символ табуляции, ΠΈ Π½Π°ΠΎΠ±ΠΎΡ€ΠΎΡ‚.

ΠŸΡ€ΠΎΡ†Π΅ΡΡ ΠΊΠΎΠ½Π²Π΅Ρ€Ρ‚Π°Ρ†ΠΈΠΈ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ выглядит ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ:

1. Π‘ΠΊΡ€ΠΈΠΏΡ‚ Π°Π½Π°Π»ΠΈΠ·ΠΈΡ€ΡƒΠ΅Ρ‚ Π½Π°Ρ‡Π°Π»ΠΎ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ строки.

2. ΠŸΠΎΠ΄ΡΡ‡ΠΈΡ‚Ρ‹Π²Π°Π΅Ρ‚ количСство Π²Π΅Π΄ΡƒΡ‰ΠΈΡ… ΠΏΡ€ΠΎΠ±Π΅Π»ΠΎΠ².

3. Π”Π΅Π»ΠΈΡ‚ это число Π½Π° Π·Π°Π΄Π°Π½Π½ΡƒΡŽ ΡˆΠΈΡ€ΠΈΠ½Ρƒ табуляции (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, 4).

4. ЗамСняСт Π½Π°ΠΉΠ΄Π΅Π½Π½Ρ‹Π΅ ΠΏΡ€ΠΎΠ±Π΅Π»Ρ‹ Π½Π° ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π΅Π΅ количСство символов Tab.

// ΠŸΡ€ΠΈΠΌΠ΅Ρ€ Π»ΠΎΠ³ΠΈΠΊΠΈ Π·Π°ΠΌΠ΅Π½Ρ‹ (псСвдокод)

Π‘Ρ‚Ρ€ΠΎΠΊΠ° = Π‘Ρ‚Ρ€Π—Π°ΠΌΠ΅Π½ΠΈΡ‚ΡŒ(Π‘Ρ‚Ρ€ΠΎΠΊΠ°, " ", Π‘ΠΈΠΌΠ²ΠΎΠ»Ρ‹.Π’Π°Π±);

ΠŸΡ€ΠΈ ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎΠΉ ΠΊΠΎΠ½Π²Π΅Ρ€Ρ‚Π°Ρ†ΠΈΠΈ (ΠΈΠ· Ρ‚Π°Π±ΠΎΠ² Π² ΠΏΡ€ΠΎΠ±Π΅Π»Ρ‹) Π²Π°ΠΆΠ½ΠΎ ΡƒΠ±Π΅Π΄ΠΈΡ‚ΡŒΡΡ, Ρ‡Ρ‚ΠΎ Π² Ρ„Π°ΠΉΠ»Π΅ Π½Π΅Ρ‚ ΡΠΌΠ΅ΡˆΠ°Π½Π½Ρ‹Ρ… отступов, ΠΈΠ½Π°Ρ‡Π΅ Π²Ρ‹Ρ€Π°Π²Π½ΠΈΠ²Π°Π½ΠΈΠ΅ Β«ΠΏΠΎΠ΅Π΄Π΅Ρ‚Β». Π˜Π½ΡΡ‚Ρ€ΡƒΠΌΠ΅Π½Ρ‚Ρ‹ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ ΠΏΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‚ Π³Π°Π»ΠΎΡ‡ΠΊΡƒ Β«Π—Π°ΠΌΠ΅Π½ΡΡ‚ΡŒ Ρ‚Π°Π±Ρ‹ Π½Π° ΠΏΡ€ΠΎΠ±Π΅Π»Ρ‹ ΠΏΡ€ΠΈ сохранСнии», Ρ‡Ρ‚ΠΎ позволяСт автоматичСски ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΡ‚ΡŒ ΠΊΠΎΠ΄ ΠΊ Π½ΡƒΠΆΠ½ΠΎΠΌΡƒ Π²ΠΈΠ΄Ρƒ ΠΏΡ€ΠΈ ΠΊΠ°ΠΆΠ΄ΠΎΠΌ сохранСнии Ρ„Π°ΠΉΠ»Π°.

  • πŸ”„ ΠšΠΎΠ½Π²Π΅Ρ€Ρ‚Π°Ρ†ΠΈΡ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠ° ΠΏΡ€ΠΈ ΠΌΠΈΠ³Ρ€Π°Ρ†ΠΈΠΈ старых Π±Π°Π· Π΄Π°Π½Π½Ρ‹Ρ….
  • πŸ›  Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ внСшниС ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ для ΠΏΠ°ΠΊΠ΅Ρ‚Π½ΠΎΠΉ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ мноТСства Ρ„Π°ΠΉΠ»ΠΎΠ².
  • πŸ‘€ ВсСгда провСряйтС Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ Π²ΠΈΠ·ΡƒΠ°Π»ΡŒΠ½ΠΎ послС массовой Π·Π°ΠΌΠ΅Π½Ρ‹.

β˜‘οΈ ΠŸΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΊΠ° ΠΊ ΠΊΠΎΠ½Π²Π΅Ρ€Ρ‚Π°Ρ†ΠΈΠΈ отступов

Π’Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΎ: 0 / 5

ВлияниС настроСк Π½Π° Ρ€Π°Π±ΠΎΡ‚Ρƒ с Git ΠΈ внСшними инструмСнтами

ΠŸΡ€ΠΈ использовании систСм контроля вСрсий, Ρ‚Π°ΠΊΠΈΡ… ΠΊΠ°ΠΊ Git, настройка ΡˆΠΈΡ€ΠΈΠ½Ρ‹ табуляции становится критичСски Π²Π°ΠΆΠ½ΠΎΠΉ Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ для удобства чтСния, Π½ΠΎ ΠΈ для чистоты истории ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ. Π Π°Π·Π½Ρ‹Π΅ ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ†ΠΈΠΈ табуляции ΠΌΠΎΠ³ΡƒΡ‚ ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΡ‚ΡŒ ΠΊ Ρ‚ΠΎΠΌΡƒ, Ρ‡Ρ‚ΠΎ систСма контроля вСрсий Π±ΡƒΠ΄Π΅Ρ‚ Π²ΠΈΠ΄Π΅Ρ‚ΡŒ измСнСния Π²ΠΎ всСх строках Ρ„Π°ΠΉΠ»Π°, хотя фактичСски ΠΊΠΎΠ΄ Π½Π΅ мСнялся.

Если ΠΎΠ΄ΠΈΠ½ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ сохраняСт Ρ„Π°ΠΉΠ» с Ρ‚Π°Π±Π°ΠΌΠΈ, Π° Π΄Ρ€ΡƒΠ³ΠΎΠΉ ΠΏΡ€ΠΈ ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΠΈ Ρ„Π°ΠΉΠ»Π° настраиваСт Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€ Π½Π° ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ Ρ‚Π°Π±ΠΎΠ² ΠΊΠ°ΠΊ 2 ΠΏΡ€ΠΎΠ±Π΅Π»ΠΎΠ² ΠΈ сохраняСт Ρ„Π°ΠΉΠ», Π·Π°ΠΌΠ΅Π½ΠΈΠ² Ρ‚Π°Π±Ρ‹ Π½Π° ΠΏΡ€ΠΎΠ±Π΅Π»Ρ‹, Ρ‚ΠΎ ΠΏΡ€ΠΈ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠΈ Π²ΠΎΠ·Π½ΠΈΠΊΠ½Π΅Ρ‚ ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚ слияния. Вся Ρ„Π°ΠΉΠ» Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΠΎΠΌΠ΅Ρ‡Π΅Π½ ΠΊΠ°ΠΊ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½Π½Ρ‹ΠΉ, Ρ‡Ρ‚ΠΎ Π·Π°Ρ‚Ρ€ΡƒΠ΄Π½ΠΈΡ‚ Π°Π½Π°Π»ΠΈΠ· Ρ€Π΅Π°Π»ΡŒΠ½Ρ‹Ρ… ΠΏΡ€Π°Π²ΠΎΠΊ.

Π§Ρ‚ΠΎΠ±Ρ‹ ΠΈΠ·Π±Π΅ΠΆΠ°Ρ‚ΡŒ этого, Π² Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΈ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° Π΄ΠΎΠ»ΠΆΠ΅Π½ Π»Π΅ΠΆΠ°Ρ‚ΡŒ Ρ„Π°ΠΉΠ» ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, .editorconfig), ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ТСстко Π·Π°Π΄Π°Π΅Ρ‚ ΠΏΡ€Π°Π²ΠΈΠ»Π° форматирования для всСх участников ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹. Π­Ρ‚ΠΎΡ‚ Ρ„Π°ΠΉΠ» ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π»ΠΈ Ρ‚Π°Π±Ρ‹ ΠΈΠ»ΠΈ ΠΏΡ€ΠΎΠ±Π΅Π»Ρ‹, ΠΈ ΠΊΠ°ΠΊΡƒΡŽ ΡˆΠΈΡ€ΠΈΠ½Ρƒ ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡ‚ΡŒ.

Для ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ² Π½Π° ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ΅ 1Π‘, особСнно ΠΏΡ€ΠΈ использовании 1Π‘:EDT (Eclipse-based), настройки форматирования хранятся Π² ΠΏΡ€ΠΎΡ„ΠΈΠ»Π΅ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°. ΠŸΡ€ΠΈ ΠΈΠΌΠΏΠΎΡ€Ρ‚Π΅ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° Π²Π°ΠΆΠ½ΠΎ ΡƒΠ±Π΅Π΄ΠΈΡ‚ΡŒΡΡ, Ρ‡Ρ‚ΠΎ Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹Π΅ настройки Π½Π΅ ΠΏΠ΅Ρ€Π΅ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡŽΡ‚ ΠΎΠ±Ρ‰ΠΈΠ΅ ΠΏΡ€Π°Π²ΠΈΠ»Π° рСпозитория.

⚠️ Π’Π½ΠΈΠΌΠ°Π½ΠΈΠ΅: Π˜Π½Ρ‚Π΅Ρ€Ρ„Π΅ΠΉΡΡ‹ ΠΈ настройки ΠΌΠΎΠ³ΡƒΡ‚ ΠΎΡ‚Π»ΠΈΡ‡Π°Ρ‚ΡŒΡΡ Π² зависимости ΠΎΡ‚ вСрсии ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹ 1Π‘ (8.3.10, 8.3.20 ΠΈ Ρ‚.Π΄.) ΠΈ Ρ‚ΠΈΠΏΠ° ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π° (Π’ΠΎΠ½ΠΊΠΈΠΉ, Волстый, Web). ВсСгда свСряйтС Π°ΠΊΡ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹Π΅ ΠΏΡƒΠ½ΠΊΡ‚Ρ‹ мСню Π² вашСй вСрсии ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ.

πŸ’‘

Π•Π΄ΠΈΠ½Ρ‹ΠΉ Ρ„Π°ΠΉΠ» .editorconfig Π² ΠΊΠΎΡ€Π½Π΅ рСпозитория β€” Π»ΡƒΡ‡ΡˆΠΈΠΉ способ Π³Π°Ρ€Π°Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ ΡˆΠΈΡ€ΠΈΠ½Π° табуляции Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΠΎΠΉ Ρƒ всСх Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ², нСзависимо ΠΎΡ‚ ΠΈΡ… Π»ΠΈΡ‡Π½Ρ‹Ρ… ΠΏΡ€Π΅Π΄ΠΏΠΎΡ‡Ρ‚Π΅Π½ΠΈΠΉ Π² IDE.

Как ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ ΡˆΠΈΡ€ΠΈΠ½Ρƒ табуляции Ρ‚ΠΎΠ»ΡŒΠΊΠΎ для ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠ³ΠΎ модуля?

Π’ стандартном ΠšΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ‚ΠΎΡ€Π΅ 1Π‘ настройка ΡˆΠΈΡ€ΠΈΠ½Ρ‹ табуляции являСтся глобальной для всСй срСды Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ. НСльзя Π·Π°Π΄Π°Ρ‚ΡŒ ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½ΡƒΡŽ ΡˆΠΈΡ€ΠΈΠ½Ρƒ табуляции для ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ модуля ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Ρ‡Π΅Ρ€Π΅Π· интСрфСйс. Однако, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π²ΠΈΠ·ΡƒΠ°Π»ΡŒΠ½ΠΎ ΡΡ„ΠΎΡ€ΠΌΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ отступы ΠΏΡ€ΠΎΠ±Π΅Π»Π°ΠΌΠΈ Π² ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠΌ мСстС ΠΊΠΎΠ΄Π°, Ссли это критичСски Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ для выравнивания Ρ‚Π°Π±Π»ΠΈΡ‡Π½Ρ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ…, Π½ΠΎ это Π½Π°Ρ€ΡƒΡˆΠ°Π΅Ρ‚ ΠΎΠ±Ρ‰ΠΈΠ΅ стандарты.

ΠŸΠΎΡ‡Π΅ΠΌΡƒ ΠΌΠΎΠΉ ΠΊΠΎΠ΄ смСщаСтся ΠΏΡ€ΠΈ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΈΠΈ Π½Π° Π΄Ρ€ΡƒΠ³ΠΎΠΌ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π΅?

Π­Ρ‚ΠΎ происходит ΠΈΠ·-Π·Π° различия Π² настройках отобраТСния символа табуляции. Если Π²Ρ‹ использовали Ρ‚Π°Π±Ρ‹, Π° Ρƒ ΠΊΠΎΠ»Π»Π΅Π³ΠΈ ΠΎΠ½ΠΈ настроСны Π½Π° Π΄Ρ€ΡƒΠ³ΡƒΡŽ ΡˆΠΈΡ€ΠΈΠ½Ρƒ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Ρƒ вас 4, Π° Ρƒ Π½Π΅Π³ΠΎ 8), Π²ΠΈΠ·ΡƒΠ°Π»ΡŒΠ½Π°Ρ сСтка ΠΊΠΎΠ΄Π° измСнится. РСшСниС: Π΄ΠΎΠ³ΠΎΠ²ΠΎΡ€ΠΈΡ‚ΡŒΡΡ ΠΎΠ± использовании ΠΏΡ€ΠΎΠ±Π΅Π»ΠΎΠ² вмСсто Ρ‚Π°Π±ΠΎΠ² ΠΈΠ»ΠΈ ΡƒΠ½ΠΈΡ„ΠΈΡ†ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ настройки Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€Π°.

МоТно Π»ΠΈ автоматичСски ΡƒΠ΄Π°Π»ΡΡ‚ΡŒ лишниС ΠΏΡ€ΠΎΠ±Π΅Π»Ρ‹ Π² ΠΊΠΎΠ½Ρ†Π΅ строк?

Π”Π°, Π² настройках тСкстового Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€Π° 1Π‘ часто Π΅ΡΡ‚ΡŒ опция Β«Π£Π΄Π°Π»ΡΡ‚ΡŒ лишниС ΠΏΡ€ΠΎΠ±Π΅Π»Ρ‹ ΠΏΡ€ΠΈ сохранСнии». Π’Π°ΠΊΠΆΠ΅ эту Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‚ ΠΌΠ½ΠΎΠ³ΠΈΠ΅ внСшниС ΠΏΠ»Π°Π³ΠΈΠ½Ρ‹ для Π°Π½Π°Π»ΠΈΠ·Π° ΠΊΠΎΠ΄Π° (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, SonarQube для 1Π‘ ΠΈΠ»ΠΈ встроСнныС срСдства EDT). РСкомСндуСтся Π²ΠΊΠ»ΡŽΡ‡Π°Ρ‚ΡŒ эту ΠΎΠΏΡ†ΠΈΡŽ для поддСрТания чистоты ΠΊΠΎΠ΄Π°.

ВлияСт Π»ΠΈ ΡˆΠΈΡ€ΠΈΠ½Π° табуляции Π½Π° ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡ†ΠΈΡŽ модуля?

НСт, ΡˆΠΈΡ€ΠΈΠ½Π° табуляции β€” это ΠΈΡΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Π²ΠΈΠ·ΡƒΠ°Π»ΡŒΠ½Ρ‹ΠΉ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€Π°. ΠšΠΎΠΌΠΏΠΈΠ»ΡΡ‚ΠΎΡ€ 1Π‘ ΠΈΠ³Π½ΠΎΡ€ΠΈΡ€ΡƒΠ΅Ρ‚ ΠΏΡ€ΠΎΠ±Π΅Π»Ρ‹ ΠΈ Ρ‚Π°Π±ΡƒΠ»ΡΡ†ΠΈΡŽ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Π΅ для отступов, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ синтаксис языка Π½Π΅ зависит ΠΎΡ‚ форматирования (Π² ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΎΡ‚ Python). Код скомпилируСтся ΠΈ выполнится ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½ΠΎ Π΄Π°ΠΆΠ΅ ΠΏΡ€ΠΈ ΠΏΠΎΠ»Π½ΠΎΠΌ отсутствии отступов, хотя Ρ‡ΠΈΡ‚Π°Ρ‚ΡŒ Π΅Π³ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ.

Как Π½Π°ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Ρ‚Π°Π±ΡƒΠ»ΡΡ†ΠΈΡŽ Π² 1Π‘:EDT?

Π’ срСдС 1Π‘:EDT настройки находятся Π² мСню Window β†’ Preferences β†’ General β†’ Editors β†’ Text Editors. Π’Π°ΠΌ ΠΌΠΎΠΆΠ½ΠΎ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ Ρ€Π°Π·ΠΌΠ΅Ρ€ Ρ‚Π°Π±Π° (Tab size) ΠΈ Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ ΠΎΠΏΡ†ΠΈΡŽ Β«Insert spaces for tabsΒ», Ρ‡Ρ‚ΠΎΠ±Ρ‹ автоматичСски Π·Π°ΠΌΠ΅Π½ΡΡ‚ΡŒ Π½Π°ΠΆΠ°Ρ‚ΠΈΠ΅ клавиши Tab Π½Π° Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΠ΅ количСство ΠΏΡ€ΠΎΠ±Π΅Π»ΠΎΠ².