Graude-msk.ru

Ремонт бытовой техники
1 просмотров
Рейтинг статьи
1 звезда2 звезды3 звезды4 звезды5 звезд
Загрузка...

Настройка синхронизации файлов сервера с локальными через PHPStorm

Настройка синхронизации файлов сервера с локальными через PHPStorm

Настройка синхронизации файлов сервера с локальными через PHPStorm

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

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

3. Автоматическая загрузка *

Для настройки в проекте автоматической загрузки сервер развёртывания должен быть установлен в качестве сервера по умолчанию. Это можно сделать через меню [Tools → Deployment → Configuration] . Затем в левой части открывшегося окна выбери сервер и с помощью кнопки Use as Default на панели инструментов установи его по умолчанию.

Когда на сервере тебе нужны те же файлы, что и в проекте PhpStorm, полезно использовать автоматическую загрузку. Это значит, что всякий раз, когда изменение сохраняется в IDE, оно будет перенесено на сервер развёртывания. Конфигурирование поведения автозагрузки можно выполнить с помощью меню [Tools → Deployment → Options] .

PhpStorm: окно "Опции"

Настройка опции (отмечена красным контуром на скриншоте выше) Upload changed files automatically to the default server (автоматическая загрузка изменённых файлов на сервер по умолчанию) происходит через выпадающий список со следующими значениями:

  • Newer (никогда) — автоматическая загрузка не используется.
  • Always (всегда) — автозагрузка файлов будет происходить при любом сохранении или автосохранении. Этот вариант не рекомендуется использовать для развёртывания на боевой сервер: при разработке может быть загружен неполный код, высока вероятность поломки приложения на сервере.
  • On explict save action (явное действие сохранения) — этот вариант будет вызывать автоматическую загрузку, только когда сохранение файла было вызвано вручную: при выборе через меню [File → Save As..] или с помощью горячих клавиш Ctrl + S ( Cmd + S на Mac OS X).

По умолчанию только файлы, изменённые в IDE, будут загружены. Если файлы будут изменены каким-либо другим способом: изменение VCS ветки, изменения Sass или LESS, а также изменения от плагина File Watcher , то они не будут автоматически загружены. Чтобы исправить это поведение и установить автозагрузку и для таких изменений, включи опцию Upload external changes (загрузка внешних изменений).

Всякий раз, когда происходит автоматическая загрузка, служебное окно File Transfer сообщает тебе об этом:

PhpStorm: служебное окно "File Transfer"

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.
Читайте так же:
Как отключить вертикальную синхронизацию mobile intel

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

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

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

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

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

22 сентября 2011

Вот и вышел первый EAP-билд долгожданной третьей версии полюбившейся многим разработчикам PHP IDE. Остаток дня был проведён за кодом уже в новом билде. Впечатления положительные. Что же интересного принесла нам свежая EAP? Среди просто нереального количества фиксов болячек разной степени важности стоит выделить следующее.

Производительность

Разница действительно очень значительна. Теперь ощущения от работы автодополнения и набора текста в общем очень похожи на работу в «нативных» IDE.

Также обещают более плавную работу с большими проектами при использовании 32-х битной JRE. Как раз мой случай.

Похоже, мне повезло. Коллеги жалуются на задержки в автокомплите. Возможно, связано с комплитом из библиотек.

Интерфейс

Интерфейс претерпел значительные изменения. Сразу бросаются в глаза похудевшие табы, более компактные и продуманные диалоги. Linux и Mac тоже вниманием не обделили. Маку дали более приятный вид и fullscreen, линуксу drag&drop файлов и кучу фиксов.

  • Автоматический перевод курсора в нужное место при записи ассоциативного массива с каждым элементом на новой строке (ура!).
  • Улучшили анализ синтаксиса и подсветку ошибок.
  • Различные улучшения в поддержке XDebug.
  • Добавили тулзу для анализа дампов профайлера XDebug.
  • Поправлены ошибки автоформаттера.
  • Поправили неприятное поведение при вводе кавычек.
  • В настройках можно выбрать конкретный интерпретатор PHP. Зачем, правда, пока не ясно.
  • Улучшили поддержку Twig.
  • Улучшили дополнение по namespace и в замыканиях.
  • Нормально реагирует на ENTER внутри PHPDoc, да и вообще много всего по PHPDoc (ура!)
  • Улучшена поддержка Phing.
  • Поддержка @return $this, @return self и @return static, что очень полезно для дополнения в Yii.

JavaScript

  • Улучшенная поддержка синтаксиса библиотек.
  • Фиксы форматирования и анализа кода.
  • JSLint / JSHint

