如何在不重构PHPStorm 的情况下快速重命名文件名?即使在我刚刚创建文件之后,PHPStorm 也需要很长时间来搜索我的文件以了解其使用情况。
5 回答
我快速重命名文件的技巧是单击文件名并按Shift-F6。将打开一个对话框,您可以立即键入文件的新名称,然后按回车键以完成重命名。
我发现这种技术很直观,因为您不必将鼠标移动到对话窗口、键入新名称或单击任何内容进行确认。只要您所做的只是一个您知道是安全的重命名,您只需键入它即可。
我也喜欢这个功能,因为您仍然可以选择在更改之前快速预览更改。在那些情况下,当您重构可能对应用程序的其余部分产生影响的东西时,您仍然可以启用“搜索引用”和/或“搜索评论和字符串”来获取整个 enchilada。(我默认禁用这些选项。)
我同意你的观点,右键单击文件名,向下滚动到 Refactor,选择 Rename,然后输入新名称很麻烦,尤其是在启用安全检查的情况下。我发现 PhpStorm 开发人员似乎理解这些类型的问题,并且通常也想到了一种“更快的方法”来做事。
但是,如果不进行重构,您将无法做到Refactor
| Rename
通常非常快,您可以禁用搜索参考的选项。
默认为Shift-F6。对于不重构,请禁用弹出窗口中的复选框。
我想使用F2像 Windows 默认一样重命名文件。
您可以为F2创建快捷方式。去:
- 文件
- 设置
- 键盘映射
- 搜索“重命名”
- 双击“重构->重命名”
- 点击“键盘快捷键”
- 按 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 不同步文件,因此在文件所在的路径中需要单击文件菜单“同步'路径'”