Skip to content

Перегляд файлів

Peach Commander має вбудований переглядач, що дає змогу зазирнути всередину файлу без відкриття іншого застосунку чи зміни файлу. Натисніть F3 на елементі під курсором, і переглядач відкриється миттєво, навіть для дуже великих файлів. Він автоматично обирає найкращий спосіб показати вміст: читабельний текст, код із кольоровим синтаксисом, сирий шістнадцятковий дамп або зображення в повний розмір. Ви також можете попередньо переглянути файл прямо у вікні за допомогою Quick View або передати його до macOS Quick Look.

Перегляд файлу

  1. Перемістіть курсор на файл в активній панелі.
  2. Натисніть F3 (або виберіть Переглянути в меню Файл). Переглядач відкривається у власному вікні.
  3. Скористайтеся панеллю інструментів, щоб перемкнути спосіб показу вмісту: Текст, Код, Hex, Зображення або Відрендерене. Залиште автоматичний режим, щоб дати Peach Commander вирішити.
  4. Прокручуйте клавішами зі стрілками, Page Up/Page Down і смугою прокручування. Для довгого тексту увімкніть кнопку мінімапи, щоб бачити весь файл і швидко переходити ним.
  5. Натисніть N, щоб перейти до наступного позначеного файлу, або закрийте вікно клавішею Esc.

Вбудований переглядач, що показує текстовий файл із мінімапою праворуч (Ілюстрація: Перегляд текстового файлу з перемикачем подання та мінімапою на панелі інструментів.)

Пошук тексту та зміна кодування

  • Натисніть Ctrl+F, щоб виконати пошук усередині файлу. Натисніть F3, щоб перейти до наступного збігу, і Shift+F3 — до попереднього.
  • Якщо текст виглядає спотвореним, клацніть Кодування на панелі інструментів (або натисніть E), щоб перебирати текстові кодування, доки він не читатиметься правильно; автоматичний режим зазвичай визначає його правильно.
  • Натисніть W, щоб перемкнути перенесення слів для довгих рядків.

Нотатки до рядка

Якщо встановлено модуль «Нотатки», нотатка може стосуватися певного рядка файлу, а не файлу загалом.

  • Поставте курсор на рядок і виберіть Вигляд ▸ Нотатка до цього рядка… (Cmd+Shift+N). Редактор нотаток відкриється з іменем файлу та номером рядка в заголовку.
  • Рядки, до яких нотатка вже є, з'являються групою Нотатки на панелі позначок унизу вікна, поряд із результатами пошуку. Cmd+Ctrl+M відкриває панель; подвійний клац на записі переходить до рядка.
  • Самі нотатки зберігаються разом з усіма іншими, тож огляд нотаток і «Пошук файлів» знаходять їх так само. Вилучають їх у редакторі нотаток — кнопка закриття на панелі лише ховає групу.

Quick View та Quick Look

Quick View показує живий попередній перегляд у панелі, якою ви не користуєтеся, тож ви можете й далі переглядати з одного боку, попередньо переглядаючи з іншого.

  1. Натисніть Ctrl+Q. Неактивна панель перетворюється на область попереднього перегляду.
  2. Переміщуйте курсор по різних файлах в активній панелі, щоб попередньо переглянути кожен.
  3. Натисніть Ctrl+Q знову або Esc, щоб повернути панелі звичайний список файлів.

Для швидкого повноекранного попереднього перегляду, який опрацьовує сама macOS, натисніть Cmd+Y (Quick Look). Натисніть Cmd+Y або Space ще раз, щоб закрити його.

Сторінка відомостей у бічній панелі

У бічній панелі (Вигляд > Панель попереднього перегляду, або Cmd+Shift+P) є сторінка Інформація, яка показує об’єкт під курсором так само, як бічна панель відомостей у Finder.

  • Попередній перегляд займає всю ширину панелі: розширте панель — і перегляд зросте разом із нею. Потягніть за лівий край панелі, щоб зробити її ширшою або вужчою; ширина запам’ятовується.
  • Це справжній перегляд macOS, а не маленька мініатюра: працює будь-який формат, який уміє показувати «Швидкий перегляд», а багатосторінковий документ гортається сторінка за сторінкою просто в перегляді.
  • Нижче — ім’я, тип і розмір, далі коли об’єкт створено та змінено і в якій він теці.

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

Декомпіляція файлів .class мови Java

З увімкненим додатком Java Decompiler клавіша F3 на файлі .class показує читабельний код замість двійкових даних — зокрема для класів усередині архіву JAR або ZIP, до якого можна увійти й читати його без розпакування.

Сам додаток декомпілятора не містить. Він керує рушієм, який ви встановлюєте, і рушій можна замінити будь-коли:

  • CFR (ліцензія MIT) та Vineflower (Apache 2.0) видають вихідний код Java. Покладіть cfr.jar або vineflower.jar до теки рушіїв.
  • Procyon (Apache 2.0) — третій декомпілятор у вихідний код.
  • javap не потребує жодного завантаження: він входить до будь-якого JDK і показує байт-код замість вихідного коду Java.

Нічого не завантажується за вас: це сторонні програми з власними ліцензіями, і Peach Commander їх не звантажує та не оновлює. Кнопка Тека рушіїв… у переглядачі відкриває теку, куди вони належать, і залишає там нотатку з назвою кожного рушія та місцем завантаження. Усім, окрім javap, потрібна встановлена Java.

Рушій перемикається меню вгорі переглядача; вибраний застосовується одразу, а результат зберігається, тож порівняти два рушії на тому самому файлі можна миттєво.

