Поведение «Извлечение...» в меню Finder «Открыть с помощью» в Yosemite

Я не знаю, заметили ли это другие люди в Йосемити:

Когда файл в Finder находится в фокусе, когда вы перемещаете курсор на запись «Открыть с помощью», будь то из контекстного меню или строки меню -> Файл, появляется подзапись «Выборка ...».

Finder Щелкните правой кнопкой мыши, чтобы открыть с получением снимка экрана

Через мгновение появляются обычные подозреваемые, как и в предыдущих версиях OS X.

Finder Щелкните правой кнопкой мыши, чтобы открыть с помощью скриншота FETCHED

Такое поведение, я полагаю, должно быть улучшением. Поскольку /Application/***.app/Contents/Info.plist извлекается в реальном времени, пользователю больше не нужно сбрасывать LaunchServices для отображения соответствующих изменений. Это мое предположение.

Однако это вызывает у меня проблему. Я создаю сочетание клавиш через applescript или BetterTouchTool, чтобы вызвать строку меню -> Файл -> Открыть с помощью -> Определенное приложение.

Таким образом, я запрограммировал FN+SHIFT+1 для открытия файла с помощью TextMate, FN+SHIFT+2 для Writer Pro и т. д.

1) необходимость наведения курсора на «Открыть с помощью» для запуска выборки и 2) задержка при выборке приводит к тому, что мои сценарии недействительны.

Я смог проверить эту теорию следующим образом: 1) щелкнуть правой кнопкой мыши файл, 1) навести указатель мыши на запись «Открыть с помощью», 3) дождаться загрузки подменю, 4) щелкнуть за пределами контекстного меню, чтобы оно исчезло, 5) и вызвать сочетание клавиш.

И ярлык сработал.

Итак, это мои вопросы:

1) Очевидно, могу ли я вернуться к поведению до Yosemite?

2) Есть ли у кого-нибудь умные способы открыть тип файла с несколькими приложениями по запросу чисто и эффективно?

ОБНОВИТЬ:

Пока что у меня есть один обходной путь — создать службу Automator. Вот пример с TextMate:

Оказание услуг

Я могу запустить это без промедления через 1) Menubar -> Finder -> Services -> Open With TextMate, 2) верхний уровень контекстного меню или 3) сочетание клавиш, если я захочу.

Контекстное меню

Это связано с двумя оговорками:

1) Элементы, получаемые службой, должны иметь самое широкое определение, например, файлы и папки . Например, Finder не распознает файлы .plist как документы. Если вы настроите службу только на получение документов , Open With TextMate не будет отображаться, когда вы захотите использовать ее в файле .plist .

2) Из-за (1) этот пункт меню отображается для каждого элемента в Finder. Это достаточно безобидно, если есть только одна или две пользовательские записи. Если их шесть или семь, эта группа элементов займет контекстное меню.

Я тоже это понимаю, но для меня требуется больше времени, чтобы открыть список, иногда это просто не происходит. Я использую Mac mini конца 2012 года с 16 ГБ оперативной памяти, поэтому его не должно быть так сложно запустить!
Как вы заставили его появиться в меню верхнего уровня, а не только в подменю «Сервисы»?
@Noah, когда в меню «Службы» всего несколько пунктов, оно отображается так, без подменю, я думаю.

Ответы (3)

У меня была аналогичная проблема, и «Извлечение...» занимало много секунд. Я просто сбросил Launch Services с помощью следующей команды:

/System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/LaunchServices.framework/Versions/A/Support/lsregister -kill -seed -r -f -v -domain local -domain user -domain system
вроде работает ;)
Это устранило задержку (иногда ~ 1 минуту) между «Выборкой...» и отображением полезного списка для меня.
Это исправило это и для меня. До этого исправления, когда в конечном итоге извлекался список, выбор «Другое ...» был бы невероятно медленным и лагающим, из-за чего мой процессор работал на 70% для процесса поиска.
Да, это исправляет... но оно возвращается через несколько дней. Это не постоянное решение
Сработал первый выстрел... Я даже не думал об этом! ха! Я думал, что это был новый материал Adobe, который я установил: P
Кажется, перезапуск в безопасном режиме очищает несколько вещей, которые могут исправить это для последующих перезапусков — если это кому-то поможет: обсуждения.apple.com /thread/3865350?start=0&tstart=0
При этом я получаю много ошибок -43, -10811. Это на El Capitan (не могу обновить свой компьютер до более новой версии, но, по крайней мере, он новее, чем Yosemite).

После того, как все уладилось (индексирование в центре внимания завершено, несколько перезагрузок с использованием разных имен пользователей), все улеглось, и задержка «выборки» исчезла, а всплывающее меню открывается менее чем за 2 секунды. Но некоторые условия (например, монтирование новых дисков), по-видимому, снова увеличивают задержку.

Сброс служб запуска из первого комментария работает, если задержка увеличивается ( /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/LaunchServices.framework/Versions/A/Support/lsregister -kill -seed -r -f -v -domain local -domain user -domain system). Пока команда выполняется, вы можете видеть в консоли

LaunchServices: начать заполнение базы данных"

и

"... Завершено заполнение базы данных"

Иногда на сброс/восстановление уходит целая минута! Также есть несколько сообщений об ошибках в окне терминала при выполнении команды (например, регистрация версии сообщества приложения Livecode).

Помещение команды сброса запуска служб в что-то вроде Lingon и запуск ее время от времени может быть способом, пока Apple не исправит задержку в каком-то будущем обновлении.

Я заметил это, когда у меня был подключен диск Time Machine, который некоторое время не использовался. Если диск спит, и я щелкаю правой кнопкой мыши, я вижу «Извлечение» в контекстном меню. Затем я слышу, как жесткий диск просыпается, вращается в течение секунды, и меню «Открыть с помощью» наконец заполняется.

Когда у меня не подключен внешний диск, я не вижу этого поведения.