Phpstorm вернуть удаленный файл
Код реконструкции является важным аспектом строительства и обслуживания программного обеспечения. В этом руководстве я покажу вам как можно больше. phpstorm Рефакторинг.
Когда вы вручную восстановите код, будь то использование старого кода или создает новый код, легко пропустить ошибку, например, забыть об использовании кода. Вот почему я люблю регулярно использовать функции реконструкции PhPStorm.
Предположим, это ваш первый раз, когда я услышал этот термин, ссылка Martin Fowler Описание для реконструкции:
Refactor - это управляемая методика для улучшения конструкции существующей базы кода. Его сущность представляет собой серию небольших поведений, таких как преобразования удерживания, каждый, каждая, каждая, по-видимому, «очень маленький, не стоит делать» поведение, однако, совокупный эффект в этих трансформациях довольно значительна. Выполняя их в небольших шагах, он может снизить риск внедрения ошибок. Вы также можете избежать повреждения системы при выполнении реорганизации, которая позволяет постепенно реконструировать вашу систему в течение более длительного периода времени.
РефакторингСерия разных технологий, В том числе мобильные, экстракция, копирование, удаление и переименование. Эти функции охватывают все типы изменений, которые вы можете продолжать в коде.
Очень счастлив, PhpStorm Функция реконструкции, как часть основной пакеты, поддержала все это. В этом руководстве я постепенно введем несколько из них; Special:
- Извлечь код в новый метод
- Переименовать функцию
- Изменить подпись функции
Извлечь код в новый метод
Наиболее реконструированные из меня состоит в том, чтобы извлечь код в новый метод. Я не сделал, сколько длинных функций я столкнулся. Эти функции могут быть лучше организованы в серию меньшего, мультиплексированного, таперфузной. Функция.
Например, следующие функции:
Мы сказали, что последние пять строк этой функции нуждаются или в других частях класса или в других отдельных функциях, что мы должны сделать, это извлечь его в отдельный метод. Итак, мы должны выделить все строки, затем нажмите "Refactor -> Extract -> Method" , Отображать "Extract Method" Диалоговое окно, вы можете увидеть предварительно заполненный набор параметров по умолчанию.
Простое дело, которое нам нужно сделать, это заполнить имя метода, остальные параметры могут оставаться по умолчанию, но я все еще делаю одну вещь, дайте единственным параметром $data Укажите типу подсказки.
Таким образом, функция становится очень понятной и генерируется PhpDoc Блок также будет содержать эту информацию. Щелчок “Refactor” Оба поколения, и замените выделенный код и вызовите его, вы можете увидеть его ниже.
Переименовать функцию
Теперь мы извлекли код до отдельного метода, как переименовать существующую функцию, может быть, это не так интуично, или не может следовать наилучшей практике. Давайте посмотрим, как это сделать.
Эта реконструкция работает очень похожим образом, но мы должны получить доступ к нему. На этот раз мы будем использовать контекстное меню, а не главное "Refactor" Меню, как показано на скриншоте ниже, если вы используете Windows Или же Linux Пожалуйста, щелкните правой кнопкой мыши, или если вы используете Mac Тогда вы можете дважды щелкнуть.
Если вы хотите больше вариантов, пожалуйста, нажмите Shift + f6 (Проверьте карту клавиатуры), откройте "Rename" Диалог, вы можете увидеть ниже. Вы можете более конкретно видеть, как произойдет переименование, вы также можете PhpStorm Поиск аннотаций и строк и текст, который появляется.
Это, кажется, не все необходимым, но если вы процитируете функцию в ваших комментариях и комментариях, вы можете полезны для вашей документации и кода синхронные изменения для ваших собственных и будущих разработчиков.
Когда вы нажимаете "Refactor" Время, PhpStorm Отображается функция поиска, определяется ли она или вызывает его, и отображает окно предварительного просмотра, отображать все события, которые он находит, в это время, остановите телефон, не включайте автоматически "Do Refactor" 。
Эта причина в том, что в соответствии с названием метода вы выбираете, PhpStorm Возможно, было обнаружено, что он не имеет никакого отношения к вашей реализации, только один из другой библиотеки поставщиков. Если это так, щелкните правой кнопкой мыши или двойной палец, нажмите «Не связанный», затем нажмите, чтобы исключить. После завершения щелкните "Do Refactor" Заполните функцию переименовать ее.
Изменить подпись функции
Теперь реконструируйте последний шаг, измените подпись функции. В следующем коде у меня есть оригинальный метод заполнения (), он принимает параметр $ data Это массив, который обеспечивает типовые советы.
Теперь мы используем третий метод реконструкции, используйте ярлык клавиатуры cmd + F6 Как и предыдущий, проверьте отображение клавиатуры.
Это откроет диалоговое окно «Изменить подпись», вы можете увидеть его выше, что он поддерживает метод:
- видимость
- имя
- параметр
- Заказ параметра
Нажатие $data Я могу добавить массивы в type-hint Отказ Щелчок Enter Подтвердите изменения и обновите "Signature Preview" окно. Как функция переименования, мы можем просмотреть изменения или полную реконструкцию, и наши методы обновляются, метод PhpDoc Это также верно, мы видим ниже:
подводить итоги
Выше, показывая, как использовать некоторые PhpStorm Встроенная реконструкция поддерживает три типа реконструкции класса PHP. конечно PhpStorm Существует также более способы, такие как безопасное удаление, создавая статизацию, если вы не знакомы с ним, это абсолютно дополнительно обсуждается.
Что вообще можно сделать ? почему PhpStorm повредил файл ?
- Вопрос задан более трёх лет назад
- 7702 просмотра
VCS -> Local History -> Show History
Используйте Git(или аналог) и таких проблем не будет.
история пустая там ничего нет, изменил один файл появилось, а старой истории вообще нет хотя весь проект с самого начала разрабатывал в PHPstormНе PhpStorm, а ОС.
Синий экран шторм вызвать не может.
Про локальную историю вам уже сказали.
И научитесь пользоваться git, тогда потери будут на несколько часов вместо дней и недель.
Я восстановил файл с помощью R-Studio. то есть у вас тоже файл как бы был на месте но был пустой и R-Studio нашло его в удаленных? Да, он нашёл его копию с именем "имя.py__jb_old__" в той же папке.
кто знает, где phpstorm хранит локальную историю?
Востановление ветки в другом продукте от JetBrains - Webstorm. Использую Git.
Предисторрия.
Работал над одной таской на отдельной ветке, послее ее завершения вмержил в дев ветку для проверки. шло время, ветки с таскоми копились, решил почистить, удалил и эту с фичей, как обычно бывает, после этого, проверили фичу и попросили ливануть ее на стейдж ветку, а ветки то и нет, так вот как вариант А:
git log список коммитов
номер одного коммита
переходишь на ту ветку, куда хочешь их пернести
git cherry-pick <номер коммита>
вариант Б:
Правой кнопкой > Git > Show History
вкладка log. через поиск находишь свои сохранения на ветке
<название коммита> origin & <название твоей убитой ветки>
жмешь на название > chekout и. вуаля ветка опять жива
Деплоймент (deployment) - очень важный момент в работе разработчика. Я напомню, что локальную разработку я веду на FreeBSD VM, на которой настроены все необходимые веб-сервисы. Данный способ разработки позволяет эмулировать реальную среду продакшена, где будет работать мой код. Раньше я просто расшаривал свои проекты по Samba, сканировал необходимую папку и работал с ней удаленно. У данного способа есть большой минус - скорость работы. PhpStorm индексит по Samba очень медленно, иногда может надолго подвисать.
Потому сейчас я работаю с локальной папкой, а PhpStorm все автоматически аплоадит (деплоит) по SFTP на виртуальную машину. Так IDE работает быстрее, индексация проекта теперь занимает намного меньше времени.
Перейдем от слов в делу. Допустим, у меня есть локальная папка "community" с Magento CE и такая же папка на VM.
1. Открываем настройки деплоймента Project Settings => Deployment:
2. Добавляем новый сервер. Для этого нужно нажать на плюсик, дать ему имя и выбрать тип соединения. В моем случае это SFTP:
3. Заполняем табу "Connection":
Стоит заметить, что в поле "Root path" лучше указывать директорию VM, в которой лежат все ваши проекты, чтобы можно было использовать данный сервер и для их деплоя.
4. Заполняем табу "Mappings":
- "Local path": локальная папка с проектом
- "Deployment path on server '%YOUR_SERVER_NAME%'": удаленная папка с проектом
5. Заполняем табу "Excluded Paths":
Здесь можно настроить папки, которые мы не ходим деплоить на VM и наоборот. В данном случае я указал что не хочу получать с удаленного сервера содержимое папки "var", в которой хранится кеш, репорты, логи и прочая служебная информация о проекте.
6. Настраиваем автоматический аплоад на удаленный сервер, чтобы после каждого сохранения файла, он PhpStorm отправлял его на сервер. Для этого нужно зайти в Project Settings => Deployment => Options и выставить чекбоксы вот так:
Поздравляю, все настроено. Открываем любой файл, делаем в нем изменение, сохраняем и видим что PhpStorm автоматически загрузил этот файл на сервер:
Как вы видите, все просто. Данный способ еще можно использовать для деплоя небольших сайтов на продакшен-сервер.
Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.
Похожий контент
ВИДЕО ИНСТРУКЦИЯ 2020.2 !
Благодарность нашему участнику за видео по Активации редактора от JetBrains , он попросил остаться анонимом.
В ближайшее время, будут еще видео инструкция по активации редакторов.
Все, кто может поделится своим видео по активации, присылайте в Телегу
Данный видео способ для активации редактора от JetBrains, аналогичный с другими редакторами от JetBrains, будь это PhpStorm или PyCharm, не важно, даже если версия редактора 2020.1 или это версия 2020.2, суть активации для редакторов и версий одна и та же!
Активатор jetbrains-agent 3.2.0 jetbrains-agent-latest v3.2.0.zip + Аргумент для Хэш:
Ввести Хэш №1:
LFq51qqupnaiTNn39w6zATiOTxZI2JYuRJEBlzmUDv4zeeNlXhMgJZVb0q5QkLr+CIUrSuNB7ucifrGXawLB4qswPOXYG7+ItDNUR/9UkLTUWlnHLX07hnR1USOrWIjTmbytcIKEdaI6x0RskyotuItj84xxoSBP/iRBW2EHpOc
или
Хэш №2:
HbVMaxqQrTt4UvDUk8fhyFT7uRdv48bqJsQMwVFp53YH9PZC9l+ZxAgnA60cLwwhURw/e4DcZZtle4tQzur4yWRk35qghES4JLFlmKty/UNiYh6RZyXeCNPTCvIqxT9HR2YKqQT93be6AfLTcbJwPSLO201g+HbMbg6+aK1MUJI
либо
Хэш №3:
f9fF1I/ygZI7Ff14sigGMZmZ7KJkhsM364o6exiukAqGORVXN1e4Fk4B8+hGSl5B+iLp9nIA2pSNhNGlxnDgSV3xC85CGVvWY9SWa+ECeWhJZ1+hitDPCNw5lKaRBnxIKhAfQ3aJl4S5WmrOkfKoIuz3UXVoX7hZGxofqQtzfuc
или попробовать
Хэш №4:
RSYen6winZ2OO93eyHv2Iw5kbn1dqfBw1BuTE29V2FJKicJSu8iEOpfoafwJISXmz1wnnWL3V/0NxTulfWsXugOoLfv0ZIBP1xH9kmf22jjQ2JiHhQZP7ZDsreRrOeIQ/c4yR8IQvMLfC0WKQqrHu5ZzXTH4NO3CwGWSlTY74kE91zXB5mwWAx1jig+UXYc2w4RkVhy0//lOmVya/PEepuuTTI4+UJwC7qbVlh5zfhj8oTNUXgN0AOc+Q0/WFPl1aw5VV/VrO8FCoB15lFVlpKaQ1Yh+DVU8ke+rt9Th0BCHXe0uZOEmH0nOnH/0onD
Архив с агентом на видео указан версии 3.2.2 - это ошибка, переименовали архив в 3.2.0, что бы вы не думали, что не тот архив или не тот активатор!
Если это видео не поможет или по данному видео не получится активировать, пробуйте ВАРИАНТЫ: 3, 4
Запись экрана 2020-11-03 в 23.17.41.mp4
Либо ссылка этого видео на Youtube под спойлером или ЗДЕСЬ
0. РАСПАКУЙТЕ ЭТОТ АРХИВ, в архиве вы найдете ключ для активации и текущую инструкцию.
1. Если при запуске редактор спрашивает лицензию – перейдите на вкладку "Evaluate for free" и нажмите кнопку "Evaluate".
2. Если открылся текущий проект – закройте его нажатием на крестик, откроется окно с выбором проекта.
3. Перетащите файл jetbrains-agent-latest.zip в окно редактора. Редактор предложит перезапуститься, нажмите "Yes".
4. После перезапуска появится окно агента, скопируйте и вставьте ключ из файла ключ.txt в поле "Arguments" и нажмите кнопку "Install for редактор". Редактор снова предложит перезапуститься, нажмите "Yes"
5. Редактор активирован
Для SEO:
jetbrains-agent activation, Активация WebStorm, Видео активации IDE от JetBrains, Видео по активации редакторов JetBrains
ДРУГИЕ РЕШЕНИЯ
NEXT SOLUTIONS
РЕШЕНИЕ №1
Благодаря нашему сообществу в телеги, а точнее участнику Anton R , мы можем сообщить о том, что появился свежий jetbrains-agent активатор для WebStorm 2020.2 и jetbrains-agent.jar v3.2.0 так же подошел для других IDE от JetBrains, а именно:
Pycharm
Rider
WebStorm
jetbrains-agent.jar v3.2.0 на PhpStorm еще не тестировали, но должен работать на всех 2020.2
Не путайте jetbrains-agent.jar v3.2.0 с разными датами обновления и размеров самого файла.
Узнать версию и дату обновления активатора для jetbrains редактора, вы можете нажав на сам активатор .jar файл и в появившемся окне, вы увидите информацию о файле или через свойства.
Инструкция по активации и сам файл активации для jetbrains:
РЕШЕНИЕ №2
Благодаря участникам нашего дружного Телеграм канале , мы можем сообщить о том, что появился свежий jetbrains-agent 3.2.2 активатор jetbrains-agent-latest_v3.2.2.7z(jetbrains-agent.jar 3.2.2) для JetBrains WebStorm 2020.2-2020.2.2 и выше, должен подойти активация и для других IDE отJetBrains, а именно: Pycharm
Rider
WebStorm
GoLang
jetbrains-agent.jar v3.2.2 (jetbrains-agent-latest_v3.2.2.7z ) на PhpStorm еще не тестировали, но должен работать на всех 2020.2.2
Инструкция по активации и сам файл активации для jetbrains:
Или обычный способ, старый и проверенный если верхний вариант не подошел или не сработал:
1. Запустить от имени администратора .exe установочный файл WebStorm
Устанавливаем.
2. Выбираем Run WebStorm по завершению установки.
3. Если есть Файл конфигураций, выбираем его и жмем Ок или выбираем Do not import setting (выбрано по умолчанию).
4. Выбираем цвет темы и жмем Next Featured plugins
5. Устанавливаем Plugins если нужно и жмем Start using WebStorm.
5.1 В появившемся окне, выбираем Evaluate for free и жмем Evaluate
или
7.2 Activation WebStorm, ниже выбираем Activation code и вставляем код из файла KEY_ACTIVATION.
Или.
Из архива jetbrains-agent-latest_v3.2.2 в папке jetbrains-agent\lib копируем файл jetbrains-agent.jar в C:\Users\admin\ где admin - ваше имя администратора.
Туда же копируем файл important.txt из той же папки где лежит jetbrains-agent.jar ( jetbrains-agent\lib\ )
Далее.
Запускаем программу WebStorm во вкладке Help , переходим в Edit Custom VM Options и вставляем туда -javaagent:C:\Users\admin\jetbrains-agent.jar (где admin - имя вашего администратора), закрываем WebStorm
Запускаем снова WebStorm после переходим во вкладку Help -> Register.
Выбираем Activate code и вставляем, вот этот ключ из файла KEY_ACTIVATION:
РЕШЕНИЕ №3
Активация с помощью Кип Лицензии - KeepLicense ( JetbrainsIdesCrack_5_3_1_KeepMyLic.jsr ) с заменой файла *.key
Решение проблемы активации редактора от JetBrains с момента 26.10.2020
РЕШЕНИЕ №4
На днях - 29-29.10.2020, В нашей группе, у пользователя grey five_nine обновился редактор и не слетел активатор, после чего grey five_nine поделился с нами своим jetbrains-agent с кодом лицензии - который не слетел, публикую активатор здесь на форуме для остальных посетителей!
Вот еще одно решение на 30.10.2020
Это тоже должна быть рабочая активация для IDE от JetBrains!
Инструкция с активацией кодом идентичная как и выше. Зддесь активация кодом, выше активация кодом и с заменой файла с .key
Вы сами можете скачать и проверить активацию на редакторе от JetBrains и отписаться в данной теме.
Если у вас будут трудности, пишите в тему, либо в группу!
Для решения 4
P.S. У каждого это может быть индивидуально.
Добавлен новых Хэш для активации редактора от JetBrains для версии редактора 2020.2+ и для версии 3.2.0 активатора jetbrains-agent.jar :
Ввести Хэш №1:
LFq51qqupnaiTNn39w6zATiOTxZI2JYuRJEBlzmUDv4zeeNlXhMgJZVb0q5QkLr+CIUrSuNB7ucifrGXawLB4qswPOXYG7+ItDNUR/9UkLTUWlnHLX07hnR1USOrWIjTmbytcIKEdaI6x0RskyotuItj84xxoSBP/iRBW2EHpOc
Хэш №2:
HbVMaxqQrTt4UvDUk8fhyFT7uRdv48bqJsQMwVFp53YH9PZC9l+ZxAgnA60cLwwhURw/e4DcZZtle4tQzur4yWRk35qghES4JLFlmKty/UNiYh6RZyXeCNPTCvIqxT9HR2YKqQT93be6AfLTcbJwPSLO201g+HbMbg6+aK1MUJI
Хэш №3:
f9fF1I/ygZI7Ff14sigGMZmZ7KJkhsM364o6exiukAqGORVXN1e4Fk4B8+hGSl5B+iLp9nIA2pSNhNGlxnDgSV3xC85CGVvWY9SWa+ECeWhJZ1+hitDPCNw5lKaRBnxIKhAfQ3aJl4S5WmrOkfKoIuz3UXVoX7hZGxofqQtzfuc
Хэш №4:
RSYen6winZ2OO93eyHv2Iw5kbn1dqfBw1BuTE29V2FJKicJSu8iEOpfoafwJISXmz1wnnWL3V/0NxTulfWsXugOoLfv0ZIBP1xH9kmf22jjQ2JiHhQZP7ZDsreRrOeIQ/c4yR8IQvMLfC0WKQqrHu5ZzXTH4NO3CwGWSlTY74kE91zXB5mwWAx1jig+UXYc2w4RkVhy0//lOmVya/PEepuuTTI4+UJwC7qbVlh5zfhj8oTNUXgN0AOc+Q0/WFPl1aw5VV/VrO8FCoB15lFVlpKaQ1Yh+DVU8ke+rt9Th0BCHXe0uZOEmH0nOnH/0onD
Если вы еще не работаете с Git в PhpStorm, но хотите начать, то вот статья, которая может быть полезной: Работа с Git в PhpStorm (JetBrains). Если уже начали, то вы знаете, что по умолчанию PhpStorm показывает только изменённые или добавленные файлы, не подсвечивая при этом, родительскую папку. Вот несколько способов улучшить процесс.
Просмотр измененных файлов в зоне Version Control
PhpStorm показывает дерево измененных/добавленных файлов в окне Version Control. Там же можно увидеть изменения внутри конкретного файла. Окно можно найти на нижней панели, предварительно включив: View->Tool buttons. Кнопка будет отображаться при условии, что вы используете какую-либо систему контроля версий.
В этом окне можно выполнять другие действия, относящиеся к Git:
- создавать change-листы (Что такое changelist? англ. );
- разносить файлы по change-листам drag&drop'ом;
- видеть файлы, которые не были добавлены в гит или удалены;
- делать commit; изменений;
- создавать патчи из измененных файлов;
- и другое.
Подсветка дерева
Вышеописанный инструмент достаточно мощный, но иметь его открытым постоянно не удобно, потому что оно занимает добрую половину экрана.
Следующий способ - подсветка в дереве: ползём в Setting->Version control. Находим параметр "Show directories with changed descendants" и активируем его.
Иногда после активации этого параметра и сохранения настроек ничего не происходит. По ощущениям это выглядит как будто не сработал триггер "Эй, а ну-ка перезагрузи дерево". Для исправления нужно перезагрузить программу.
Разделение по скопам
Третий способ чуть хитрее. Он заключается в использовании, так называемых, скопов (Scopes) или областей. При использовании системы контроля версий, PhpStorm любезно создает для нас скоп "Changed files". Его можно найти в селекте над деревом файлов.
Также вы можете создавать свои скопы.
Постскриптум
Для повышения навыка работы с PhpStorm посмотрите как делать Rebase в PhpStorm.
Читайте также: