はじめに
SlackでUNCパスのリンクをクリックして直接ファイルが開けるようになるツール「Liwing」の紹介です。
例えば、\\servername\test.xlsx
というExcelファイルパスのリンクを Slack に投稿すると、そのリンクをクリックするだけで Excel を起動してそのファイルを開きます。
ツールの使い方
インストール方法
以下の GitHub ページの How to install と書かれれている所から LiwingSetup.msi というインストーラをダウンロードしてインストールしてください。C#で開発したWindows専用のツールです。
LiwingのGitHubページ
Slackにリンクを投稿する方法
例えば、\\servername\test.xlsx
のファイルパスのリンクを作成したい場合、そのファイルを選択して、エクスプローラーのコンテストメニューの [送る] - [Liwing] というメニューを実行します。
(Liwingをインストールすることで、[送る]メニューが追加されます)
上記を実行すると、クリップボードに lw://file/servername/test.xlsx
というカスタムURLスキームという技術を用いた形式のURLがコピーされます。
そのURLをSlackに投稿すると、下図のようにリンク形式で表示します。
対象のファイルを開く方法
上記の「lw:」から始まるリンクをクリックすると、下図のダイアログが表示されます。
ここで[リンクを開く]を選択すれば、対象のファイルを開きます。ファイルがxlsxの拡張子であれば、Excelを起動します(拡張子ごとの既定のアプリケーションで起動します)。
便利な使い方
チーム全員でLiwingをインストール
「lw:」から始まるカスタムURLスキームのリンクを開くためには、Liwingのインストールが必要です。
従って、ネットワーク上のUNCパスにファイルを格納しているチームの場合、チーム全員がLiwingをインストールしておくと便利です。
複数ファイルのURLをコピー
エクスプローラーで複数ファイルを選択して [送る] - [Liwing] メニューを実行すれば、複数ファイルのURLをクリップボードにコピーします。
htmlファイルに利用
Slackに貼り付けるだけでなく、htmlファイルのリンクにも利用できます。
通常はブラウザからUNCパスのファイルを直接開くことはできませんが、以下のようにLiwingでコピーしたURLをリンク先パスに書くことで、ブラウザからUNCパスのファイルを開くリンクを作成できます。
(例) <a href="lw://file/servername/test.xlsx">test.xlsx</a>
ローカルのファイルを開くリンクに利用
UNCパスだけでなく、ローカルのパス(C:ドライブなど)のリンクにも利用できます。
従って、GitHubのリポジトリをクローンするローカルのパスをチーム全員で統一すれば、Slackから対象ドキュメントを直接開くリンクが作成できます。
(例) チーム全員がLドライブに対象リポジトリをクローンしていた場合、以下のリンクで対象ファイルを開く
lw://file/L:/docs/DesignDocuments/FeatureDesign.md
ツールの実現に用いた技術
Windowsには、URI スキームという概念があり、特定のアプリはブラウザからでもリンクをクリックすることで起動できます。
さらに、上記をカスタマイズするために、カスタム URL スキーム という概念があり、それを用いることで任意のデスクトップアプリを起動できるようになります。
技術の詳細は以下の記事に記載しています。
ブラウザ上のリンクから任意のデスクトップアプリのファイルを開けると超便利
まとめ
SlackでUNCパスのリンクをクリックして直接ファイルが開けるようになるツールを紹介しました。
ちなみに私は、普段はエンジニアリングマネージャーとして、チームの皆で楽しく開発する施策を色々実施しています。詳しくは以下を参照ください。
1年以上かけて生産性倍増+成長し続けるチームになった施策を全部公開
Twitterでも開発に役立つ情報を発信しています → @kojimadev