Переименовать файл в PHPStorm без рефакторинга
Как быстро переименовать имя файла без рефакторинга в PHPStorm? Даже после того, как я только что создал файл, PHPStorm занимает много времени для поиска в моих файлах его использования.
4 ответа
Моя техника быстрого переименования файлов заключается в том, чтобы щелкнуть по имени файла и нажать Shift-F6. Откроется диалоговое окно, и вы можете сразу ввести новое имя файла и нажать Return / Enter, чтобы завершить переименование.
Я считаю эту технику интуитивно понятной, поскольку вам не нужно перемещать мышь в диалоговое окно, вводить новое имя или щелкать что-либо для подтверждения. Пока все, что вы делаете, это переименование, которое, как вы знаете, является безопасным, вы просто набираете его и начинаете.
Мне также нравится эта функция, потому что у вас все еще есть возможность быстрого предварительного просмотра изменений до их внесения. И в тех случаях, когда вы проводите рефакторинг чего-либо, что может повлиять на остальную часть вашего приложения, вы все равно можете включить "Поиск ссылок" и / или "Поиск в комментариях и строках", чтобы получить всю энчилада. (У меня эти параметры отключены по умолчанию.)
Я согласен с вами, что щелчок правой кнопкой мыши по имени файла, прокрутка вниз до Refactor, выбор Rename и последующее ввод нового имени обременительны, особенно если включены безопасные проверки. Я считаю, что разработчики PhpStorm, кажется, понимают эти типы проблем и обычно думают о "более быстром способе" делать что-либо.
Вы не можете сделать это без рефакторинга, хотя Refactor
| Rename
обычно очень быстро, и вы можете отключить параметры для поиска ссылок.
По умолчанию Shift-F6. Чтобы не проводить рефакторинг, отключите флажки во всплывающем окне.
Я хотел использовать F2 для переименования файлов, как Windows по умолчанию.
Вы можете сделать ярлык для F2. Идти к:
- файл
- настройки
- Раскладка
- Искать "переименовать"
- Дважды щелкните "Refactor -> Rename".
- Нажмите "Сочетание клавиш"
- Нажмите F2
- Хорошо
РЕДАКТИРОВАТЬ
Если это не работает немедленно, перезапустите PHPStorm.
Также доступна опция. Щелкните правой кнопкой мыши файл и выберите "Показать в проводнике", а затем в проводнике Windows переименуйте файл с помощью F2. Это не повлияет на рефакторинг и не повлияет на другие файлы вашего проекта.
Это будет работать для пользователей Linux.
Это зависит от zenity
, так что сначала проверьте, установлен ли он в вашей системе,
запустить в консоли: zenity --version
Если вывести что-то вроде 3.18.1.1
- тогда ладно.
Создать файл idea-rename.sh
с содержанием ниже:
#!/usr/bin/env bash
FileDir="$1"
FileName="$2"
NewFileName="$(zenity --entry --title "Rename ${FileName}" --text "Please enter new name" --entry-text "${FileName}" --ok-label="Rename" 2>/dev/null)"
if [[ "${NewFileName}" != "" ]]; then
if [[ -f "${FileDir}/${FileName}" ]]; then
path="${FileDir}"
name="${NewFileName}"
if [[ "${NewFileName}" == *"/"* ]]; then
IFS='/' read -ra newDirs <<< "$NewFileName"
IFS='/' read -ra dirs <<< "$FileDir"
last=$((${#newDirs[@]} - 1))
path=""
name="${newDirs[$last]}"
unset 'newDirs[last]'
if [[ "${NewFileName}" == *"./"* ]]; then
for i in "${!newDirs[@]}"; do
dir="${newDirs[i]}"
if [[ "$dir" == ".." ]]; then
unset 'newDirs[i]'
j=$i
while [ $j -ge 0 ]; do
j=$(($j-1))
if [ $j -lt 0 ]; then
for (( k=${#dirs[@]}-1 ; k>=0 ; k-- )); do
if [[ "${dirs[k]}" ]]; then
echo 'dirs[k]'
unset 'dirs[k]'
break
fi
done
elif [[ "${newDirs[j]}" ]]; then
echo 'newDirs[j]'
unset 'newDirs[j]'
break
fi
done
elif [[ "$dir" == "." ]]; then
unset 'newDirs[i]'
fi
done
fi
for dir in "${dirs[@]}"; do
if [[ "$dir" ]]; then
path="${path}/${dir}"
if [[ ! -d "$path" ]]; then
mkdir -m 0777 "$path"
fi
fi
done
for dir in "${newDirs[@]}"; do
if [[ "$dir" ]]; then
path="${path}/${dir}"
if [[ ! -d "$path" ]]; then
mkdir -m 0777 "$path"
fi
fi
done
fi
if [[ ! -f "${FileDir}/${NewFileName}" ]]; then
mv "${FileDir}/${FileName}" "${path}/${name}"
fi
fi
fi
Открыть свой Settings
> Tools
> External Tools
, нажмите на
и заполните форму как ниже
Название: Rename
Группа: File
Программа: /bin/bash
Параметры: /path/to/idea-rename.sh $FileDir$ $FileName$
Рабочий каталог: $ProjectFileDir$
Нажмите Ok
, Apply
После этого вы можете увидеть новый пункт в вашем меню файлов
Когда вы нажимаете на rename
откроет диалог
После переименования в некоторых случаях phpstorm не синхронизирует файлы, поэтому в пути, где расположен ваш файл, нужно щелкнуть в меню "Синхронизировать путь".