Unlimited WordPress themes, graphics, videos & courses! Unlimited asset downloads! From $16.50/m
Advertisement
  1. Computer Skills
  2. File Manager
Computers

fman: Розширюваний файловий менеджр для будь-якої системи 

by
Difficulty:IntermediateLength:LongLanguages:

Ukrainian (українська мова) translation by Григорий В (you can also view the original English article)

Будучи розробником, я постійно користуюся файловим менеджером. Мені часто хочеться розширити файловий менеджер, для полегшення автоматизації моїх завдань. На жаль, стандартні файлові менеджери на більшості систем, часто дуже обмежені. 

fman File Manager
Файловий менеджер fman 

Файловий менеджер fman повністю змінює гру. fman це мінімалістичний двохпанельний файл-менеджер. Розширюваний за подобою Sublime Text, використовуючи Python.  За замовчуванням він використовує ті ж поєднання клавіш, що і Commander One і інші схожі файлові менеджери. Ви можете використовувати його на macOS, Windows, і Linux

Станом на лютий 2017, fman все ещë в закритій беті і кожен може запросити доступ. Автор планує почати продажі до 1-го березня 2017. 

Міць переходів 

Однією з унікальних особливостей fman є міць переходу. Коли ви натискаєте Command-P, fman запитує назву каталогу. 

Power Go To
Міць переходу 

fman шукає збіги. Якщо у вас багато каталогів зі словом fman - ви побачите шляху на всі каталоги, що містять це слово. Це дозволяє досить просто знайти потрібний каталог. 

Власні параметри 

Якщо вам не подобається стандартне поєднання клавіш, ви можете змінити з каталогу User, в якому знаходяться плагіни. На macOS каталог з плагінами знаходиться ~/Library/Application Support/fman/Plugins/

На Windows, каталог плагінів знаходиться %APPDATA%\fman. В системі Linux, він знаходиться ~/.config/fman.

Папка User в каталозі плагінів містить файл Key Bindings.json. Цей JSON-файл містить ваші налаштування для «гарячих клавіш». Формат файлу такий:

У цьому файлі, ви визначаєте при натисканні яких клавіш, виконується бажана команда. Я використовую цей файл, щоб зрозуміти які команди є в цій програмі.

The Command Prompt
Командний рядок 

Натисніть Shift-Command-P в fman для відображення командного рядка, в якій виконуються команди. Командний рядок відображає гарячі клавіші призначені на команду. 

Щоб використовувати команду в командному рядку, замість підкреслення набирайте пробіл. Наприклад, команда show_volumes запускається при наборі в командному рядку show volumes

Ви можете запустити команду будь-якого розширення з командного рядка. Ця функція зручна і дуже допомагає. 

Додавання розширення 

У fman можна додавати розширення. На сторінці розширень на сайті fman'а, натисніть будь-яке розширення. щоб завантажити його. Потім повністю скопіюйте папку розширення в каталог plugins.

fman With Status Bar Extender Plugin
fman з плагіном Status Bar Extender 

Завантаживши розширення Status Bar Extender, статус бар буде містити більше корисної інформації про поточний каталозі для кожної панелі. 

Розширення змінюють поведінку fman

Наприклад, моє розширення OpenWithEditor переопределяет внутрішню команду open_with_editor

Внутрішня команда відкриває файл в програмі за умовчанням для цього типу файлу. Моє додаток переопределяет цю команду, щоб файл відкривався в редакторі, обраному в моєму BitBar плагін currentFiles.1h.rb, створеному в Керівництво по BitBar на Tuts+

Пишемо доповнення

Щоб створити додаток, спочатку створіть для нього папку в каталозі плагінів. 

У цьому уроці, я хочу створити додаток, яке дозволить мені призначати каталог як каталогу проекту і запускати скрипт, як тільки я заходжу в цей каталог, коли інший проект встановлений як поточний. 

Таким чином, коли я покидаю каталог одного проекту, з яким я працював і переходжу в інший каталог, воно буде запускати скрипт для настройки оточення середовища. Я буду створювати це додаток на macOS, але точно таке ж додаток буде працювати і в Windows і на Linux з невеликими змінами. 

Для початку створіть папку ProjectManager в каталозі плагінів. Потім створіть іншу папку в цій папці, з назвою projectmanager. Назва цього каталогу має бути в нижньому регістрі і без пробілів. 

У цій папці створіть файл __init__.py. У цій папці можуть бути і інші файли, що містять код на мові python. Коли додаток завантажується, насамперед виповнюється цей файл. Тому він повинен завантажувати інші файли, при необхідності. 

