An Xcode plugin let you build & run your selected lines of code in Xcode without running the whole project, you'll have the output instantly in your Xcode console.
Swift

README.md

VWInstantRun

Have you ever wanted to test out a small snippet of code in Xcode without executing the whole project ?

Now with VWInstantRun, you won't run into this situation any more. An Xcode plugin let you build & run your selected lines of code in Xcode without running the whole project, you'll have the output instantly in your Xcode console.

Objective C

Swift

Installation

Installation: You can clone or just download the project, then open project with Xcode, build and run project, and finally restart Xcode to active plugin.

Alcatraz

Another way more easier option: This plugin can also be installed using Alcatraz. Just search for VWInstantRun in Alcatraz.

Usage

Generally you just select your code in Xcode, then either use hotkey ⌘⌥⇧ + R or go to Product -> Instant Run to build and run the lines of code selected.

Limitations

The purpose of this plugin is to run your code snippet instantly without building the whole project, so obviously it do have some limitations.

  • The code selected should be isolated completely from other contexts (such as instance property, self, or there function, etc…), otherwise you will only have some compiler errors when you run that code snippet.
  • Usually you need to add some stub values as input and add print() phrase to actually view your output in console view.
  • For now, it only support Foundation module.

This plugin certainly can not and should not replace your unit tests, at all. The suitable case is to test and prove some tiny doubts as I mentioned in blog.

Todo List

This plugin is still in a very early stage, here is a TODO list to show you a simple roadmap.

  • Swift code support.
  • Objective-C code support.
  • More modules support.
  • Run selected code with arguments inputed by user.

More information

  • You can checkout more implementation details in this blog post.
  • If you have anything want to talk, feel free to raise an issue or say hello on Twitter to @wangshengjia, on Weibo to @ShengjiaWang

Enjoy 🎉🎉