• +7 (495) 648-57-90
  • +7 (8442) 95-99-99

Как настроить phpStorm для работы с 1С-Битрикс

Многие программисты для работы с  1С-Битрикс выбирают phpStorm (популярная платная IDE для создания веб-проектов ). Это достойный выбор. IDE ускоряет многие аспекты кодирования без потери качества кода. Но эта статья не о достоинствах phpStorm.

Немногие знают, что на свете существуют правила написания исходного кода на  PHP от Битрикса, соблюдение которых считается хорошим тоном. Правила не претендуют на звание абсолютной истины, но  каких-то стандартов придерживаться ведь надо, не так ли? Попробуем настроить наш любимый phpStorm на работу с этими правилами. Настраивать будем версию 7.1.3 (самая свежая версия на момент написания статьи).

Пролог

Далее по тексту курсивом будут выделяться цитаты из  Правил . Все основные манипуляции с настройками предстоит делать в окне Settings . Открыть его можно через меню File->Settings , используя кнопку на приборной панели, или используя комбинацию клавиш [Ctrl+Alt+S] .

Как вызвать настройки.png

В окне настроек есть строка поиска — очень удобный инструмент, которым можно пользоваться, если знать как именно называется нужная Вам опция.

Все настройки в phpStrom разделены на две больших группы — Project Settings и IDE Settings. Для навигации по дереву настроек будет принято обозначение [Project Settings->Code Style->HTML] . Пример на рисунке ниже.

Окно настроек

Некоторые разделы Правил поддерживаются phpStorm по умолчанию (такие как «Правила переноса строк») и не будут отдельно упоминаться в тексте.

Все настройки, задаваемые в phpStorm, можно использовать как для написания нового кода, так и для автоформатирования старого. Чтобы вызвать диалог Reformat Code , нужно использовать меню [Code->Reformat Code] или воспользоваться комбинацией клавиш [Ctrl+Alt+L] .

Автоформатирование кода

Применить настройки форматирования можно ко всему файлу, к выделенному фрагменту, ко всем файлам в каталоге (в том числе и рекурсивно). Полезная возможность, по ходу статьи в настройки вносится много изменений, так что инструмент быстрого форматирования уже существующего кода будет как никогда кстати.

Для ленивых — в конце статьи приведена итоговая таблица настроек, хотя настоятельно рекомендуется ознакомиться с самой статьей, или с  Правилами программирования .

Структурирование текста

Длина строки

Нужно стараться избегать строк длинной более 120 символов. Если строка превышает этот размер, то нужно использовать правила переноса строки.

Многие IDE используют вертикальную линию для обозначения границы строки. PhpStrorm не исключение.

Ограничитель строки

Обычно при установке значения эта линия выводится как раз после 120-го символа в строке, но лучше заглянуть в настройки в раздел [Project Settings->Code Style->General] и проверить, так ли это. Нужная настройка называется Right margin (columns) .

Чтобы phpStorm сам создавал переводы строк при достижении этого предела, можно отметить галочкой настройку в том же окне Wrap when typing reaches right margin . Включение этой настройки приносит необычные ощущения, к которым не все могут привыкнуть сразу. Но зато написать слишком много кода в строке в принципе не получится.

Пробелы и табуляция

Для форматирования отступов в коде нужно использовать табуляцию. Использование пробелов запрещено. Причины:

  • в случае использования табуляции каждый может настроить в своем редакторе желаемый отступ;
  • используется один символ вместо нескольких;
  • в случае смешивания пробелов и табуляции текст будет прыгать, разрушая форматирование.

По-умолчанию phpStorm использует пробелы для форматирования отступов, хотя немногие это знают, ведь визуально нет никакой разницы между пробелами и табуляцией. Чтобы включить отображение отступов, нужно использовать настройку Show whitespaces , расположенную по пути [IDE Settings->Editor->Appearance] . Теперь пробелы будут обозначаться едва заметными серыми точками, а табуляции — стрелочками.

Пробелы и табуляция

Обычно после включения этой настройки части кода, написанные разными программистами или в разных условиях становятся четко различимы.

Теперь, чтобы сообщить IDE о приоритете табуляции, нужно в настройках [Project Settings->Code Style->PHP] на вкладке Tabs and Indents найти пункт Use tab character и включить эту опцию.

