Como colocar permanentemente o TextEdit na lista de menus Abrir com…?

25

Sou desenvolvedor e frequentemente lido com tipos de arquivos incomuns. Se eu quiser abrir um desses arquivos no TextEdit, tenho que iniciá-lo primeiro e depois abrir o arquivo ou arrastar o arquivo para o ícone do TextEdit.

Existe uma maneira de colocar permanentemente o TextEdit.app na lista de menus Abrir com ..., independentemente do tipo de arquivo que estou procurando?

É claro que esse procedimento será útil para qualquer editor de texto que você escolher, se o TextEdit não for sua xícara de chá.

DrummerB
fonte
1
Eu também tenho esse desejo. Atualmente, mantenho o TextEdit no meu Dock, para que ele esteja sempre disponível para arrastar um arquivo.
GEdgar

Respostas:

19

A única maneira de fazer isso com todos os tipos de arquivo é criar um serviço no automator, o que realmente deve facilitar as coisas para você.

  1. Abra o Automator e selecione "Serviço".
  2. No menu suspenso "O serviço recebe selecionado ...", altere-o para ler "recebe arquivos e pastas selecionados em qualquer aplicativo "
  3. Selecione Utilitários no menu da biblioteca no painel esquerdo e clique duas vezes em "Executar script de shell"
  4. Altere o menu suspenso "Passar entrada" para "como argumentos"
  5. Exclua o script padrão e substitua pelo seguinte:

    if [ -f "$1" ] ; then
        open -a "TextEdit" "$1" ;
    fi
    

Salve este arquivo como quiser, como no menu contextual, algo como "Abrir com o Editor de texto" e pronto, agora você terá a opção de abrir qualquer arquivo com edição de texto.

Ele não será aberto com o menu, será um item separado no menu contextual, agrupado com outros serviços que você estiver executando.

Em uma nota lateral, se você estiver desenvolvendo em um Mac, deve realmente pensar em usar um editor de texto melhor, como TextMate ou TextWrangler ou Sublime Text, alguns deles ainda adicionam o serviço para que você possa fazer as coisas acima.

JamiePatt
fonte
1
+1 e, sim, o TextEdit não é um editor de texto sem formatação real - ele pode fazer isso, mas não possui nenhum recurso para facilitar, e preferiria editar o rich text.
NReilingh
Lindo! Seria ainda melhor se pudéssemos restringir isso para todos os arquivos em um formato de texto (incluindo o código fonte e outros)
William Jockusch
1
existe alguma maneira de fazê-lo aparecer no menu principal em vez de precisar procurar no menu de serviço? Ou, pelo menos para esconder itens não utilizados no menu de serviço ...
pqnet
@pqnet - você encontrou como fazer isso? Também estou procurando isso: apple.stackexchange.com/questions/206068/…
Chris Snow
7

Você pode adicionar tipos de arquivo suportados editando o Info.plist , mas não conheço nenhuma maneira de fazer isso para todos os tipos de arquivo. Adicionar UTIs como public.data ou public.item a um Info.plist ou com.apple.LaunchServices.plist não parece funcionar.

Usei o duti para tornar o TextMate o aplicativo padrão para diferentes tipos de texto sem formatação:

# plain text files without an extension
com.macromates.TextMate.preview public.plain-text all

# executable scripts
com.macromates.TextMate.preview public.unix-executable all

com.macromates.TextMate.preview .as all
com.macromates.TextMate.preview .ass all
com.macromates.TextMate.preview .bash all
com.macromates.TextMate.preview .bom all
com.macromates.TextMate.preview .c all
com.macromates.TextMate.preview .cfm all
com.macromates.TextMate.preview .cfml all
com.macromates.TextMate.preview .class all
com.macromates.TextMate.preview .coffee all
com.macromates.TextMate.preview .conf all
com.macromates.TextMate.preview .cpp all
com.macromates.TextMate.preview .css all
com.macromates.TextMate.preview .csv all
com.macromates.TextMate.preview .ctp all
com.macromates.TextMate.preview .dat all
com.macromates.TextMate.preview .data all
com.macromates.TextMate.preview .doc all
com.macromates.TextMate.preview .erb all
com.macromates.TextMate.preview .fields all
com.macromates.TextMate.preview .gemspec all
com.macromates.TextMate.preview .h all
com.macromates.TextMate.preview .haml all
com.macromates.TextMate.preview .hotkey all
com.macromates.TextMate.preview .hpp all
com.macromates.TextMate.preview .idx all
com.macromates.TextMate.preview .java all
com.macromates.TextMate.preview .js all
com.macromates.TextMate.preview .json all
com.macromates.TextMate.preview .keylayout all
com.macromates.TextMate.preview .kmlibrary all
com.macromates.TextMate.preview .less all
com.macromates.TextMate.preview .log all
com.macromates.TextMate.preview .m all
com.macromates.TextMate.preview .manifest all
com.macromates.TextMate.preview .md all
com.macromates.TextMate.preview .mm all
com.macromates.TextMate.preview .msass all
com.macromates.TextMate.preview .opml all
com.macromates.TextMate.preview .pg all
com.macromates.TextMate.preview .php all
com.macromates.TextMate.preview .pl all
com.macromates.TextMate.preview .plist all
com.macromates.TextMate.preview .plist all
com.macromates.TextMate.preview .py all
com.macromates.TextMate.preview .rb all
com.macromates.TextMate.preview .rd all
com.macromates.TextMate.preview .rdoc all
com.macromates.TextMate.preview .readme all
com.macromates.TextMate.preview .rhtml all
com.macromates.TextMate.preview .rst all
com.macromates.TextMate.preview .sb all
com.macromates.TextMate.preview .scss all
com.macromates.TextMate.preview .sh all
com.macromates.TextMate.preview .srt all
com.macromates.TextMate.preview .strings all
com.macromates.TextMate.preview .sub all
com.macromates.TextMate.preview .tex all
com.macromates.TextMate.preview .tsv all
com.macromates.TextMate.preview .utf all
com.macromates.TextMate.preview .xml all
com.macromates.TextMate.preview .yaml all

