変更履歴

Eagle Plugin API 変更履歴、最初のPlugin APIバージョン以降のすべての重要な機能変更を記録しています。

2025年8月21日

💻 App API 強化

新機能:app.userDataPath プロパティ (Eagle 4.0 build12+)

  • app.userDataPath プロパティを追加、現在のユーザーデータディレクトリのパスを返します

  • Eagleのユーザーデータ保存場所への迅速なアクセスを提供

console.log(eagle.app.userDataPath);
// "C:\Users\User\AppData\Roaming\Eagle"

2025年8月19日

📁 Folder API 強化

新機能:フォルダ parent プロパティが変更可能に (Eagle 4.0 build12+)

  • folder.parent プロパティの変更サポートを追加、フォルダ階層の動的調整が可能

  • フォルダを異なる親ディレクトリやルートディレクトリに移動することをサポート

// 別の親フォルダに移動
folder.parent = 'parent_folder_id';
await folder.save();

// ルートディレクトリに移動  
folder.parent = null;
await folder.save();

新機能:フォルダ iconColor プロパティが変更可能に (Eagle 4.0 build12+)

  • folder.iconColor プロパティを読み取り専用から変更可能に変更

  • eagle.folder.IconColor 静的定数オブジェクトを追加、事前定義された色オプションを提供

  • サポートされる色:Red、Orange、Yellow、Green、Aqua、Blue、Purple、Pink

folder.iconColor = eagle.folder.IconColor.Blue;
await folder.save();

2025年8月13日

🏷️ Tag API 機能拡張

新機能:タグフィルタリングとTag クラス強化

  • eagle.tag.get() メソッドに name パラメータを追加、タグ名による曖昧検索をサポート

  • Tag インスタンスに save() メソッドを追加、タグ名の変更をサポート

  • Tag インスタンスプロパティを追加:name(変更可能)、countcolorgroupspinyin

// タグをフィルタリング
const filteredTags = await eagle.tag.get({ name: "design" });

// タグ名を変更  
tag.name = 'new-name';
await tag.save();

⚠️ 注意:タグ名を変更すると、そのタグを使用しているすべてのファイルが自動的に更新されます

2025年8月5日

📄 Item API パフォーマンスと選択機能の大幅強化

新機能:パフォーマンス最適化

  • eagle.item.get()fields パラメータを追加、選択的フィールド返却をサポートし、クエリパフォーマンスを大幅改善

  • eagle.item.getIdsWithModifiedAt() メソッドを追加、増分同期用に最適化

  • modifiedAt プロパティを追加、ファイルの最終変更時刻を記録

// 必要なフィールドのみを返却
let items = await eagle.item.get({
    tags: ["Design"],
    fields: ["id", "name", "tags", "modifiedAt"]
});

// 効率的な増分同期
let fileInfo = await eagle.item.getIdsWithModifiedAt();

新機能:カウントと選択メソッド

let count = await eagle.item.count({ isSelected: true });
await eagle.item.select(['ITEM_ID_1', 'ITEM_ID_2']);

機能強化:open() メソッド

  • eagle.item.open()window オプションを追加、新しいウィンドウでファイルを開くことをサポート

await eagle.item.open('item_id', { window: true });

2025年7月31日

🪟 Window API 拡張

新機能:ウィンドウ幾何制御

await eagle.window.getSize();
await eagle.window.setBounds({ x: 440, y: 225, width: 800, height: 600 });
await eagle.window.getBounds();

2024年11月28日

🏷️ TagGroup CRUD操作

新機能:完全なタググループ管理

// タググループを作成
await eagle.tagGroup.create({
    name: "new group",
    color: "red", 
    tags: ["tag1", "tag2"]
});

// 変更と保存
tagGroup.name = "new name";
await tagGroup.save();

// グループを削除
await tagGroup.remove();

🗑️ Item 削除機能

新機能:ファイルゴミ箱操作

  • item.moveToTrash() インスタンスメソッドを追加、ファイルをシステムゴミ箱に移動

let item = await eagle.item.getById('item_id');
await item.moveToTrash();

2024年7月25日

🪟 Window API 強化

新機能:HTTP Referer 設定

eagle.window.setReferer("https://example.com");

2024年5月10日

🖱️ Context Menu API

新機能:カスタムコンテキストメニュー

  • eagle.contextMenu.open() メソッドを追加、カスタムコンテキストメニューをサポート

  • 多層サブメニュー、カスタムクリックイベント、システムネイティブスタイルをサポート

eagle.contextMenu.open([
    {
        id: "edit",
        label: "編集",
        submenu: [...],
        click: () => { ... }
    }
]);

🪟 Window API スクリーンショット機能

新機能:ページスクリーンショット

  • eagle.window.capturePage(rect) メソッドを追加、フルページまたは指定領域のスクリーンショットをサポート

  • NativeImageオブジェクトを返却、base64またはPNGバッファに変換可能

// フルページスクリーンショット
const image = await eagle.window.capturePage();

// 指定領域スクリーンショット
const image2 = await eagle.window.capturePage({ 
    x: 0, y: 0, width: 100, height: 50 
});

2024年4月17日

🔍 プレビュープラグイン機能強化

新機能:ズーム制御パラメータ

  • プレビュープラグイン設定に allowZoom パラメータを追加、ユーザーがプレビューコンテンツをズームできるかどうかを制御

"thumbnail": {
    "path": "thumbnail/icns.js",
    "size": 400,
    "allowZoom": false
}

最終更新