CSS / HTML

  • Автоматический перевод курсора в нужное место при записи CSS лесенкой.
  • Фикснули оптимизацию перекрывающих друг друга записей.
  • Улучшили поддержку HTML5.
  • Поменяли диалог для выбора цвета. Добавили пипетку и возможность вводить цвет в hex. Убрали HSB. Попробую привыкнуть.
  • Zen Coding 0.7

Разное

  • Добавили возможность исключать директории из заливки по FTP.
  • XSLT debugger

Так как это первый билд третьей версии, стоит отбэкапить настройки перед обновлением. У меня лично обновилось всё без особых проблем, но мало-ли.

Графические интерфейсы

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

Читайте так же:
Программа для синхронизации данных бесплатная программа

Также стоит понимать, что разные интерфейсы служат разным целям. Некоторые Git клиенты ограничиваются лишь той функциональностью, которую их автор считает наиболее востребованной или эффективной. Учитывая это, ни один из представленных ниже инструментов не может быть «лучше» остальных: они просто предназначены для решения разных задач. Также стоит помнить, что всё, что можно сделать с помощью графического интерфейса, может быть выполнено и из консоли; командная строка по прежнему является местом, где у вас больше всего возможностей и контроля над вашими репозиториями.

gitk и git-gui

Установив Git, вы также получаете два графических инструмента: gitk и git-gui .

gitk — это графический просмотрщик истории. Что-то типа улучшенных git log и git grep . Это тот инструмент, который вы будете использовать для поиска событий или визуализации истории.

Проще всего вызвать Gitk из командной строки: Просто перейдите в каталог с репозиторием и наберите:

Gitk принимает много различных опций, большинство из которых транслируются в используемый git log . Возможно, наиболее полезная опция — —all , которая указывает Gitk выводить коммиты, доступные из любой ссылки, а не только HEAD. Интерфейс Gitk выглядит так:

`gitk`- инструмент для просмотра истории

Интерфейс на картинке похож на вывод git log —graph ; каждая точка соответствует коммиту, линии отражают родство коммитов, а ссылки изображены цветными прямоугольниками. Жёлтая точка обозначает HEAD, а красная — изменения, которые попадут в следующий коммит. В нижней части расположены элементы интерфейса для просмотра выделенного коммита: слева показаны изменения и комментарий, а справа — общая информация по изменённым файлам. В центре расположены элементы для поиска по истории.

git-gui , в отличие от gitk — это инструмент редактирования отдельных коммитов. Его тоже очень просто вызвать из консоли:

И его интерфейс выглядит так:

`git gui` — инструмент редактирования коммитов

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

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

Справа снизу находится область для ввода сообщения коммита и несколько кнопок. Введите сообщение и нажмите кнопку «Commit» чтобы выполнить коммит. Также можно изменить предыдущий коммит, выбрав радиокнопку «Amend», что приведёт к обновлению индекса содержимым предыдущего коммита. После этого вы можете как обычно добавлять или удалять файлы из индекса, изменить сообщение коммита и, нажав кнопку «Commit» создать новый коммит, заменив им предыдущий.

gitk и git-gui — это примеры инструментов, ориентированных на задачи. Каждый из них наиболее подходит для решения определённой задачи (просмотр истории или создание коммитов соответственно) и не поддерживает дополнительные функции Git, ненужные для её решения.

GitHub для Mac и Windows

Компания GitHub выпустила два инструмента, ориентированных на рабочий процесс, а не на конкретные задачи: один для Windows, второй — для Mac. Эти клиенты — хороший пример процесс-ориентированного ПО: вместо предоставления доступа ко всей функциональности Git, они концентрируются на небольшом наборе фич, работающих вместе для достижения цели. Выглядят они примерно так:

Читайте так же:
1с зуп синхронизация active directory

GitHub для Mac

GitHub для Windows

Они спроектированы по одному шаблону, поэтому мы будет рассматривать их как один продукт в этой главе. Мы не будем разбирать по косточкам эти инструменты (в конце-концов у них есть документация), а лишь быстренько взглянем на экран изменений (место, где вы будете зависать больше всего).

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

В центре экрана расположена область редактирования коммита: тут можно ввести сообщение коммита и выбрать файлы для включение в него. (На Windows, история коммитов расположена под этой областью, на Mac это отдельная вкладка.)

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

И стоит обратить внимание на кнопку «Sync» справа вверху, которая используется для синхронизации по сети.

Необязательно регистрироваться на GitHub, чтобы работать с этими инструментами. Хотя они навязывают использование GitHub, оба инструмента прекрасно работают с любым другим Git сервером.

Установка