O duti não suporta apenas adicionar aplicativos para abrir com menus sem torná-los padrão.

Lri
fonte
2

Aqui está uma adaptação da resposta aceita do @ JamiePatt , usando a melhoria do user48595 , além de tornar o TextEdit o aplicativo padrão para abrir o arquivo antes de abri-lo. Isso significa que, no futuro, o arquivo poderá ser aberto da maneira comum.

  1. Verifique o código hexidecimal executando xattr -p com.apple.LaunchServices.OpenWith <file>, onde 'arquivo' é um arquivo que você definiu manualmente para abrir com o TextEdit.

  2. Abra o Automator e escolha o tipo "Serviço" para o seu documento.

  3. Na lista suspensa "O serviço recebe selecionado", selecione "arquivos ou pastas".

  4. Adicione a etapa "Utilitários -> Definir valor da variável". Você deve ver uma variável chamada "Armazenamento".

  5. Adicione a etapa "Utilitários -> Executar script de shell". No menu suspenso "passar entrada", selecione "como argumentos". Substitua o conteúdo do campo de texto pelo abaixo, certificando-se de que o código hexadecimal seja o mesmo que você obteve na primeira etapa.

    if [ -f "$1" ] ; then
        xattr -wx com.apple.LaunchServices.OpenWith "62 70 6C 69 73 74 30 30 D3 01 02 03 04 05 06 57 76 65 72 73 69 6F 6E 54 70 61 74 68 5F 10 10 62 75 6E 64 6C 65 69 64 65 6E 74 69 66 69 65 72 10 00 5F 10 1A 2F 41 70 70 6C 69 63 61 74 69 6F 6E 73 2F 54 65 78 74 45 64 69 74 2E 61 70 70 5F 10 12 63 6F 6D 2E 61 70 70 6C 65 2E 54 65 78 74 45 64 69 74 08 0F 17 1C 2F 31 4E 00 00 00 00 00 00 01 01 00 00 00 00 00 00 00 07 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 63" "$1";
        xattr -d com.apple.quarantine "$1" || true;
    fi
    
  6. Adicione a etapa "Utilitários -> Obter valor da variável". Você deve ver uma variável chamada "Armazenamento".

  7. Adicione a etapa "Arquivos e pastas -> Abrir itens do Finder". Em "Abrir com", selecione "TextEdit".

  8. Salve com um nome memorável, como TextEditify.

Na primeira vez em que você deseja abrir um documento que não seja do TextEdit, selecione TextEditify no menu do botão direito. Aberturas subsequentes podem acontecer da maneira normal.

Explicação do script:

O primeiro xattrcomando adiciona o atributo geralmente salvo se você selecionar "sempre abrir com" manualmente.

O segundo xattrcomando garante que isso funcione com os arquivos baixados da Internet.

yodie
fonte
1

Você pode criar um fluxo de trabalho do menu Serviço, como a influênciajamie descreve. No entanto, você pode simplesmente usar a opção 'Abrir itens do Finder' e adicionar o TextEdit como o aplicativo.

Há uma boa publicação sobre isso aqui , que explica como criar o fluxo de trabalho com mais detalhes.

user48595
fonte
1
As respostas no Ask Different precisam ser mais do que apenas um link. Não há problema em incluir um link, mas faça um resumo ou trecho da resposta. A idéia é tornar a resposta independente.
nohillside
0
  1. Abra o aplicativo Automator

  2. Clique New Document

  3. Escolher Service

    insira a descrição da imagem aqui

  4. Mude Services receives selectedpara "arquivos ou pastas"

    insira a descrição da imagem aqui

  5. Procure o Action"Abrir itens do Finder" e arraste-o para o espaço do fluxo de trabalho

    gif

  6. Mude Open with:para "TextEdit" ou qualquer aplicativo que você desejar (eu prefiro "Código do Visual Studio")

  7. Salve seu serviço com algo lógico, como "Abrir com o TextEdit" se você escolher o TextEdit.

Agora você pode clicar com o botão direito do mouse em qualquer item do Finder e escolher Services-> Open with TextEdit!

Obrigado a user48595 e o link postado em sua resposta: http://www.mactricksandtips.com/2013/05/add-open-with-textedit-or-any-other-app-to-right-click-menu-item .html

spacetyper
fonte
-3

Basta usar a opção "-e" para abrir com o TextEdit: abra -e yourfile.whatever e ele será aberto no TextEdit.

Psy
fonte