Додайте в цей файл наступне:

Цей код підвантажує бібліотеки, які використовуються в цьому додатку. Я витягаю деякі функції з бібліотеки fman. Ось вони: 

Бібліотека або функція
Опис 
DirectoryPaneCommand 
Це об'єкт для підкласу для створення команди на рівні каталогу. 
DirectoryPaneListener  Це об'єкт для підкласу для створення функції, яка буде прослуховувати зміни на панелі каталогу. 
show_alert 
Ця функція покаже застережливий діалог із заданим повідомленням. 
load_json 
Це завантажує дані json-файлу з каталогу User. 
DATA_DIRECTORY 
Це каталог для зберігання даних fman. 
show_prompt 
Це отримує від користувача вхідні дані з заданим повідомленням. 

Ви можете знайти всі доступні функції на сторінці документації fman. На даний момент, це список назви функцій і їх ввідні дані за замовчуванням. 

Після завантаження бібліотек, налаштовуємо дві глобальні змінні: PROJECTDIR і PROJESTSLIST

Ці глобальні змінні допомагають швидко запустити функцію перевірки каталогу. Це важливо при написанні підпрограми, яка виконується кожен раз при зміні каталогу в fman.

Клас SetProjectDirectory це підклас DirectoryPaneCommand. Метод __call__ викликається кожен раз, коли запускається set_project_directory

Ця функція отримує шлях поточного каталогу, і призначає його в якості поточного проекту, запитує у користувача назва проекту, зберігає його в файл списку проектів, створює файл .startproject, і відкриває його в редакторі за вибором від розширення OpenWithEditor або TextEdit

Наступна команда це ClearProjectDirectory. Ця команда очищує файл ~/.currentproject

Команда EditProjectStartScript дозволяє вам редагувати скрипт .startproject для поточного проекту. 

Вам не обов'язково знаходиться в головному каталозі проекту, щоб запустити цю команду, але проект повинен бути налаштований правильно.

Команда EnteringProjectDirectory це головна команда цього доповнення. Всі інші команди змушують цю команду працювати.

Так як це підклас DirectoryPaneListener, він запускається кожного разу пріізмененіі каталогів. З цієї причини, ця процедура повинні бути настільки короткою і швидкою, наскільки можливо. В іншому випадку, fman буде дуже громіздкий у використанні. 

Ця команда перевіряє зайшли ви в каталог проекту. Якщо так, вона перевіряє чи відрізняється це від проекту, встановленого поточним. І якщо це так, тоді він налаштовує каталог нового проекту і запускає скрипт проекту .startproject

Щоб це протестувати, я додав цей код в файл .startproject

Воно використовує програму Pashua для відображення календаря і годин. Це робить швидку візуальну перевірку, щоб перевірити чи працює ця програма. 

Наступний пункт - призначення «гарячої клавіші» цим доповненням. У кореневій каталог цього доповнення додайте файл Key Bindings.json

Кожному доповненню можна призначити «гарячі клавіші». Він завантажується перед завантаженням такого ж файлу з доповнення Users

Таким чином, користувач може перевизначити що завгодно, налаштоване в доповненні. Я призначаю Shift-S на команду set_project_directory.  Призначаю Shift-C на команду clear_project_directory. І Shift-E на команду edit_project_start_script

Якщо ви встановили каталог ProjectManager як каталогу проекту, даємо йому назву Project Manager, при виході з цього каталогу, очищаємо проекти з Shift-C або запустивши clear_project_directory в командному рядку, а потім знову заходимо в каталог. 

Executing the Test Script for Project Manager
Виконання тестового скрипта для Project Manager 

Ви побачите віконце Pashua, що показує дату і час. Тепер ви можете створити початковий скрипт, який запустить текстовий редактор для файлів проекту і розташує вікна на екрані для зручності роботи. 

Я використовую HammerSpoon для створення макетів вікон з скрипта. Ви також можете запустити «наглядача» за каталогом, для пересборки вашого проекту і завантаження його в веб-браузер. 

Можливості безмежні. 

Висновок

Тепер, коли ви знаєте як створювати додатки для fman, ви можете створити свій власний.

Існує багато способів, якими ви можете розширити функціональність цього простого доповнення. Використовувати fman дуже забавно, а також його дуже легко доповнити, щоб отримати бажану функціональність.

Advertisement
Advertisement
Advertisement
Advertisement
Looking for something to help kick start your next project?
Envato Market has a range of items for sale to help get you started.