はじめに
表題の通り、Atomを1.2.0にアップデートしたらremote-editで編集したいファイルを選んでも編集ペインが出てこなくなった。
何か情報がないかとIssueを見に行ってみたらすでに報告されている( Files are not displayed after successfully reading from remote server #143 )ようだ。
原因
TextEditorのコンストラクタの引数が変更されたために起きている。
実際に変更されているのはこのコミット(51abab9)で、エラーはこのコミット(95f0ff0)で追加されている。
通常であればAPIドキュメントにも載っているatom.workspace.open
あたりを利用すると良いのだが、残念ながらremote-editはTextEditorを継承して独自クラスとして拡張してしまっているのためコンストラクタの引数を最新のものに追随する必要がある。
対策
Issue内のコメントにもあるが、現状はバージョンを1.1.0に戻して自動アップデートが実行されないようにするしかないようだ。
試していないので動く保障はないが、remote-edit-editor.coffeeに定義されているRemoteEditEditorのコンストラクタを継承元のTextEditorと同じように変えてやれば恐らく動くはずである。
2015/11/17 Update
動作するかの確認はしていないが、この問題に対するPRがあるようだ。
2015/11/19 Update
上記のPRだと問題があったようで、再度PRされている。
修正内容を確認したが、テスト用だと思われるconsole.log
が残っているのは気になるものの、それ以外の部分は前のPRと比べてかなり綺麗に書き直されている。
2015/11/24 Update
開発者がなかなか対応できない状況なのか、未だに公式には対応されていない。
折角修正済みのPRが存在するのだからと、取り急ぎ上記PRを取り入れてみることにした。
試してみたところ当方の環境では正常に動作しているようだ。
以下、上記PRを無理やり当てる方法を記すが、こちらでは動作に関する責任を取りかねるので自己責任の範囲で利用してほしい。
1. diffファイルのダウンロード
GitHubのPRはURL末尾に「.diff」を付けるとUnified形式のdiffをダウンロードできる。
今回のPRだとhttps://github.com/sveale/remote-edit/pull/146.diffとなる。
2. ダウンロードしたdiffをpatchコマンドで適用する
シェルを開き、パッケージのディレクトリに移動し、patch
を用いて適用する。
$ cd /path/to/.atom/packages/remote-edit
$ patch -p1 < /path/to/146.diff
当方はWindows 7環境で利用しているが、MinGW/MSYSで最低限のシェル環境は整えているのでそちら由来のpatch
を利用している。
試してはいないが、WinMergeを利用してもパッチの適用は可能だと思われる。
3. 追加されたnpmモジュールをインストール
diffのpackage.jsonの部分を確認してもらえれば分かると思うが、tempモジュールが追加となっている。
手動でインストールしてやる必要があるため、npm
コマンドを用いてインストールした。
$ cd /path/to/.atom/packages/remote-edit
$ npm install temp
別にnpm install
でもnpm i
でも構わないが、依存パッケージのひとつであるkeytarはネイティブモジュールであるためビルド環境が必要となる。
Windowsの場合はVisualStudio、Macの場合はXCodeが入っていなければエラーが出るため注意していただきたい。
4. おもむろにCtrl + Alt + B
で接続先リストを開く
以上で差分の適用は終了なので、remote-editが正しく動作するかの確認を行う。
こちらの環境では初回のみ接続先リストの表示に待たされることとなったが、表示された後はいつも通り使うことができた。
2015/12/07 Update
2015/12/05付けでこのPRが取り込まれ、手を加えないでもremote-editが使用できるようになったようだ。
上記手順で手を加えた方でも何もせずにアップデートが出来る。