6

私は Atom エディターのカスタマイズを始めたばかりで、Tree View:Toggle のキー マッピングを変更しようとして途方に暮れています。

これをユーザーの keycap.cson ファイルに入れます。

'.editor': 'ctrl-t': 'Tree View:Toggle'

しかし、うまくいきません。

Preferences->Keybindings を見ると、期待どおりにリストされていることがわかります。

ctrl-t Tree View:Toggle User .editor

私は何を間違えましたか?

アップデート:

変更:

'.editor': 'ctrl-t': 'tree-view:toggle'

問題を解決しませんでした。

Key Binding Resolver は、コマンドが認識されたことを示していますが、ツリー ビューを切り替えませんでした。このスクリーンショットを参照してください。

http://cl.ly/image/3A2X1p350v2Q

これについて他に考えはありますか?

4

3 に答える 3

7

私は同じ問題を経験しました!私は自分のショートカットを使用する必要がありましたが、atom のキーバインドはラテン語の QWERTY キーボードとは異なるため、お尻の痛みでした。

問題:

ウィンドウにCtrl-Alt-\ Atom のキーバインドはCtrl-Alt-]と入力すると

または、'@'が必要な場合はCtrl-Alt-qを入力する必要がありますが、Atom のキーバインドは代わりにこの'autoflow:reflow-selection'を実行します。

解決:

1._ [設定] -> [キーバインド]に移動します。そこに移動したら、検索バーで、変更するキーバインドを見つけます。たとえば、Ctrl-Alt-qを変更したい場合は、Qと入力すると、この文字ですべてのキーバインドがフィルター処理されます。

2._次に、変更するには、変更するキーバインドの横にあるコピーと貼り付けの小さなアイコンをクリックします。キーストローク列にあります。(必要なコード行をコピーして、変更できるようにします)

3._ キーバインドをコピーしたら、[ファイル] - > [キーマップを開く] に移動すると、keymap.cson ファイルを含むタブが開きます。カーソルを最後に置き、ステップ 2 でコピーした行をそこに貼り付けます。次のように表示されます。

'.platform-win32 .editor, .platform-linux .editor':
  'ctrl-alt-q': 'autoflow:reflow-selection'

4._ アトムの動作を変更できます。「autoflow:reflow-selection」を消去して「unset!」と書きます。アロバが見えるように。

'.platform-win32 .editor, .platform-linux .editor':
  'ctrl-alt-q': 'unset!'

アトム エディタでCtrl-Alt-qと入力すると、ついにアロバが表示されます。'unset!'と書く代わりに、何か他のことをしたい場合は、やりたいことは何でも入れるだけです。

注: アトムのキーバインドを知りたい場合は、それらの一部を変更できるようにするには、キーバインド リゾルバーを使用し、Packages->Keybinding Resolver->Toggleに移動します。

ここでは、ラテン語キーボードで Atom エディターを使用するために、keymap.cson で行った変更を投稿します。

'atom-workspace atom-text-editor:not([mini])':
  "ctrl-alt-[": "unset!",
  "ctrl-alt-]": "unset!",
  'ctrl-/': 'unset!'
  'ctrl-7': 'editor:toggle-line-comments'
  'ctrl-alt-8': 'tree-view:recursive-collapse-directory'
  'ctrl-alt-8': 'editor:fold-current-row'
  'ctrl-alt-9': 'editor:unfold-current-row'
'.platform-win32 .editor, .platform-linux .editor':
  'ctrl-alt-q': 'unset!'
'.platform-win32 .find-and-replace, .platform-linux .find-and-replace':
  'ctrl-alt-/': 'unset!'
  'ctrl-alt-7': 'find-and-replace:toggle-regex-option'
'.platform-win32 .project-find, .platform-linux .project-find':
  'ctrl-alt-/': 'unset!'
  'ctrl-alt-7': 'project-find:toggle-regex-option'

乾杯!

于 2015-01-16T20:08:28.367 に答える
4

これは簡単に修正できます。コマンド名の形式が正しくありません。次のようになります。

'.editor':
  'ctrl-t': 'tree-view:toggle'

今後、期待どおりに動作しない場合は、動作していることがわかっている既存のオープン ソース パッケージを調べて、不一致を見つけられるかどうかを確認してください。たとえば、ツリー ビューのキーマップ ファイルに移動しtree-view.csonて、どのようにフォーマットされているかを確認できます。


さらなる改善

定義したキーバインドはエディターに関連付けられているため、ツリー ビューにフォーカスがある場合、キーバインドがトリガーされないことに気付くかもしれません。繰り返しますが、上記のファイルを見ると、これを改善する方法がわかります。キーバインディングをプラットフォーム.platform-darwin(または適切なもの) に関連付けて、エディターのどの要素がフォーカスされていてもトリガーされるようにします。

'.platform-darwin':
  'ctrl-t': 'tree-view:toggle'

もちろん、これは別の問題を提起します。これで、エディターがフォーカスeditor:transposeされると、より具体的な CSS クラス (つまり.editor) により、 の既存のキーバインドが優先されます。したがって、エディタがフォーカスされている場合、ツリー ビューは切り替えられません。これを修正する最も簡単な方法は、エディターのキーバインドも追加することです。

'.platform-darwin':
  'ctrl-t': 'tree-view:toggle'

'.editor':
  'ctrl-t': 'tree-view:toggle'

これで、エディターまたはツリー ビューのどちらがフォーカスされているかは問題になりませんが、それでもトグルはトリガーされます。


最終的な考え

キーバインドをいじる際のもう 1 つのアドバイスは、Keybinding Resolverを利用することです。で開くことができますcmd-.。これを実行して押してみるctrl-tと、追加したキーバインドが表示されます (緑色で強調表示されています)。また、キーバインドが別のキーバインドを禁止していることにも気付くでしょうeditor:transpose。別のキーバインドの使用を検討してください。

Atom の優れた点はカスタマイズ性です。ただし、カスタマイズのトレードオフを理解していることを確認してください。

于 2014-04-02T21:36:43.767 に答える