Как быстро переименовать имя файла без рефакторинга в PHPStorm? Даже после того, как я только что создал файл, PHPStorm занимает много времени, чтобы искать мои файлы для его использования.
Переименовать файл в PHPStorm без рефакторинга
Ответ 1
Моя техника для переименования файлов быстро - это однократное нажатие имени файла и нажмите Shift-F6. Откроется диалоговое окно, и вы можете сразу ввести новое имя файла и нажать return/enter для завершения переименования.
Я нахожу этот метод интуитивным, потому что вы не вынуждены перемещать указатель мыши в диалоговое окно, вводить новое имя или нажимать что-либо для подтверждения. Пока все, что вы делаете, это переименование, которое, как вы знаете, безопасно, просто введите его и перейдите.
Мне также нравится эта функция, потому что у вас все еще есть возможность быстро просмотреть изменения до их создания. И в тех случаях, когда вы реорганизуете что-то с возможными последствиями для остальной части вашего приложения, вы можете включить "Поиск ссылок" и/или "Поиск в комментариях и строках", чтобы получить всю энчиладу. (По умолчанию эти параметры отключены.)
Я согласен с вами в том, что щелкнуть правой кнопкой мыши имя файла, прокрутить до Refactor, выбрать "Переименовать", а затем ввести новое имя громоздко, особенно если безопасные проверки включены. Я обнаружил, что разработчики PhpStorm, похоже, понимают эти типы проблем и обычно думают о "более быстром способе", чтобы делать вещи.
Ответ 2
Вы не можете сделать это без рефакторинга, хотя Refactor
| Rename
обычно очень быстрый, и вы можете отключить параметры поиска ссылок.
Ответ 3
Значение по умолчанию Shift-F6. Для не рефакторинга отключите флажки во всплывающем окне.
Я хотел использовать F2 для переименования файлов, таких как Windows по умолчанию.
Вы можете создать ярлык для F2. Перейдите к:
- Файл
- Настройки
- Раскладка
- Поиск "переименовать"
- Doubleclick "Refactor → Rename"
- Нажмите "Ярлык клавиатуры"
- Нажмите F2
- Ok
ИЗМЕНИТЬ
Если это не сработает немедленно, перезапустите PHPStorm.
Ответ 4
Это будет работать для пользователей 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 не синхронизирует файлы, поэтому в пути, где расположен ваш файл, нужно щелкнуть в меню файла "Синхронизировать путь"