PR

【Unityプラグイン】選択したファイル名を一括で取得する機能

選択ファイルのパスを一括コピー Unity

今回はUnityで複数選択しているアセットの名前をコピーしてテキストエディタなどでペーストしたいときがあると思うのですが、デフォルトでは利用できなかったので自作することにしました。

スプレッドシートなどにコピペするときに便利なのでぜひご活用ください。

プラグインについて

今回紹介するプラグインはUnityのProjectウィンドウで複数選択しているアセットのパスをコピペできるようにする機能です。

選択したファイルを一括コピペしたい

スプレッドシートやテキストとして引用するときに不便なんですよね…

 

ダウンロード

ダウンロードはこちら
[Unity]選択したファイル名を一覧取得するプラグイン

 

インストール方法

インストール方法はこちら

 

ソースコード

TedLab_SelectionEditor.cs

using UnityEngine;
using UnityEditor;
using System;
using System.IO;

namespace TedLab
{
    public class SelectionEditor
    {
        [MenuItem("TedLab/選択中アセット/パスをコピー")]
        static void OutputSelectionPath()
        {
            OutputSelectionImpl((path)=>{ return path; });
        }

        [MenuItem("TedLab/選択中アセット/ファイル名をコピー")]
        static void OutputSelectionFileName()
        {
            OutputSelectionImpl((path)=>{ return Path.GetFileName(path);});
        }

        [MenuItem("TedLab/選択中アセット/名前をコピー")]
        static void OutputSelectionName()
        {
            OutputSelectionImpl((path)=>{ return Path.GetFileNameWithoutExtension(path);});
        }

        static void OutputSelectionImpl(Func<string, string> output)
        {
            var assets = Selection.objects;
            var outputText = "";
            foreach(var asset in assets)
            {
                var path = AssetDatabase.GetAssetPath(asset);
                if( AssetDatabase.IsValidFolder(path) ){
                    continue;
                }
                if(!string.IsNullOrEmpty(outputText)){
                    outputText += Environment.NewLine;
                }
                outputText += output(path);
            }

            GUIUtility.systemCopyBuffer = outputText;
        }
    }

} // namespace TedLab

 

利用の流れ

使い方は簡単です。
メニューバーにある「TedLab→選択中アセット」を選択すると複数項目が出ます。

選択したファイルを一括コピペ

その項目をクリックすると選択したアセット数だけ項目に応じた処理が実行されます。
下記パスで例に出すとこのようになります。

例:Assets/Test/test.png

  • 「パスをコピー」・・・Assets/Test/test.png
  • 「ファイル名をコピー」・・・test.png
  • 「名前をコピー」・・・test

 

実際にコピペする

先程の項目をクリックしたあとにテキストエディタなどで
「Ctrl+V or Command+V」を入力するか右クリックしてペーストすると
上記ルールに従ってテキストをペーストされます。

選択したファイルを一括コピペした後

よく作業していて欲しくなる機能だったのでかなり便利です!

 

活動内容のPR

下記が本サイトでの活動内容となります。

他の開発動画を見る

 

最後に

いかがでしたでしょうか。

今回は一括で選択しているアセット名をコピペできる機能を公開してみました。
これでデータ名で事務作業するような時にひとつずつコピペするようなことはしなくても良さそうです。

簡単な機能ですが作ってみてよかった!

ぜひご活用ください。

 

本サイトではゲーム開発やUnity、英語学習や私自身が気になっていることを紹介するサイトです。もし興味がありましたら画面左下のベルマークから本サイトを購読していただけますと幸いです。

では本記事はここで終わりです。
ここまでお読みいいただきありがとうございました。

 

コメント

スポンサーリンク
Ads Blocker Image Powered by Code Help Pro

広告ブロッカーが検出されました

広告をブロックする拡張機能を使用していることがわかりました。これらの広告ブロックを無効にして、私たちをサポートしてください。

タイトルとURLをコピーしました