sakura-editor / sakura

SAKURA Editor (Japanese text editor for MS Windows)
https://sakura-editor.github.io/
Other
1.25k stars 163 forks source link

インストーラで拡張子の関連づけをするか検討する #562

Closed m-tmatma closed 5 years ago

m-tmatma commented 6 years ago

インストーラで拡張子の関連づけをするか検討する

アーカイバなどでは圧縮ファイルの関連づけをするのが一般的、他のエディタでも関連づけは していると思う。

技術情報

ds14050 commented 6 years ago

最近の Windows アプリは OS の設定を開いて関連付けを任せるのが標準ではありませんか? IrfanView というソフトの関連づけ画面を開くと、こういう注意と [CPLを開く] ボタンが脇に置かれていました。

注) Win 10 の関連付けで警告が表示される場合はコントロールパネルから関連付けを行ってください。

できるならやって悪いことはありませんが、RealPlayer やらなんやらのソフトがユーザー置いてけぼりのまま関連付けを奪い合い、悪名を轟かせていた時代の反省から、もう方向転換が始まっているのかな、と。てっきり関連付けの設定は保護されているものだと思っていました。

KENCHjp commented 6 years ago

私はほぼインストーラーを使わないこともあり皆様の総意で方向付けしていただいてかまわないのですが、個人的な意見ですが、インストーラーで拡張子関連付けはしてほしくないなというのが思いです。

例えば、サクラエディタ形式みたいなアプリ固有のファイルがあってそれに関連付けするのはエチケットな気がしますけど、いろんなソフトが触る対象のtxtとか、関連付けしたい人が別途個別に関連付けしてくれればいいかなと。 例えば.logとか.cとかに関連付けして、サクラエディタアンインストールしたら誰に戻すんだろうとかインストーラーで考えたくないし。

m-tmatma commented 6 years ago

勝手に関連づけするのではなく、チェックボックスでユーザーが明示的に指定するのを想定してます。 デフォルトでは関連づけは触らない想定です。 ただアンインストール時にどうしたらいいのかは、適切な処理はわからないです。

KENCHjp commented 6 years ago

勝手に関連づけするのではなく、チェックボックスでユーザーが明示的に指定するのを想定してます。

私もそのつもりで書いておりました、勝手に関連付けはそれこそやってはいけないかと思います。

KENCHjp commented 6 years ago

の前提で、さて、何に関連付けますか? .txtはまぁ対象としても、他はサポートしてるものを全部候補に出します? テキスト(.txt,.log)以外ってほぼほぼ言語系ですよね。言語系って各々別に優先つけたいものがほとんどのような。

.kwdとか.colはまだわからなくもないですが、

KENCHjp commented 6 years ago

Windows10対応って観点だと「設定」-「アプリ」-「既定のアプリ」の下の方に出てる「アプリごとに既定値を設定する」を押した画面に出せればインストーラとかで実装しなくてもいいのかなって思いもちょっとあります。

先日Brackets入れたのですが、そこでおそらくアプリがいじることのできる対象の拡張子一覧が並んでて自分で関連付けできるようです。 Bracketsがjsonとかjspとか関連付けている男前感(笑)

ds14050 commented 6 years ago

ただアンインストール時にどうしたらいいのかは、適切な処理はわからないです。

知っているひとつの方法は、.ext.txt などの拡張子と関連付いたキーから、SakuraText などの独自のキーへの参照を設定し、SakuraText という独自のキーに以前の参照(txtfile など、キーの名前)を保存しておくものです。shell/open/command などのキーもここに作成します。そしてアンインストール時に戻します。

しかしサクラエディタが関連付けを握っているあいだに、ユーザーが他のコマンドをテキストファイルに追加していた場合、必然的にそれはSakuraText キーへの追加になりますから、参照を元に戻したり SakuraText キーを削除する行為は望まれないものになります。

KENCHjp commented 6 years ago

E〇Editor -> 秀〇Editor -> サクラエディタとインストールして、秀〇をアンインストールした後に、サクラエディタをアンインストールしたらどうすればいいのか考えると夜も眠れません。。。

m-tmatma commented 6 years ago

インストールの時に関連づけをするのかユーザーに 確認するのなら、アンインストール時もユーザーに確認するのでいいかも

berryzplus commented 6 years ago

関連付け設定をユーザが確認できるようにするのは賛成です。