Вихідний код підсвічується, а дві кнопки ведуть далі: «Зберегти як…» записує його у файл, а «Відкрити в редакторі» передає тому, що відкриває .java на вашому Mac. Дуже великий результат показується без підсвічування, щоб з’явитися одразу, а не після паузи; рядок стану про це повідомляє.

Результати кешуються на диску, тож повторне відкриття вже переглянутого файлу відбувається миттєво; ключ містить розмір і дату файлу та аргументи рушія, тому перезібраний клас або змінений прапорець декомпілюється заново. Вибраний рушій запам’ятовується для кожного виду файлів. Профіль може успадкувати вбудований рушій через extends = cfr і перевизначити лише прапорці — зручно, коли ви тримаєте дві передустановки того самого рушія.

Увімкніть «Порівняти», щоб відкрити другу панель із власним меню рушія. Два декомпілятори помиляються в різних місцях, тож побачити їх поруч часто швидше, ніж вирішувати, якому вірити; вибравши javap з одного боку, ви отримаєте байт-код поруч із джерелом. Обидві панелі мають спільний кеш, тому перемикання між уже запущеними рушіями миттєве.

F3 на цілому .jar, .apk чи .dex декомпілює все відразу й показує дерево пакетів поруч із джерелом. Поле пошуку над деревом шукає в кожному класі — саме те питання, на яке один клас відповісти не може: де рядок, виклик або стала справді трапляється, коли ще невідомо, у якому класі. Збіги звужують дерево, а перший відкривається на своєму рядку. За Enter JAR і далі відкривається як архів — ці дві дії залишаються окремими.

Є другий, прямiший шлях: поставте курсор на файл .class або на цілий архів і виберіть «Декомпілювати у джерела» (меню «Команди», контекстне меню або ⌘⇧J). Класи декомпілюються, а результат відкриється в іншій панелі звичайними файлами .java. Далі працює весь файловий менеджер: F3 показує їх із власним підсвічуванням Java, Alt+F7 шукає по них, F5 копіює їх назовні, а порівнювати й позначати їх можна як будь-що інше. Для більшості роботи це краще за окреме вікно — тому дерево плагіна можна вимкнути в «Параметри ▸ Декомпілятор».

Другий плагін робить те саме для .NET: F3 на керованій .dll, .exe чи .winmd показує її типи як C#, «Декомпілювати збірку у джерела» (⌘⇧N) кладе їх у панель, а пошук уміє зазирати всередину збірки так само. Він керує ILSpy (MIT, dotnet tool install -g ilspycmd) для джерельного коду або monodis із Mono для IL — це .NET-аналог javap. Нативна .dll має те саме розширення й жодного джерела, тому плагін перевіряє це перед відкриттям і залишає її вбудованому переглядачу.

На сторінці параметрів є кнопка «Перевірити рушії», і її варто натиснути: «встановлено» в інших місцях означає лише, що файл на диску, а рушій для Java на Mac без JDK присутній і працювати не може. Перевірка запитує в кожного рушія його версію і повідомляє, які справді працюють.

Android теж охоплено: F3 на файлі .dex використовує jadx (Apache 2.0, brew install jadx), який перетворює байт-код Dalvik назад у Java. Для цього вистачило одного опису рушія — той самий механізм, інший формат.

Додаток вимкнено, доки ви його не увімкнете, у Налаштування ▸ Додатки — більшість ніколи не відкриває файл .class, а без рушія він марний.

Щоб додати власний рушій, створіть decompilers.ini у теці рушіїв:

[myengine]
name   = My Decompiler
kinds  = class
tool   = java
args    = -jar {engine} {input}
engine  = my-decompiler.jar   ; a bare name is looked up in this folder
output  = stdout
timeout = 30                  ; seconds before the engine is stopped

{input}, {engine} та {outdir} підставляються під час запуску. Ваші записи мають перевагу над вбудованими, а повторне використання вбудованої назви (cfr, vineflower, procyon, javap) замінює її, а не додає другий запис.

Комбінації клавіш

Дія Комбінація
Переглянути файл під курсором F3
Переглянути лише файл під курсором (ігнорувати позначені файли) Shift+F3
Відкрити в зовнішньому переглядачі Option+F3
Знайти в переглядачі Ctrl+F
Нотатка до рядка під курсором Cmd+Shift+N
Показати або сховати панель позначок Cmd+Ctrl+M
Наступний / попередній збіг F3 / Shift+F3
Quick View в іншій панелі Ctrl+Q
Quick Look (попередній перегляд macOS) Cmd+Y
Закрити переглядач або Quick View Esc

Примітки

  • Переглядач працює лише для читання. Щоб змінити файл, скористайтеся натомість редактором (див. Редагування файлів).
  • Дуже великі файли відкриваються без затримки: текст відкриває швидкий, прокручуваний вигляд, а шістнадцятковий вигляд транслюється прямо з диска за будь-якого розміру.
  • Натисніть F3 на теці, щоб побачити зведення її вмісту та загальний розмір замість байтів файлу.
  • Режим Відрендерене показує форматований вміст, як-от вебсторінки; шістнадцятковий режим показує сирі байти поряд з їхніми символами, що зручно для інспектування двійкових файлів.
  • У режимі «Відтворено» текст можна виділяти й копіювати, а «Знайти» шукає у відтвореній сторінці. Кнопки, які до відтвореної сторінки незастосовні — «Формат», «Кодування», «Виділити все», «Виділення» та «Перейти» — стають неактивними, а не бездіють.
  • Кнопка «Формат» наново розставляє відступи у структурованих файлах (JSON, XML, HTML, INI, YAML та інші, якщо встановлено відповідний інструмент командного рядка). Повністю описана в розділі Редагування файлів і працює тут так само.