web-dev-qa-db-ja.com

リファクタリングせずにPHPStormでファイルの名前を変更する

PHPStormでファイル名の名前をすばやく変更するにはどうすればよいですかリファクタリングなしで?ファイルを作成した直後でも、PHPStormはファイルの使用状況を検索するのに長い時間がかかります。

24
PHPst

ファイルの名前をすばやく変更するための私のテクニックは、ファイル名をシングルクリックしてShift-F6を押すことです。ダイアログが開き、すぐにファイルの新しい名前を入力し、return/enterを押して名前の変更を完了することができます。

このテクニックは直感的だと思います。しないでくださいマウスをダイアログウィンドウに移動するか、新しい名前を入力するか、何かをクリックして確認する必要があるからです。安全であることがわかっている名前の変更だけを行っている限り、それを入力して実行するだけです。

変更が行われる前にすばやくプレビューするオプションがまだあるので、この機能も気に入っています。また、アプリの他の部分に影響を与える可能性のあるものをリファクタリングしている場合でも、「参照の検索」や「コメントと文字列の検索」を有効にして、エンチラーダ全体を取得できます。 (これらのオプションはデフォルトで無効になっています。)

特にセーフチェックが有効になっている場合は、ファイル名を右クリックし、[リファクタリング]まで下にスクロールして、[名前の変更]を選択し、新しい名前を入力するのが面倒であることに同意します。 PhpStormの開発者はこれらのタイプの問題を理解しているようで、通常は「より速い方法」で物事を行うことも考えているようです。

28
cantera

Refactor |ただし、リファクタリングなしでそれを行うことはできません。 Renameは通常非常に高速であり、参照を検索するオプションを無効にすることができます。

11
CrazyCoder

デフォルトはShift-F6です。リファクタリングしない場合は、ポップアップのチェックボックスを無効にします。

Windowsのデフォルトのようにファイル名を変更するためにF2を使用したかった。

F2のショートカットを作成できます。移動:

  1. ファイル
  2. 設定
  3. キーマップ
  4. 「名前の変更」を検索
  5. 「リファクタリング->名前の変更」をダブルクリックします
  6. 「キーボードショートカット」をクリックします
  7. F2を押します
  8. Ok

[〜#〜]編集[〜#〜]

すぐに機能しない場合は、PHPStormを再起動してください。

5
Fabian Picone

これは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を開き、 add button
そして以下のようにフォームに記入してください

Adding tool

名前:Rename
グループ:File
プログラム:/bin/bash
パラメータ:/path/to/idea-rename.sh $FileDir$ $FileName$
作業ディレクトリ:$ProjectFileDir$

OkApplyをクリックします
その後、ファイルメニューに新しいアイテムが表示されます

Menu

renameをクリックすると、ダイアログが開きます

Rename dialog

名前を変更した後、phpstormがファイルを同期しない場合があるため、ファイルが配置されているパスで、ファイルメニューの[同期]パスをクリックする必要があります。

Synchronize path menu

0
Andrey Izman

利用可能なオプションもあります。ファイルを右クリックして[エクスプローラーに表示]を選択し、WindowsエクスプローラーでF2でファイルの名前を変更します。プロジェクト内の他のファイルをリファクタリングしたり、影響を与えたりすることはありません。

0
Ahmed Memon