[Request] Плагин — дерево открытых файлов

Discuss and announce AkelPad plugins
  • Author
  • Message
Offline
Posts: 267
Joined: Mon Mar 12, 2007 3:45 pm

[Request] Плагин — дерево открытых файлов

Post by [Yustas.NeO] »

Приветствую всех!

Сможет кто-нибудь написать плагин (или скрипт?), отображающий список открытых файлов в виде дерева (сворачивающегося) ?

P.S. Желательно, с запоминанием места в дереве для уже однажды открытых файлов и настраиваемым контекстным меню.

Спасибо!
Last edited by [Yustas.NeO] on Tue Sep 25, 2018 9:44 am, edited 4 times in total.

Offline
Posts: 1161
Joined: Sun Oct 20, 2013 11:44 am

Post by Skif_off »

[Yustas.NeO]

Code: Select all

"Выбор окна..." Command(4327)
?

Offline
Posts: 2247
Joined: Tue Aug 07, 2007 2:03 pm
Location: Vinnitsa, Ukraine

Post by FeyFre »

[Yustas.NeO]
Дали бы сразу определение что такое дерево
как должны листья узлы корни формироваться
и т.д.
я пока какой-то необходимости не вижу таком подходе

DV
Offline
Posts: 1250
Joined: Thu Nov 16, 2006 11:53 am
Location: Kyiv, Ukraine

Post by DV »

Вот, кстати, почему в главном меню в подменю "Окно" отсутствует эта команда - "Диалог выбора окна" с горячей клавишей F10?
Ведь сейчас единственный способ узнать о её существовании - это наткнуться на неё в справке. (К слову, я узнал о ней из справки пару лет назад, а потом благополучно забыл, поскольку нигде больше она не фигурирует.)

Offline
Posts: 2247
Joined: Tue Aug 07, 2007 2:03 pm
Location: Vinnitsa, Ukraine

Post by FeyFre »

DV
Ну ради справедливости, на неё можно наткнуться также и HotKeys->All Keys. Полезнее доки оказалось... ибо там светится недокументированная фича - хоткеи которые себе скрипты доназначают(и плагины тоже).

ЗЫ: и по ходу дела выяснил что мой history.js крешит АР как собака бешенная

Offline
Posts: 1161
Joined: Sun Oct 20, 2013 11:44 am

Post by Skif_off »

DV
Она не отсутствует в меню по умолчанию:

Code: Select all

        SET(4)
            #Только для MDI
            MDIDOCUMENTS
        UNSET(4)
        SET(2)
            #Только для PMDI
            SEPARATOR1
            "Выбор окна..." Command(4327)
        UNSET(2)

А вообще, можно как-то получить список всех открытых файлов?

Offline
Posts: 267
Joined: Mon Mar 12, 2007 3:45 pm

Post by [Yustas.NeO] »

И узел и лист -- любой открытый в AkelPad файл.
Дерево формируется перетаскиванием одного узла на другой.
Запоминается в виде путь_к_файлу_2 является вложенным для путь_к_файлу_1 (относительное расположение вкладок на одном уровне еще стоит продумать). Если путь_к_файлу_1 еще не открыт -- открывать в корне дерева.

Как выглядит дерево, наверное не совсем принципиально, главное чтобы узлы можно было перетягивать и сворачивать, и было запоминание расположения.
Может выглядеть и как дерево в regedit, и как вкладки в расширении Tree Style Tab для FireFox (может кто знает).


Смысл примерно (но не ограничиваясь) следующий:
приходится держать много открытых файлов по разным тематикам, и горизонтальное расположение вкладок не очень удобно из-за того, что видно только пару десятков из них. Вертикальное расположение было бы гораздо удобнее (особенно если высота каждого заголовка не большая), а сворачивание и вложенность решит проблему с раскладыванием по темам.

Как-то так

Offline
Posts: 874
Joined: Sat Jan 16, 2010 2:03 pm

Post by opk44 »

