Содержание

PhpStorm vs SublimeText :: Блог веб разработчика

На днях решил перейти с SublimeText2 на что-то более IDE-шное и продвинутое. Уж очень стало не хватать нормального автокомплита и банальных возможностей рефакторинга вроде переименования переменных. Выбор пал на PhpStorm.

Почему именно PhpStorm?

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

На самом деле у jetBrains все среды разработки построены на базе одной единственной IDEA. Можно поставить ее и расширить нужными плагинами. Но. Стоит она в два раза больше, а использовать в одной IDE разные языки (например, PHP и Java) я уж точно не буду, это извращение. Поэтому проще поставить уже заточенную под веб PhpStorm. На самом деле есть еще одна веб-IDE: WebStorm. Но она работает исключительно с HTML/CSS/JS. А PhpStorm по сути ее полный клон плюс плагины для PHP.

В чем прелесть перед SublimeText?

Конечно, саблайм — редактор, а PhpStorm — IDE, тут не поспоришь. Поэтому отличия довольно стандартные для IDE, но в данном случае я точно могу сказать, что работает PhpStorm быстро, не стопоря систему.

  • Автокомплит всего и вся. Даже учитывая, что PHP полностью динамичен подсказки по PHPDoc работают быстро и безошибочно.
  • Отличная интеграция с Symfony2.
  • Адекватный анализатор кода. Подскажет где у вас есть неиспользуемые переменные, лишние use классов и пр. Работает довольно шустро.
  • Удобная работа с Git. Визуальные commit, push, pull, diff. И все это мышкой для ленивых.
  • Встроенная консоль, в том числе SSH.
  • Отжирает на 100-200Мб больше SublimeText, что по сути очень мало для IDE.
  • Шустрый интерфейс, даже учитывая, что я только что «слез» с саблайма, а PhpStorm написан на Java.
  • Единственная полноценная IDE в которой мне удобно делать небольшие правки на чужих проектах по FTP. При этом выкачивать весь проект не обязательно.
  • Синхронизация всех настроек между компьютерами: IntelliJ Configuration Server Plugin
  • Множество полезных фич, которых просто не может быть в SublimeText

Недостатки?

  • Время запуска увеличилось с пары секунд до, примерно, секунд двадцати.
  • Нет возможности в пределах одного проекта примаппить несколько FTP серверов в разные папки. (На самом деле есть, но жутко извращенная и неудобная).
  • Нет мультикурсора. (Уже есть в PhpStorm 8 EAP)
  • Нет поддержки 100500 форматов из коробки. Да, в шторме вы сможете нормально редактировать только веб-проекты. Хотя мне это не особо мешает.
  • Нет бесконечного триала. PhpStorm стоит 99$ на одного человека. При этом персональную лицензию можно использовать на работе.
  • Не удобное переключение между проектами. Решается с помощью плагина.

PhpStorm. Как нормально работать с FTP

После SublimeText и плагина SFTP наверняка захочется чего-то подобного. И PhpStorm единственная IDE в которой мне удобно работать с FTP. Не верьте статьям, где расписано в 100500 шагов «Как настроить FTP в PhpStorm», это все бред, на самом деле это очень просто.

Для начала создаем новый пустой проект. Вот прям совсем пустой.

Заходим в настройки проекта: File -> Settings (Ctrl + Alt + S). И выбираем раздел Deployment, нажимаем зеленый плюсик для добавления FTP соединения. Вводим параметры соединения (хост, логин, пароль и т.п.). В Root path нужно прописать корень проекта, так будет удобнее. Так же правее плюса добавления жмем Use as default. Примерно так:

На вкладке Mappings в поле Deployment path on server ‘temp’ ставим просто один слеш (/).

На этом настройка FTP закончена. Нажимаем OK и диалог с настройками закрывается.

Наводим мышкой в левый нижний угол IDE и в появившемся меню выбираем Remote Host. Вот и наш удаленный ФТП.