Следом идет опция Smart tabs , которая отменяет приоритет табуляции для случаев, когда вы делаете отступы после кода перед однострочным комментарием. Так как насчет форматирования комментариев Правила ничего не говорят, включать ее или нет — остается на ваше усмотрение.

На данном этапе можно воспользоваться инструментом автоформатирования ( Reformat Code ) для исправления отступов.

Пробелы

После запятой должен быть пробел. После точки с запятой, если она не последняя в строке (например, в инструкции for), должен быть пробел. Перед запятой или точкой с запятой пробелы не ставятся. Все операторы должны быть отделены пробелом от операндов с обеих сторон. Замена пробела символом табуляции не допускается.

Хотя отступы согласно Правилам написания исходного кода в Битрикс формируются табуляцией, есть пункт, посвященный и пробелам. Пробелы настраиваются на вкладке Spaces в  [Project Settings->Code Style->PHP] .

Один пробел используется в объявлении методов после запятой, но не перед скобками:

TestMethod($a, $b, $c);

За описанное правило отвечает настройка After Comma в группе Other .

Так же одиночный пробел используют для выделения операторов:

$a = $b * $c / $d;

Из правила неясно, какие именно операторы имеются в виду. Но, изучая примеры на странице Правил, можно заключить, про пробелами окружаются операторы:

  • присваивания;
  • логические;
  • сравнения;
  • арифметические.

При этом унарные операторы НЕ должны окружаться пробелами. Насчет остальных операций (побитовые, сдвиги, конкатенация) ситуация неопределенная.

Таким образом, можно предложить оставить все галочки в группе настроек Around Operators , кроме Unary operators (!, -, +, ++, -) .

Пробелы

Также пробелы используются при форматировании циклов:

for ($i = 0; $i < 10; $i++)

Согласно предыдущему правилу, мы уже установили пробелы вокруг операторов. Осталось только убедиться, что пробелы ставятся после точки с запятой. Это можно сделать в группе Other , настройка называется After semicolon .

Примечание: присутствие или отсутствие пробела после if правилами не регламентируется.

Данное примечание дает нам вольность в выборе, использовать или нет пробелы после ключевого слова if, и, скорее всего, for, while, switch, elseif, catch. Для единообразия предлагаю оставлять настройки phpStorm по-умолчанию  — а это значит, что в группе Before Parentheses будут установлены настройки:

  • ‘if’ parentheses ;
  • ‘for’ parentheses ;
  • ‘while’ parentheses ;
  • ‘switch’ parentheses ;
  • ‘catch’ parentheses .

Правила расстановки фигурных скобок

Открывающая скобка должна ставится под соответствующим оператором и на одном отступе с ним. Закрывающая скобка должна ставится под соответствующей открывающей.

Одно из существенных правил, следование или не следование которому может сильно «выделять» ваш код из толпы.

Чтобы убедиться, что phpStrom расставляет скобки как надо, необходимо найти вкладку Wrapping and Braces по адресу [Project Settings->Code Style->PHP] .

Вкладка переносов и скобок

За положение фигурных скобок отвечает блок Braces placement . Он содержит три настройки, которые указывают положение скобок при объявлении классов, функций и прочих случаев. Значение всех трех настроек должно быть Next line .

Данное окно содержит область предпросмотра изменений справа, так что сразу после изменения можно увидеть результат своих действий.

Пустые строки

Пустые строки помогают разбивать код приложения на логические сегменты. Несколькими строками могут отделяться секции в исходном файле. Одной пустой строкой отделяются друг от друга методы и логические секции внутри метода для более удобного чтения.

Перед логической секцией рекомендуется вставить комментарий, в котором будет указано назначение этой секции.

Согласно правилу, программист вправе вставлять пустые строки в коде где угодно, чтобы разделять код на логические блоки, но упомянуты и прямые требования — пустые строки вокруг объявления метода.

Управление пустыми строками в phpStorm осуществляется во вкладке Blank Lines во все том же разделе [Project Settings->Code Style->PHP] . Необходимо установить значение 1 у настройки Around method . Не противоречит правилам установка других настроек, обычно добавляют отступы вокруг объявления класса (настройка Around Class ).

