:: Article Deprecated!
:: As of v1.1, F4 looks in pods for source code.
:: Article Deprecated!
When writing code it can be huge boost to the view source code of any 3rd party libraries (pods) you're using. It clarifies what's going, shows you the developers intent, and the comments can be helpful.
When using F4 by Xored, not only is the source code a single mouse click (or F3
key press) away, but you can also step through it when debugging! Awesome!
But by default it only works with system pods and any projects F4 has open. - sadness -
Until now! - happiness! -
All Alien-Factory pods are compiled with debug information and bundled with source code. To let F4 gain access to this, all you need to do is copy the source files from the pod into your Fantom home directory. Or more specifically, to the pod's src dir in the Fantom home directory.
Taking the afIoc.pod as an example, if you open it up as a .zip
file:
You will see the usual pod directories. If you copy the contents of src/
to %FAN_HOME%\src\afIoc\
then F4 will be able to pick it up.
Source Code Install Script
If all this file copying seems like too much manual effort, then try this handy Fantom script instead:
using util class InstallSrc : AbstractMain { @Arg Str? pod @Opt Bool uninstall override Int run() { pod := Pod.find(pod) podDir := Env.cur.homeDir.plus(`src/${pod.name}/`).normalize echo("Found ${pod.name} v${pod.version}") if (uninstall) { echo("Deleting '${podDir.osPath}'") podDir.delete echo("Done.") return 0 }// copy src to %FAN_HOME% for F4 debuggingecho("Copying ${pod.name} src to '${podDir.osPath}'") podDir.delete// delete old stuffpodDir.create fileCnt := 0 podFile := Env.cur.findPodFile(pod.name) zip := Zip.open(podFile) zip.contents.each |file| { if (file.pathStr.startsWith("/src/")) { file.copyInto(podDir) fileCnt++ } } zip.close echo("Copied ${fileCnt} files") echo("Done.") return 0 } }
Assuming you've saved it as a file named InstallSrc.fan
, you can use it like this:
C:\>fan InstallSrc.fan afIoc Found afIoc v1.6.0 Copying afIoc src to 'C:\Apps\fantom-1.0.66\src\afIoc' Copied 69 files Done.
And to remove the source code:
C:\>fan InstallSrc.fan afIoc -uninstall Found afIoc v1.6.0 Deleting 'C:\Apps\fantom-1.0.66\src\afIoc' Done.
Have fun!
:)
See also Xored F4: Debugging a Pod with Source Code.
Edits:
- 18 Aug 2016 - Deprecated.