Теперь все так же как в SublimeText, смотрим файлы, жмем правой кнопкой и скачиваем нужное. Конечно при таком подходе автодополнение, как и 90% функций IDE, работать не будет, но для одноразовой мелкой правки этого хватит.

Выгрузка при сохранении и проверка удаленного файла как в SublimeText

В PhpStorm, да и во всей IDEA, нет понятия сохранения файла. Все сохраняется налету при каждом нажатии и, само собой, никуда не выгружается при каждом нажатии.

Чтобы сделать выгрузку файла на FTP по нажатию Ctrl+S нужно зайти в настройки проекта (Ctrl + Alt + S)

, в раздел Deployment -> Options. И установить следующие настройки:

  • Upload changed file automatically to the default server: On explicit save action (Ctrl + S).
  • Warn when uploading over newer file: Compare timestamp & size.
  • И поставить галочку Notify about remote changes.

Теперь файлы будут выгружаться на FTP по нажатию Ctrl + S, а так же будет показано предупреждение, если ваша локальная копия не совпадает с удаленной, а вы пытаетесь ее редактировать.

Отдельно стоит рассмотреть удаление файлов.

Если вы удалили файл из проекта, то на FTP он останется. Для того чтобы на FTP файл так же удалился нужно открыть любой другой файл и просто нажать Ctrl + S. Звучит странно, но при этом отлично работает, нужно только привыкнуть.

Выгрузка закоммиченных в Git файлов

Довольно полезная фича. При коммите в Git можно автоматически выгрузить все изменения на FTP. Выгружаются новые файлы, перемещения файлов и удаления файлов.

Однако только при коммите. Ни до, ни после, ни потом такой возможности не будет. К сожалению даже при checkout я не нашел способа сделать выгрузку. Хотя для этого есть git-ftp.

Setting up PHP CodeSniffer on Sublime for applying WordPress Coding Standards – Скептична яма за идеи

I spent a shameful amount of time trying to troubleshoot various issues while trying to make it work. The following are the steps I used to finally get it right.

The software that we’ll rely on
  • Sublime Text 3 – as it’s the most common and rather light code editor out there;
  • PHP 5. 4 or higher;
  • PHP CodeSniffer 3.3.1 or higher. If you got a lower version, you’d be getting some weird errors when running it against the WordPress standards, as it’s WPCS that requires that version;
  • PHP Mess Detector;
  • PHP Code Sniffer Sublime package;
  • PHP Code Beautifier Sublime package;
  • Composer;
  • Debian based Linux. You can do that whole setup on almost any other OS, but there will be some differences in the commands. I did it on a Linux Mint 19.2 Tina, based on Ubuntu 18.04 bionic.

Step 1: Installation

Let’s assume that you already have Sublime Text installed. Check your version just to make sure you are working on v3 or higher.

subl -v

Checking PHP’s version is done in a similar manner:

php -v

There are several ways of installing PHP CodeSniffer, Mess Detector and Composer.

1.1. You could start with the easiest one, trying to get these packages from the distribution’s package manager:

sudo apt install composer php-codesniffer phpmd

After the installation is over, check whether phpcs that you just installed is 3.3.1 or higher version. If it’s lower, better remove it and a more manual approach.

1.2. Manually installing the needed packages isn’t too much of a deal, but updating them would cost you some extra efforts, compared to having them through your package manager. Here are the commands for each of the packages you need. If you have some of them from your package manager, don’t waste your time getting them through this method.

mkdir ~/bin && cd ~/bin //preparing a directory where we’ll download all the software we need

git clone https://github.com/squizlabs/PHP_CodeSniffer.git phpcs

git clone git://github.com/phpmd/phpmd.git

curl -s http://getcomposer. org/installer | php

After we’ve downloaded them, we need to make them executable without having to write relative or absolute paths:

sudo ln -s ~/bin/phpcs/bin/phpcs /usr/local/bin/phpcs
sudo ln -s ~/bin/phpmd/src/bin/phpmd /usr/local/bin/phpmd
sudo ln -s ~/bin/phpcs/bin/phpcbf /usr/local/bin/phpcbf
sudo ln -s ~/bin/composer.phar /usr/local/bin/composer