Краткая сводка

В данной таблице объединена информация всей статьи, так что с ее помощью можно быстро убедиться, правильно ли у вас настроен phpStorm.

Путь в дереве настроек Название настройки Необходимое значение Значение по умолчанию
Project Settings->Code Style->General Right margin (columns) 120 120
IDE Settings->Editor->Appearance Show whitespaces Да Нет
Project Settings->Code Style->PHP, вкладка Tabs and Indents Use tab character Да Нет
Project Settings->Code Style->PHP, вкладка Spaces Other — After Comma Да  Да 

Around Operators — все кроме Unary operators (!, -, +, ++, -) Да  Да 

Around Operators — Unary operators (!, -, +, ++, -) Нет Нет

Other — After semicolon Да  Да 
Project Settings->Code Style->PHP, вкладка Wrapping and Braces Braces placement — In class declaration Next line Next line

Braces placement — In function declaration Next line Next line

Braces placement — Other Next line End of line
Project Settings->Code Style->PHP, вкладка Blank Lines Around method 1 1

Around Class 1 1

Заключение

В данной статье рассмотрен только аспект Правил написания исходного кода на  PHP от компании 1С-Битрикс , связанный с форматированием кода — отступами, пробелами, скобками. Все прочие виды правил (стандарты именования классов, методов, переменных, констант; использование комментариев, идиом) будут рассмотрены отдельно.

Оцените статью:

Комментарии (3)

...
  • regorCam
  • 27.03.2017 18:53:22
Официальное трудоустройство, работа в интернете.
...
  • Александр
  • 10.11.2017 16:15:41
Еще удобно использовать плагины Bitrix Framework Support и   BitrixLangCompletion
...
  • KivaSit
  • 17.11.2018 23:18:38
Автошот для Варфейс – пожалуй, самый беспалевный чит, который сделает вас самым метким и быстрым стрелком на сервере, у противников не останется шансов. приватный Автошот От вас требуется просто навести прицел на соперника. Принцип работы: вы плавно наводите прицел на врага, а программа делает выстрелы за вас, обеспечивая молниеносную скорость стрельбы. Главное преимущество заключается в том, что уличить игрока в читертсве практически невозможно. Так, играя с аимом, прицел автоматически наводится на определенную часть тела противника и придет время, вас заподозрят в нечестной игре, и последует бан, чего не случится в случае с автошотом. Супер обновление! Теперь автошот не стреляет по своим! Автоматически стреляет только по врагам. Даже случайное проведение курсором мышки по врагу, приведёт AutoShot в боевую готовность, и он выстрелит прямо в цель. читы варфейс аим 2019, скачать аим для варфейс 2019 после обновы, чит аим рабочий варфейс, скачать аим для варфейс 2019 без вирусов, скачать варфейс читы аим рабочий, варфейс скачать аим чит рабочий, где скачать аим варфейс, скачать аим варфейс 2019, купить аим для варфейс, варфейс чит аим без смс, варфейс читы аим без смс, рабочие читы на варфейс аим, аим вх для варфейс без вирусов, скачать читы на варфейс аим бот бесплатно, читы варфейс магнит аим, чит варфейс аим магнит, скачать читы для варфейс бесплатно аим вх, аим для варфейс яндекс диск, фаст аим варфейс, аим варфейс пве, видео варфейс аим скачать, как тренировать аим в варфейс, читы на варфейс с вх и аимом, скачать аим вх антиотдача на варфейс, игра аим варфейс, аим магнит вх варфейс, варфейс скачать магнит аим, сайт аим варфейс, скачать рабочий чит на варфейс аим бот, аим для варфейс 2019 бесплатно, как натренировать аим в варфейс, читы варфейс аим вх магнит, скачать беспалевный аим для варфейс, программа для тренировки аима в варфейс, установить аим на варфейс, аим для варфейс 2019 без вирусов, скачать чит варфейс аим 2019, чит на аим бот варфейс 2019, аим вх для варфейс 2019, магазин читов варфейс аим, аим 400kg тренировка варфейс

Оставить Ответить на комментарий:

Вы можете войти, используя аккаунт одной из социальных сетей