34369
Atomでファイルを同時に開いた時に、デフォルトで2ウィンドウの横並びになるようにするにはどうすればいいですか？
CC BY-SA 3.0
2017-04-28T07:25:48.697
34348
2017-04-29T03:58:53.837
2017-04-28T07:37:45.517
19110
12297
question
atom-editor
Atomでファイルを同時に開いた時に、デフォルトで2ウィンドウの横並びになるようにするにはどうすればいいですか？
コマンドを自作してみました。Ubuntu 上の Atom 1.16.0 で動作確認しました。

メニューバーの "Edit" → "Init Script" などから `init.coffee` を開いて以下のスクリプトを書きます。

```

    _pickFile = () ->
      # https://discuss.atom.io/t/pick-file-like-atom-pickfolder/20815
      remote = require('electron').remote
      remote.dialog.showOpenDialog remote.getCurrentWindow(),
        properties: ['openFile', 'multiSelections']
    
    atom.commands.add 'atom-workspace',
      'user:open-two-files': (event) =>
        files = _pickFile()
        if files?.length isnt 2
          atom.notifications.addError "user:open-two-files: Not select two files"
          return
        atom.workspace.open files[0]
        atom.workspace.open files[1],
          split: 'right'
        return
    
```

`keymap.cson`などにキーコンフィグを書いておけば使えるようになります。

```

    'atom-workspace':
      'ctrl-2 ctrl-o': 'user:open-two-files'
    
```

それなりに限定的なコマンドなので、使いやすいように改造して頂ければと思います（正直ファイルが3つ以上になってくると面倒なので、手でペーンを整理するのが一番速そうだと私は思いますが……）。

  * リファレンス 
    * [CommandRegistry](https://atom.io/docs/api/v1.16.0/CommandRegistry)
    * [Workspace::open](https://atom.io/docs/api/v1.16.0/Workspace#instance-open)
    * [dialog.showOpenDialog](https://electron.atom.io/docs/api/dialog/#dialogshowopendialogbrowserwindow-options-callback)
CC BY-SA 3.0
2017-04-29T03:58:53.837
34369
2017-04-29T03:58:53.837
19110
34348
answer