There’s one more step required for PHP Mess Detector:

cd ~/bin/phpmd && composer install

If installation is done properly, you should have the given commands available: phpcs, phpmd, phpcbf and composer.

Step 2. Getting WordPress Coding Standards

You could clone the repo straight from GitHub:

git clone https://github.com/WordPress-Coding-Standards/WordPress-Coding-Standards.git ~/bin/wpcs

That’s it. Now you need to

Step 3.

Configure PHP CodeSniffer to work with WPCS

Two commands are needed here. First will let phpcs know that there’s a bunch of new standards in town. To see the current ones, run:

phpcs -i

If you don’t see WordPress there, which is actually what usually happens with a clean install, run this:

phpcs --config-set installed_paths ~/bin/wpcs

At this point, if you check with the previous command again, you should see something like this:

The installed coding standards are MySource, PSR12, PSR2, PSR1, PEAR, Zend, Squiz, WordPress-Docs, WordPress-Extra, WordPress-Core and WordPress

Cool. Now let’s make WordPress the default standard:

phpcs --config-set default_standard WordPress

Step 4. Check if it works in command line

Create a test file with some badly formatted PHP. Here’s a sample for you:

<?php $JustAVar ='nope'; if($JustAVar == true) { echo 'Hi there!'; ///whatever

Let’s have this code in a new file, located in /tmp/ugly. php

The test would be to run phpcs /tmp/ugly.php. The result we are looking for, is something like this:

FILE: /tmp/ugly.php
FOUND 11 ERRORS AND 1 WARNING AFFECTING 3 LINES
1 | ERROR | [ ] Missing file doc comment
1 | ERROR | [ ] Variable “$JustAVar” is not in valid snake_case format, try “$just_a_var”
1 | ERROR | [x] Expected 1 space after “=”; 0 found
1 | ERROR | [x] Space after opening control structure is required
1 | ERROR | [x] Expected 1 space(s) after IF keyword; 0 found
1 | ERROR | [x] Inline control structures are not allowed
1 | ERROR | [ ] Variable “$JustAVar” is not in valid snake_case format, try “$just_a_var”
1 | WARNING | [ ] Found: ==. Use strict comparisons (=== or !==).
1 | ERROR | [ ] Use Yoda Condition checks, you must.
1 | ERROR | [x] Each PHP statement must be on a line by itself
2 | ERROR | [x] No space found before comment text; expected “// /whatever” but found “///whatever”
3 | ERROR | [ ] PHP syntax error: syntax error, unexpected end of file
PHPCBF CAN FIX THE 6 MARKED SNIFF VIOLATIONS AUTOMATICALLY
Time: 130ms; Memory: 8MB

Neat, isn’t it?

It’s time to

Step 5.

Configure Sublime Text

If you still don’t have the two Sublime packages that I mentioned earlier, install them:

Press Ctrl + Shift + P, type “install” and select “phpcs”, then repeat the same procedure for “CodeBeautifier”.

Now you need to edit the PHP Code Sniffer package configuration in order to set the executable paths for phpcs, phpcbf and phpmd. What I did was copy the default configuration from Preferences -> Package Settings -> PHP Code Sniffer -> Settings - Default in Settings - User and edit the following variables:

"phpcs_executable_path": "/usr/local/bin/phpcs"
"phpcbf_executable_path": "/usr/local/bin/phpcbf"
"phpmd_executable_path": "/usr/local/bin/phpmd"

Furthermore, you should comment out settings for PHP-CS-Fixer, or even delete them, as you won’t be using this package (unless you actually plan on using it).

Finally, you should set the standard to be used for all of the commands to WordPress. Look for lines, with a key "--standard" and set them all to WordPress like this:

"--standard": "WordPress"

Feel free to check the rest of the settings, available in the configuration in order to avoid unwanted automatic fixes or checks.

After you save the configuration, open that funny file again:

subl /tmp/ugly.php

Save it and see if you get any notifications about it. Fixing some of these would be as simple as right-clicking in the editor and selecting PHP Code Sniffer -> Fix this file -> PHP Code Beautifier (phpcbf).

Have in mind that there might be some issues with the configuration, leading to triggering code fixing even if you didn’t set it this way, so make sure to test all of this before running it on a client’s codebase.

This article was originally created for my team-mates from DevriX.

Sublime Text (3) для PHP-разработчиков

В последнее время многие участники PHP-сообщества проверяют PHPStorm, в том числе я и большинство разработчиков, с которыми я работаю. Нам нравится интеллектуальный код, который мы получаем от PHPStorm, но по-прежнему скучаем по скорости, быстрой загрузке и удобству Sublime Text.

Прежде чем я слепо предположу, что PHPStorm — это единственный путь, я хотел бы посмотреть: могу ли я вернуть то, что PHP-ориентированная IDE предоставляет PHP-разработчикам, обратно в Sublime Text и получить лучшее из обоих миров?

Давайте начнем с краткого списка особенностей, которыми PHPStorm действительно выделяется для меня. Обратите внимание: есть миллион других уникальных функций, которые предлагает PHPStorm, но, честно говоря, именно крошечные удобства, которые я видел, обеспечивают самый большой прирост эффективности.

Также обратите внимание: мы говорим о Sublime Text 3.

Что мне нужно от PHPStorm

Без большинства этих замечательных функций, ориентированных на PHP, трудно рекомендовать использование чего-то другого, кроме PHPStorm, даже если он медленнее, дороже и использует больше памяти. Так. Можем ли мы воспроизвести их в Sublime Text?

  • Авто- использование (импорт) классов
  • Класс FQCN встроенное заканчивание
  • Простой переход к определению символа
  • Впрыск легкого конструктора
  • Выделить неиспользуемый импорт
  • Жёлоба Git
  • Анализ кода/проверка PSR-2
  • Завершение кода: PHP
  • Завершение кода: код проекта

Управление пакетами

Прежде чем мы поговорим о чем-то еще, вам как минимум нужно знать, как устанавливать пакеты в Sublime Text.

Если вы еще этого не сделали, установите Package Control прямо сейчас.

Если не указано иное, каждый последующий пакет следует устанавливать с помощью управления пакетами.

Sublime PHP Companion

Наиболее ориентированный на PHP пакет для Sublime Text называется Sublime PHP Companion.

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

~~ Обновление: по умолчанию сопоставления клавиш больше нет. Узнайте больше о том, как настроить сопоставление клавиш PHPCompanion здесь.

  • find_use ( F10 ) — Когда ваш курсор находится над именем класса, эта команда упрощает использование (импорт) этого класса.
  • expand_fqcn ( F9 ) — то же, что и find_use , но вместо расширения класса в блоке импорта он расширяет встроенный FQCN.
  • import_namespace ( F8 ) — добавляет пространство имен для текущего файла на основе пути к файлу.
  • goto_definition_scope
    ( shift+F12 ) — то же, что и собственный goto_definition Sublime Text (описано ниже), но с учетом PHP.

Пакет не идеален, и он явно не так хорош, как PHPStorm, когда дело доходит до обнаружения пространств имен и разбора некоторых странных пограничных случаев. Но для повседневной работы это огромный толчок в области знаний PHP-кода.

AllAutocomplete

Sublime PHP Companion, к сожалению, не анализирует ваши классы и не предоставляет вам автодополнение, но SublimeAllAutocomplete регистрирует имена всех символов (функций, классов и т. д.) в любых файлах, которые вы открыли на других вкладках, и добавляет их в реестр автозаполнения.

Это не совсем то же самое, что и полное автозаполнение с учетом пользовательского кода, но очень помогает.

Cmd-щелчок для определения функции

Sublime PHP Companion позволяет легко щелкнуть правой кнопкой мыши по функциям и перейти к их определениям, но этот ярлык возвращает PHPStorm CMD-щелчок к определению. К вашему сведению, в Sublime Text CMD (или клавиша ctrl в Windows или что-то еще в других системах) называется «Супер».

Сначала создайте файл пользовательской карты мыши. Если у вас его нет, перейдите сюда:

Линукс Создать по умолчанию (Linux). sublime-mousemap в ~/.config/sublime-text-3/Packages/User

Mac Создать по умолчанию (OSX).sublime-mousemap в ~/Library/Application Support/Sublime Text 3/Packages/User

Windows Создайте по умолчанию (Windows).sublime-mousemap

в %appdata%\Sublime Text 3\Packages\User

Затем поместите это в файл:

 [
    {
        "кнопка": "кнопка1",
        "количество": 1,
        "модификаторы": ["ctrl"],
        "press_command": "перетащить_выбрать",
        "команда": "goto_definition"
    }
]
 

Вы только что научили Sublime Text этому: «когда я удерживаю Ctrl и нажимаю кнопку один, запускаю команду goto_definition ». Сделанный! (первоисточник)

Примечание. Изначально я хотел предложить использовать модификатор super , чтобы он был похож на PHPStorm; однако это переопределило бы поведение Sublime Text «удерживать

супер и щелкнуть, чтобы получить несколько курсоров», поэтому я этого не сделал.

Анализ кода и PHP_CodeSniffer

Sublime PHPCS

Существует пакет с именем Sublime PHPCS, который содержит PHP_CodeSniffer, PHP linter, PHP Mess Detector и Scheck (?) для проверки вашего кода.

Вы можете настраивать всевозможные параметры, но в основном вы будете запускать его каждый раз, когда сохраняете файл (хорошо, но может раздражать), или каждый раз, когда вы запускаете его из палитры команд (нажмите супер- shift-p , а затем вводите, пока не получите «PHP Code Sniffer: Sniff this file») или сочетание клавиш ( ctrl-super-shift-s по умолчанию).

Вы получите подсветку желоба и список всех мест, где ваш код не удовлетворяет линтеру.

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

PHP_CodeSniffer Sublime Text 2/3 Plugin

Интересно, что есть относительно незамеченный плагин, делающий то же самое (но только для PHPCS), написанный той же группой, которая написала PHP CodeSniffer, так что, возможно, его тоже стоит проверить. ; он называется PHP_CodeSniffer Sublime Text 2/3 Plugin (творческий, я знаю.)

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

Майк Фрэнсис Сценарий сборки PHP CS Fixer

Майк Фрэнсис также поделился написанным им пользовательским сценарием сборки, который запускает PHP-CS-Fixer в вашем коде всякий раз, когда вы его запускаете. Это означает, что он фактически применит PSR-2 (или любой другой стандарт PHP-CS-Fixer, который вы ему передадите) к вашему коду для вас.

Тейлор Отвелл поделился со мной одним и тем же сценарием, но он написал его не так хорошо, как Майк. 🙂 Однако он упомянул, что вы можете установить это предпочтение: "show_panel_on_build": false, Это предотвратит появление командной панели с вашими результатами каждый раз, что может очень быстро раздражать.

SublimeLinter

SublimeLinter PHP (и его необходимая зависимость, SublimeLinter) полагаются на встроенный линтер PHP (так же, как плагин Sublime PHPCS выше). Это более простая версия, что только запускает линтер, больше ничего.

DocBlockr

Если вы из тех, кто использует PHPStorm, больше шансов, что вы из тех, кто пишет блоки Doc. (Просто говорю’).

DocBlockr упрощает создание новых блоков документации, но, что более важно, если вы создаете блок документации сразу над определенной функцией, он извлекает информацию о параметрах этой функции и предварительно заполняет ее в вашем блоке документации. Бум.

Помощники Git

Sublime Text Git

Вы из тех, кто ненавидит переключаться с IDE на терминал/клиент Git? Sublime Text Git предоставляет доступ ко многим командам Git непосредственно из палитры команд Sublime Text.

GitGutter

GitGutter показывает вам разную информацию о статусе каждой строки — была ли она изменена, вставлена ​​или удалена?

Это не так мощно, как Git Git Gutter в PHPStorm, но это шаг в правильном направлении.

Подсветка синтаксиса

  • PHP-Twig для Twig
  • Маркер Laravel Blade для Laravel Blade
  • Подсветка скобок — показывает начальную и конечную скобки в поле для блока, в котором в данный момент находится курсор. 0018

PHPUnit Build

Есть отличный плагин, который упрощает запуск PHPUnit из командной палитры или с помощью сочетания клавиш: SimplePHPUnit

Как следует из названия, вы устанавливаете пакет, и все готово.

CodeIntel

CodeIntel должен предоставлять Sublime Text информацию о языке, на котором вы работаете. Он должен обеспечивать автозаполнение, простой переход к определению и информацию о функции, в которой вы сейчас работаете.0003

Почему я все время говорю «должен» и «должен»? Потому что я еще не встречал разработчика PHP, который смог бы последовательно и предсказуемо настроить и запустить CodeIntel. У вас есть? Ударь меня.

Другие плагины

Когда я спросил в Твиттере, многие люди поделились плагинами. Поскольку я ими не пользуюсь, я могу лишь расплывчато ими поделиться, но я уверен, что все они заслуживают быстрой проверки.

  • ApplySyntax расширяет возможности Sublime Text по определению того, какой синтаксис применять к вашему текущему файлу
  • DashDoc позволяет пользователям Mac с приложением Dash легко искать любое слово в Dash
  • Отображение имени функции добавляет в строку состояния информацию о текущем файле, классе и имени функции/метода
  • phpfmt выглядит как альтернатива PHP CS Fixer
  • CodeComplice — это информация о коде, но более новая — может быть, это и есть решение?!
  • Клиент Xdebug
  • EditorConfig — это стандарт для совместного использования определенных шаблонов конфигурации редактора для каждого проекта.
    Этот плагин позволяет импортировать и использовать их в Sublime Text. (узнайте больше о формате EditorConfig)
  • SublimePrettyJSON отлично подходит для быстрого форматирования JSON
  • CaseConversion упрощает преобразование между змеиным регистром и верблюжьим регистром и паскалем, а также разделение и соединение слов и все остальное.

CodeBug для Xdebug

Вам не хватает интеграции Xdebug в PHPStorm? Попробуйте Codebug, автономный клиент xdebug.

Несколько общих советов по Sublime Text

Этот пост не является введением во все, что связано с Sublime Text, но я хочу затронуть здесь несколько важных моментов.

Поиск файлов с помощью «Goto Anything» (cmd-p)

Если вы нажмете super-P , вы получите чрезвычайно мощную палитру Goto Anything , которая позволяет вам легко находить файлы, но вы можете немного дальше: если вы найдете свой файл (например, набрав Handler.php ), вы также можете запустить его открытие в определенной строке ( Handler. php:35 ) или по определенному символу ( Handler.php@report ).

Поиск команд с помощью палитры команд (cmd-shift-p)

В то время как палитра Goto Anything позволяет выполнять поиск файлов в проекте, палитра команд позволяет выполнять поиск команд.

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

Поиск символов с помощью «Перейти к символам» (cmd-r)

Если вы нажмете super-R , вы получите палитру Goto Symbol , которая позволит перейти к любому символу в вашем текущем файле.

Символы — это такие вещи, как классы, методы или функции.

Несколько курсоров

Многие редакторы добавили несколько курсоров, но Sublime Text по-прежнему делает это лучше всего.

Если вы никогда не пробовали это, поищите где-нибудь, но вот краткое введение:

Откройте файл. Удерживайте «супер» (cmd на Mac) и щелкните несколько раз вокруг файла. Теперь начните печатать. БУМ.

Еще один отличный прием: поместите курсор на обычное слово (например, на имя переменной). Теперь нажмите Super-D несколько раз. Теперь у вас есть несколько выбранных экземпляров этой переменной, и вы можете манипулировать ими всеми одновременно.

Или выберите пять строк и нажмите Super-shift-l . Проверь это.

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

Нечеткое соответствие

Знаете ли вы, что при использовании любой из палитр команд в Sublime Text вам не нужно заканчивать одно слово?

В большинстве редакторов (таких как PHPStorm), если вы хотите найти файл с именем resources/views/conferences/edit.blade.php , вы можете ввести resources/views/conferences/edit. blade.php или Conferences/edit.blade.php , но в Sublime Text все, что вам нужно, это что-то вроде resvieconedblp . Просто введите достаточно, чтобы порядок букв, который вы вводите, мог существовать только в строке, которую вы ищете, и все готово. Пропустите букву здесь, пропустите косую черту там — нет проблем.

Разное

Вам предстоит узнать гораздо больше о том, как работает Sublime Text, и вам доступно множество инструментов и курсов. Это не исчерпывающий ресурс обо всем, что есть хорошего в Sublime; эти руководства уже написаны.

Если вы хотите узнать больше о Sublime Text, есть два отличных ресурса, которые я бы рассмотрел.

  • Sublime Text Power User — это серия книг и видео моего друга Уэса Боса, которая научит вас всему, что вам нужно, чтобы использовать Sublime Text как босс. Это самый простой способ для новичка в Sublime Text быстро приступить к работе. Кроме того, я связался с Уэсом, и он поставил мне 9. 0016 Купон GEEK на скидку 10 долларов США (отказ от ответственности: мне он тоже помогает.)
  • ShortcutFoo — отличный ресурс для изучения сочетаний клавиш для любой среды. У них есть программы для всего: от Vim до Sublime Text, Photoshop и Excel.

Вердикт

Давайте взглянем на наш список и посмотрим, что мы обработали:

  • ~~Встроенное завершение класса FQCN~~ (Sublime PHP Companion)
  • ~~Легкий переход к определению символа~~ (Sublime PHP Companion)
  • ~~Перейти к определению символа~~ (Sublime PHP Companion)
  • Легкая инъекция конструктора (Макро?)
  • ~~Выделить неиспользуемый импорт~~ (SublimeLinter)
  • ~~Gitgutter~~ (GitGutter)
  • ~~Анализ кода/проверка PSR-2~~ (SublimePHPCS и т. д.)
  • Завершение кода: PHP
  • Завершение кода: код проекта

Вообще-то неплохо. Давайте поговорим о том, чего не хватает:

  • Внедрение конструкции (например, упрощение внедрения свойства в конструктор как свойства, установка его в конструкторе и определение свойства класса) — это то, что, как мне кажется, можно решить с помощью умного макроса — но такого умного макроса я еще не видел.
  • CodeIntel предлагает завершение кода PHP , так что это просто вопрос, как заставить его работать. Но я не думаю (поправьте меня, если я ошибаюсь), что-либо в мире Sublime Text претендует на то, чтобы обнюхать определения вашего кода , а затем предоставить автозаполнение и предложение параметров. Так что это большой недостаток, безусловно. Однако обратите внимание: AllAutocomplete определенно немного облегчает эту боль.

Каков мой вердикт? Как всегда, это зависит. Я думаю, это будет зависеть частично от проекта, частично от разработчика, а частично от того, смогу ли я найти решения для некоторых из вышеперечисленных проблем. Но я определенно полагаюсь на Sublime Text намного больше, чем шесть месяцев назад — это чертовски быстро.

Postscript

Есть ли какие-нибудь советы по Sublime Text для PHP-разработчиков, которые я пропустил? Дайте мне знать в Твиттере.

Существуют ли какие-либо функции PHPStorm, которые я здесь не рассмотрел, но которые, по вашему мнению, жизненно важны для каждого инструментария разработчика? Дай мне знать и это.

Также: я не смог бы написать это без Адама Уотана, Тейлора Отвелла, Джеффри Уэя и многих-многих других друзей в Твиттере.

Пакеты Sublime Text 3 для базовой разработки PHP | Друпарт

В Sublime Text 3 есть замечательные пакеты для всего и вся, и в этом блоге я напишу о пакетах, которые радуют меня при использовании для веб-разработки. Итак, начнем!

Package Control

Прежде всего, нам нужно установить Package Control для установки других пакетов. Чтобы установить управление пакетами, мы открываем палитру команд, чтобы открыть ее, перейдите в Инструменты-> Палитра команд или с помощью сочетания клавиш Shift+Ctrl+P в Linux.

Вот картинка:

теперь мы можем устанавливать другие пакеты с Package Control. Вы можете искать и устанавливать другие пакеты по имени, открыв палитру команд и набрав Установить пакет, то вы просто вводите имя пакета, который хотите установить. Также мы можем просмотреть пакеты на https://packagecontrol. io, и вы можете прочитать документацию, использование и настройку пакетов.

PHPFMT

Первым пакетом, который я устанавливаю после управления пакетами, является phpfmt. Этот пакет является обязательным для разработчиков php. С PHPFMT вы можете отформатировать свой код при сохранении файла, чтобы установить пакеты с помощью управления пакетами, нажмите Shift + Ctrl + P, чтобы открыть командную палитру, и введите «установить», затем введите имя пакета, который вы можете установить, в нашем случае это это phpfmt.

Прежде чем мы сможем использовать этот пакет, мы должны указать путь к бинарному файлу php. Откройте настройки конфигурации Preferences->Package Settings->phpfmt->Settings — User. Внимание! никогда не изменять Settin_gs — файл по умолчанию, так как изменения будут потеряны после обновления Sublime.

   Укажите php_bin в качестве местоположения двоичного файла php и не забудьте установить       

   format_on_save в значение true, и тогда вы можете забыть обо всем этом, так как

   автоматически отформатирует ваш php-код.

 

 

 

SublimeLinter

SublimeLinter PHP (и его необходимая зависимость, SublimeLinter) полагаются на встроенный в PHP линтер. Это более простая версия, которая запускает только линтер и больше ничего. Это проверка ошибок в вашем php-коде. Установите его так же, как вы установили phpfmt.

GitGutter

GitGutter показывает git diff на Sublime. изменено или удалено, обновлено?

Улучшения боковой панели

SideBarEnhancements, как следует из названия, расширяет боковую панель возвышенного.

SFTP

Отличный пакет, позволяющий очень удобно использовать SFTP, FTP и FTPS. Он поддерживает удаленный просмотр папок, редактирование и синхронизацию между локальными и удаленными файлами. Также регулярная загрузка, загрузка, сохранение или открытие файла.

jsPrettier

Этот пакет не для php, но я использую его при работе с файлами javascript. Этот пакет, как и phpfmt, форматирует код javascript. Перед использованием этого пакета мы должны установить prettier depency install с помощью этой команды

npm install -g prettier 

Затем установите пакет jsPrettier и откройте файл настроек, как мы открыли на phpfmt. Как пример конфига:

{
"отладка": ложь,
"prettier_cli_path": "/home/tasqyn/.asdf/installs/nodejs/9.2.0/.npm/bin/prettier",
"node_path": "/home/tasqyn/.asdf/shims/node",
"auto_format_on_save": правда,
"auto_format_on_save_excludes": ["*/node_modules/*"],
"allow_inline_formatting": правда,
"пользовательские_файлы_расширения": [],
"max_file_size_limit": -1,
"дополнительные_cli_args": {},
"красивее_опции": {
"ширина печати": 100,
"одинарная цитата": ложь,
"trailingComma": "нет",
"bracketSpacing": правда,
"jsxBracketSameLine": ложь,
"парсер": "вавилон",
"полу": правда,
"requirePragma": ложь,
"прозаВрап": правда
}
}
 

prettier_cli_path — путь к красивше.

node_path — путь к узлу

Вы можете изменить настройки в соответствии с вашими потребностями.