AppleScriptから簡単なアプリを作成する方法!


5

ターミナルを使用してtest.txt、vim などのファイルを開くために使用するapplescriptがあります。

通常、ファイルを右クリックしてサービスを選択することでファイルを開きますopen in vim(このサービスは私が作成し、基本的にapplescriptを実行します)。

ファイルの「開く」オプションで設定できる実際のプログラムをビルドするにはどうすればよいですか?

このようにして、をダブルクリックするtest.txtと、applescriptが実行され、terminal.appのvimでファイルが開かれます。

また、このアプリを使用して開いたすべてのファイルに適用されるカスタムアイコンを作成したいと思います([すべてを変更...]ボタンを使用)。

どこから始めますか?私はプログラミングが大好きで、これを行うために必要なすべてを知るために多くを費やしますが、これは簡単です。

コードは次のとおりです。

on open this_item

    tell application "System Events"
        if (count (processes whose name is "Terminal")) is 0 then
            tell application "Terminal"
                activate
                do script with command "vim " & (POSIX path of this_item) in front window
            end tell
        else
            tell application "Terminal"
                activate
                tell application "System Events" to tell process "Terminal" to keystroke "t" using command down
                do script with command "vim " & (POSIX path of this_item) in selected tab of the front window
            end tell
        end if
    end tell

end open

回答:


6

/Applications/Utilitiesフォルダにある組み込みのAppleScript Editorを使用します。次にFile>Save As、ファイル形式として「アプリケーション」を選択します。次に、開くファイルの種類を選択するには、ファイルを選択して右クリックし、[情報を見る]を選択します。展開Open With:]タブをし、あなたのAppleScriptアプリケーションを選択し、変更すべてをクリックしてください。


これはうまくいきません(私が試したと信じています)。これらの手順を実行した後にファイルを開くと、それらは次の場所で開かれますApplescript Editor
romeovs

ここにコードを貼り付けると、何ができるかがわかります。

0

Applescriptエディターでアプリケーションを構築しないことから、2つの明らかな選択肢が思い浮かびます。

1つは、AutomatorとRun Applescriptアクションを使用することです。Automatorで必要な結果を得るためにスクリプトをいじる必要があるかもしれませんが、可能であれば、ワークフローのオプションをさらに開くことができます。

もう1つのオプションは、XcodeでCocoa-Applesciptアプリケーションを作成することです(以前はApplescript Studioと呼ばれていました)。このオプションの使用方法については十分に文書化されていませんが、詳細についてはこちらを ご覧ください 。ドキュメントがないために、少し難しい学習曲線になることもありますが、この方法を使用してApplescriptで作成した場合、アプリケーションがどれほど優れているかは驚くべきことです。


実際、オートマトンアプリは正常に機能します。今必要なのは、特定の拡張子(たとえば.tex)のすべてのファイルのアイコンを変更する方法だけです。
ロメオフス

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.