Developing I7 extensions (on a mac)

I’ve tried putting some I7 code in extensions but I’m a little frustrated by it, maybe I’m doing something backwards. Perhaps the whole “problem” is that I’m used to always work in very tight code-compile-test loops, I don’t sit there writing code for an hour before compiling.

Here’s what I do: I have one big folder for my own extensions (and I’m using git to version control it). So I pop open an .i7x file in my editor of choice (which is Sublime Text, with the syntax coloring from Nate Dickson. When I want to try it, I just “open” the file (double-click in Finder or cmd-down in Forklift) . It opens in that weird Inform7 IDE Extension window with an “install” button. So i click install. As far as I can tell all this does is to copy the file to ~/Library/Inform/Extensions/Author Name/Extension.i7x. Maybe I could skip the install step by just editing the file right “in place”, under /Library/Inform/Extensions.

Anyway, the problem is that installing a new extension version does not seem to work in the (Mac?) IDE. If I do Open Extension… within the IDE I do get the updated version in a window, but when I compile and run it seems to always use whatever version was installed when I opened the Inform IDE. Except for new extensions I think, so maybe temporarily renaming the file is a workaround? Or is there some way to force an extension reload in the mac IDE that I don’t know about? Or do you need to quit and reopen the IDE?

And what’s up with that special window you get when you open an extension? It’s a text editor with an install button, but once you click install the install button goes away, although I can keep editing. How am I supposed to use that window?

I think you may be the victim of an annoying feature of at least the Mac IDE. It doesn’t detect changes in extensions, only in the source text you write on the page within the main window of the IDE!

So, if you have compiled a game, change something in an extension, and then reinstall it (or if you use the IDE’s menu to open an installed extension, make your changes directly in it, and then save), Inform won’t reload the extension next time you push the Go! or Replay button, unless you also make some changes in the source text of your game (like adding and deleting a random character).

If an extension is brand new to your copy of Inform (IE The INSTALL button has appeared), after you click ‘Install’, it’s best to quit Inform and reopen it so that it can take it on board. Or install a bunch at once, then quit and reopen once.

In terms of editing an extension once it’s installed: Often I’ve got the IDE open with my game in it, and I’m tweaking an extension over in its own yellow window. After I save changes to the extension – and if I’m about to test the game – I have acquired the automatic habit of clicking over in the main source code window anywhere, then hitting SPACE then DELETE . This alerts Inform to the fact that ‘The Whole Source’ has changed and forces it to look at all code and extensions anew, making sure your latest changes to any extensions are taken into account. Then I click Go.

  • Wade

Aha! Nice! Will try. Thanks, guys.