Is there a command in Xcode 4.2 to swap two views

2019-03-09 05:23发布

问题:

I would like to quickly swap two views from one side to the other and wonder if there is a hotkey for this functionality?

回答1:

Single Assistant Editor

This can be done in two steps. You can start with the cursor in either the Primary or the Assistant editor.

Step 1:

, - Open in Assistant / Primary Editor

It opens the current file (where the cursor is) in Primary Editor if you are in Assistant Editor and vice versa. You end up with two exact same files open.

Step 2:

^` - Move Focus to Next Editor (available since Xcode 8, in older version use J)

^ - Go Back (and open the result) in Primary / Assistant Editor

This opens the previous file of the other editor in the first one.

Idea: It might be even possible to assign a custom shortcut to it using the technique used in Xcode duplicate line. I have not gone so far.

Multiple Assistant Editors

If you are using multiple assistant editors, you can use graphical navigation chooser to choose the destination of each action. You can start in any editor and you can even swap the content of two assistant editors this way.

, - Open in... and choose the second editor
J - Move Focus to Editor... and choose the second editor (or use ^` multiple times)
^ - Go Back in... and choose the first editor



回答2:

There is a very easy way to do this. In the assistant editor, there is a bar at the top that shows the path of the file in the editor. Drag that file's icon into the same bar in the main editor.

Boom! swapped.

Keep in mind, that you need to be set up this way to pull this off:

  • Have the "Assistant Editor" selected
  • The Assistant Editor needs to be set to Automatic or "Counterparts" for the swap to work.

Here are the keyboard shortcuts to do the swap:

ctrl + command + up

or

ctrl + command + down



回答3:

You can open active document in any other editor by pressing

,


I would use it like this:

Suppose we have two editors E1 and E2

  1. Choose E1
  2. Press ,
  3. In graphical navigation chooser choose E2

    Original content of E1 now opened both in E1 and E2

  4. click the back arrow of E2 (or just press )
  5. In graphical navigation chooser choose E1

Congratulations, you've swapped content of two editors