別件ですが、いまサクラエディタって「既定のプログラム」一覧に表示されない気がするんですよ。 秀○は表示されてるのに、サクラエディタは表示されてないっていう・・・ あ、ぼくの勘違いかも知れませんけど :cry:

KageShiron commented 6 years ago

個人的には設定画面に関連付けボタンを用意しとくのが好きですね

berryzplus commented 6 years ago

ご存じかも知れませんがサクラエディタ本体にも関連付け機能はあります。

2018-10-20 5

このチェックボックスの活性条件は、右クリックメニュー登録済み、だったはず。

ds14050 commented 6 years ago

関連付けが済んでいる前提で、それを既定のアクション(太字になるやつ)にするという機能に見えます。

KENCHjp commented 6 years ago

Windwos10から(?)、関連付けの仕様が変わったみたいで、今回KBの不具合で、サクラエディタに拡張子関連付け出来ないってのが散見されます。 関連付けするしないにかかわらず、レジストリにProgIDの登録が必要そう? https://www.glamenv-septzen.net/view/14#idf5215e この方法で、自分で作った拡張子にサクラエディタ関連付け出来ました。

なぜか炎上気味。。。 https://answers.microsoft.com/ja-jp/windows/forum/all/%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB%E3%81%AE/671efad5-bdfd-4034-be13-152525f83989 https://answers.microsoft.com/ja-jp/windows/forum/all/windows/d949680a-0787-47d4-8b31-65aba911ccf4

berryzplus commented 6 years ago

なぜか炎上気味。。。

俗にいう「サクラエディタおじさん」ですね。

関連付けするしないにかかわらず、レジストリにProgIDの登録が必要そう?

雰囲気的にはそんな感じだと思います。 progID(=ActiveX連携用のCOM ID)が必要かどうかまでは分かりません。 少なくとも「既知のプログラム」のレジストリにサクラエディタを追加すべきなのかな。 セキュリティ的に「既知のプログラム」じゃないものを「既定のプログラム」にできるのは変なので。

ぼく自身 windows10 では常に右クリック→「SAKURAで開く」なので、実用上困っていません。 困っていたら、いつ何をどのように変えたかについて「何故だ!」の追求をしそうです。 掲示板を見てる限り、そのあたり押さえてない印象を持ちました。

KENCHjp commented 6 years ago

>ぼく自身 windows10 では常に右クリック→「SAKURAで開く」なので、実用上困っていません。

私も、ファイルをエンターでサクラエディタに関連付けしないので(デスクトップにショートカットを置いてるのと、お気に入りのファイラーに関連付けていてエクスプローラーをそもそもほとんど使ってない)実害無いんですが、.txtとか.logとかに関連つけようとする人は多そうなので、インストーラーでやれるお作法なにがしかやっておいた方がいいのかなと。 ま、現場ではexeをぽつんと置いて使うので、exeにドラッグドロップして使いますが(笑)

あっちの掲示板は近づかない方がよさそうです。

m-tmatma commented 6 years ago

関連付けするしないにかかわらず、レジストリにProgIDの登録が必要そう?

596 で ProgID の追加を行って、ユーザーが自分で関連付けを変えられるようにしました。

m-tmatma commented 6 years ago

596 で枠組みを入れました。

残件

arigayas commented 6 years ago

GitHubとかのReadme.mdに使われている .md も関連付け出来るようにして欲しいです。

m-tmatma commented 6 years ago

sakura.ini で szTypeExts= で grep して見つかる拡張子をベースに検討したらいいと思う。

m-tmatma commented 6 years ago

599 で HTML ヘルプに足してみました。

m-tmatma commented 6 years ago

GitHubとかのReadme.mdに使われている .md も関連付け出来るようにして欲しいです。

602 を投げました。

arigayas commented 6 years ago

@m-tmatma さん、ありがとうございます!

KENCHjp commented 5 years ago

Windows10の拡張子関連付けの前にリンクしたページで、また関連付けの仕様が変わるかもって話がでてたので、参考リンク。

https://answers.microsoft.com/ja-jp/windows/forum/all/windows/d949680a-0787-47d4-8b31-65aba911ccf4?page=4

KENCHjp commented 5 years ago

1809(11/4版)のWindows10だと拡張子関連付けちゃんと動くらしいです。

m-tmatma commented 5 years ago

他に拡張子追加したいときはまた別チケットで。