Reputation: 10116
The Playground in Xcode automatically updates as you type, but I can't figure out how to get the Playground to "re-compile".
In many cases this wouldn't matter, but if you're writing code that generates or uses random values it can be useful to run it a few times to make sure it's working. Is there any way to get the playground to reset / refresh / re-run?
Seen a few questions asking how to stop the Playground from auto-updating, but nothing for the opposite.
Easiest way to do this seems to be to just edit the code (add and remove a space), or put in some kind of a loop... Just wondering if there's a menu shortcut etc.
Upvotes: 64
Views: 36801
Reputation: 305
in Xcode 10, just use command(⌘) + shift(⬆︎) + Enter(↲)
update: This solution works in Xcode 15 as well.
Upvotes: 12
Reputation: 3495
As in Xcode version 10.2 the "Execute Playground" command in the "Editor" menu has been replaced by "Run Playground" and has a shortcut by default ⌘
+ SHIFT
+ ENTER
The reason why it doesn't refresh when you enter the same command again, is because Playground is already running. You first need to stop the Playground by either clicking on the stop button or entering your own shortcut as I did.
To do so go in
Xcode > Preferences > Key Binding
and look for "Stop Playground".
Add the shortcut you would like to use clicking in the empty field on the right. I entered:
⌘
+SHIFT
+ >
In this way you can use the default shortcut to run the playground and you use the custom shortcut to stop it. Once stopped you can run it again.
Here in the menu:
Upvotes: 9
Reputation: 371
Also, you can create your shortcuts.
Xcode > Preferences > Key Binding > (Search Execute Playground)
It is empty as a default, but you can assign anything.
Xcode 11 > Preferences > Key Binding > (Run Playground)
Upvotes: 37
Reputation: 4353
In Xcode 10.1 there is a "Run Playground" command in the "Editor" menu which can be accessed via the following keyboard shortcut:
Command + Shift + Enter
Upvotes: 27
Reputation: 51911
Try Editor
> Execute Playground
from Xcode menu
I don't know what Reset Playground
is, by the way.
Upvotes: 63
Reputation: 10116
In addition to the other responses, playground execution can also be controlled with the button on the bottom bar above the debugger console. There are two buttons on the left side of the console; the one on the left opens/closes the console and the one on the right controls the execution of the playground and changes depending on whether the playground is currently running.
If you hover over the button a small black triangle will appear in the bottom corner of the button. If you long press on the button the menu in the screenshot below will appear, where you can change the execution mode of the playground between automatically or manually running. If it's automatic, then it should run once every time you make a change (unless you make a change while it's running, then it will interrupt itself and run again). If it's manual then you have to press the button to run the playground.
While running the button is a hollow square, like a stop button on a VCR. Pressing it will stop the execution.
When it's not running it is a blue triangle, like a play button on a VCR. Pressing it will run the playground.
(Running Xcode 8.3)
Upvotes: 48