[Yustas.NeO]
1. Не понятно, на каком основании один файл-"узел" должен подчинять другой файл-"лист".
2. Сама идея превратить AkelPad в некий "динамический аутлайнер" довольно интересная.

Offline
Posts: 176
Joined: Sat Dec 24, 2011 4:05 pm

Post by F. Phoenix »

Плюсану топику. Поддержка кастомных древовидных списков приблизит AkelPad к полноценным IDE, а конфигурацию деревьев наверняка удобно будет сохранять в XML, как это сделано в проектах Visual Studio.

Но предложу несколько другой вариант. Примерно такой:

Code: Select all

Группа файлов (виртуальная папка)
└┬─ Файл 1
 ├─ Файл 2
 ├─ Файл 3
 │  └─ Зависимый файл
 └─ Группа файлов
    └─ Файл

Offline
Posts: 267
Joined: Mon Mar 12, 2007 3:45 pm

Post by [Yustas.NeO] »

opk44 wrote:[Yustas.NeO]
1. Не понятно, на каком основании один файл-"узел" должен подчинять другой файл-"лист".
На основании перетягивания заголовка одного файла на заголовок другого.

F. Phoenix wrote:конфигурацию деревьев наверняка удобно будет сохранять в XML
XML или JSON — не принципиально. Важно, чтобы в настройках сохранялась информация о "месте расположения" файла даже для закрытых (можно в настройках для файла сохранять open="true/false")
F. Phoenix wrote:предложу несколько другой вариант. Примерно такой:

Code: Select all

Группа файлов (виртуальная папка)
└┬─ Файл 1
 ├─ Файл 2
 ├─ Файл 3
 │  └─ Зависимый файл
 └─ Группа файлов
    └─ Файл
Раньше почему-то я отмёл для себя вариант с "виртуальными папками", но пожалуй он мне снова нравится :) Главное, чтобы была неограниченная вложенность.

[Yustas.NeO] wrote:Запоминается в виде путь_к_файлу_2 является вложенным для путь_к_файлу_1. Если путь_к_файлу_1 еще не открыт — открывать в корне дерева.
Передумал: если путь_к_файлу_1 еще не открыт — открывать в вышеобозначенной "виртуальной папке", чтобы сохранилось дерево.

Offline
Posts: 176
Joined: Sat Dec 24, 2011 4:05 pm

Post by F. Phoenix »

[Yustas.NeO] wrote:Главное, чтобы была неограниченная вложенность
И поддержка путей относительно проектного файла.
Ну и желательно чтоб по клику на этом файле AkelPad открывался с прописанной конфигурацией файлов, без необходимости вручную запускать какие-либо дополнительные команды и скрипты.

Offline
Posts: 267
Joined: Mon Mar 12, 2007 3:45 pm

Post by [Yustas.NeO] »

F. Phoenix wrote:
[Yustas.NeO] wrote:Главное, чтобы была неограниченная вложенность
И поддержка путей относительно проектного файла.
Ну и желательно чтоб по клику на этом файле AkelPad открывался с прописанной конфигурацией файлов, без необходимости вручную запускать какие-либо дополнительные команды и скрипты.
Я имел ввиду только дерево открытых файлов. Хотя дерево проектов (в виде братского плагина) тоже неплохая мысль.

Offline
Posts: 3217
Joined: Wed Nov 29, 2006 1:19 pm
Location: Киев, Русь
Contact:

Post by VladSh »

Для дерева открытых файлов можно было бы заюзать:
- "Выбор окна..." (добавить галку для отображения в иерархическом виде с разбиением через слэш);
- Sessions-плагин (возможность отображения "проектов" уже имеется, т.е. допиливать много не придётся);
- Explorer-плагин (добавить галку и параметр для запуска "отображать только открытые").

Offline
Posts: 267
Joined: Mon Mar 12, 2007 3:45 pm

Post by [Yustas.NeO] »

Заглохла тема? :-(

Offline
Site Admin
Posts: 6311
Joined: Thu Jul 06, 2006 7:20 am

Post by Instructor »

Обращу ваше внимание как и VladSh на

Image
Post Reply