GitHub для Windows можно скачать на https://windows.github.com, а для Mac — на https://mac.github.com. При первом запуске обе программы проведут первоначальную настройку Git, например, сконфигурируют ваше имя и email, а также установят разумные значения по умолчанию для распространённых опций типа CRLF-поведение и хранилище паролей.

Оба инструмента поддерживают автообновление в фоне — это означает, что у вас всегда будет последняя версия. Это также относится к поставляемому в комплекте с ними Git — вам никогда не придётся обновлять его вручную. На Windows вы также получаете ярлык для запуска PowerShell с Posh-Git, который мы рассмотрим далее в этой главе.

Следующий шаг — скормить программе парочку репозиториев для работы. Клиент для GitHub показывает список репозиториев, доступных вам на GitHub, и вы можете клонировать любой в один клик. Если же у вас уже есть клонированный репозиторий, просто перетяните его из окна Finder (или Windows Explorer) в окно клиента GitHub, и он будет включён в список репозиториев слева.

Рекомендуемый рабочий процесс

После установки GitHub клиент можно использовать для решения кучи стандартных задач. Рекомендуемый ниже подход к работе иногда называют «GitHub Flow». Мы рассмотрели этот рабочий процесс в разделе Рабочий процесс с использованием GitHub главы 6, но вкратце, важны два момента: (а) вы коммитите в отдельные ветки и (б) вы регулярно забираете изменения с удалённого репозитория.

Управление ветками слегка различается на Mac и Windows. В Mac версии для создания ветки есть кнопка вверху окна:

Кнопка создания ветки на Mac

На Windows создание ветки происходит путём ввода её имени в переключатель веток:

Создание ветки в Windows

После создания ветки добавление коммитов в неё довольно тривиально. Измените что-нибудь в рабочем каталоге и, переключившись в окно клиента GitHub, вы увидите свои изменения. Введите сообщение коммита, выберете файлы для включения в коммит и нажмите кнопку «Commit» (ctrl-enter или ⌘-enter).

Взаимодействие с удалёнными репозиториями происходит в первую очередь посредством кнопки «Sync». В Git есть отдельные команды для отправки изменений на сервер, слияния изменений воедино и перемещения веток друг относительно друга, но клиент GitHub совмещает все эти команды в одну. Вот что происходит когда вы жмёте «Sync»:

git pull —rebase . Если эта команда выполнится с ошибкой, будет выполнено git pull —no-rebase .

Читайте так же:
Синхронизация dns серверов windows

Это довольно привычный, но рутинный процесс при работе по «GitHub Flow», совмещение команд воедино действительно экономит время.

Заключение

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

Semicolon Insertion Shortcut

PHP требует разделять инструкции с помощью точки запятой. Расширение Semicolon Insertion Shortcut добавляет необходимый символ в конец строки с помощью шортката. Если при нажатии [Ctrl] + ; символ не вставляется, то необходимо проверить список горячих клавиш и при необходимости назначить комбинацию вручную: File -> Preferences -> Keyboard Shortcuts

semicolon-shortcut

Как синхронизировать файлы по фтп с удалённым сервером

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

Для этого опять зайдём на страницу настроек File > Settings , настройки деплоя Build, Execution, Deployment > Deployment > Options setting_auth2-1

где 1 — режим загрузки файлов при их изменении:

  • Always — синхронизировать сразу же при изменении
  • On explicit save action — загрузка на сервере при нажатии Ctrl + S
  • Never — не синхронизировать

2 — режим поиска и разрешения конфликтов версий файлов:

  • No — загружать локальный файл на сервер без дополнительных проверок
  • Compare timestamp & size — сравнивать дату изменения локального файла с серверным, или его размер
  • Compare content — сравнивать содержимое файла с его предыдущей версией

То есть, когда PHPStorm обнаружит, что за то время, пока вы редактировали свой файл локально, его кто-то изменил на сервере. И, если настроено разрешение конфликтов версий файлов, то он уведомит вас о том, файл отредактирован кем-то, чтобы вы не затёрли чужие правки. Удобно, когда над проектом работает несколько человек.

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

Добавление и удаление пользователей и групп в столбце «Имя».

На Mac выберите объект, затем выберите «Файл» > «Свойства».

Если замок в правом нижнем углу закрыт , нажмите его, чтобы разблокировать панель «Свойства», затем введите имя и пароль администратора.

В разделе «Общий доступ и права доступа» выполните одно из следующих действий:

Добавление пользователя или группы. нажмите кнопку «Добавить» под списком, выберите пользователя или группу, затем нажмите «Выбрать».

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

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

голоса
Рейтинг статьи
Ссылка на основную публикацию
Adblock
detector