Перегляд файлів
Peach Commander має вбудований переглядач, що дає змогу зазирнути всередину файлу без відкриття іншого застосунку чи зміни файлу. Натисніть F3 на елементі під курсором, і переглядач відкриється миттєво, навіть для дуже великих файлів. Він автоматично обирає найкращий спосіб показати вміст: читабельний текст, код із кольоровим синтаксисом, сирий шістнадцятковий дамп або зображення в повний розмір. Ви також можете попередньо переглянути файл прямо у вікні за допомогою Quick View або передати його до macOS Quick Look.
Перегляд файлу¶
- Перемістіть курсор на файл в активній панелі.
- Натисніть F3 (або виберіть Переглянути в меню Файл). Переглядач відкривається у власному вікні.
- Скористайтеся панеллю інструментів, щоб перемкнути спосіб показу вмісту: Текст, Код, Hex, Зображення або Відрендерене. Залиште автоматичний режим, щоб дати Peach Commander вирішити.
- Прокручуйте клавішами зі стрілками, Page Up/Page Down і смугою прокручування. Для довгого тексту увімкніть кнопку мінімапи, щоб бачити весь файл і швидко переходити ним.
- Натисніть N, щоб перейти до наступного позначеного файлу, або закрийте вікно клавішею Esc.
(Ілюстрація: Перегляд текстового файлу з перемикачем подання та мінімапою на панелі інструментів.)
Пошук тексту та зміна кодування¶
- Натисніть Ctrl+F, щоб виконати пошук усередині файлу. Натисніть F3, щоб перейти до наступного збігу, і Shift+F3 — до попереднього.
- Якщо текст виглядає спотвореним, клацніть Кодування на панелі інструментів (або натисніть E), щоб перебирати текстові кодування, доки він не читатиметься правильно; автоматичний режим зазвичай визначає його правильно.
- Натисніть W, щоб перемкнути перенесення слів для довгих рядків.
Нотатки до рядка¶
Якщо встановлено модуль «Нотатки», нотатка може стосуватися певного рядка файлу, а не файлу загалом.
- Поставте курсор на рядок і виберіть Вигляд ▸ Нотатка до цього рядка… (Cmd+Shift+N). Редактор нотаток відкриється з іменем файлу та номером рядка в заголовку.
- Рядки, до яких нотатка вже є, з'являються групою Нотатки на панелі позначок унизу вікна, поряд із результатами пошуку. Cmd+Ctrl+M відкриває панель; подвійний клац на записі переходить до рядка.
- Самі нотатки зберігаються разом з усіма іншими, тож огляд нотаток і «Пошук файлів» знаходять їх так само. Вилучають їх у редакторі нотаток — кнопка закриття на панелі лише ховає групу.
Quick View та Quick Look¶
Quick View показує живий попередній перегляд у панелі, якою ви не користуєтеся, тож ви можете й далі переглядати з одного боку, попередньо переглядаючи з іншого.
- Натисніть Ctrl+Q. Неактивна панель перетворюється на область попереднього перегляду.
- Переміщуйте курсор по різних файлах в активній панелі, щоб попередньо переглянути кожен.
- Натисніть 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 та інші, якщо встановлено відповідний інструмент командного рядка). Повністю описана в розділі Редагування файлів і працює тут так само.