[CSIDE] The ChoiceScript IDE (v1.3.3 Now Available — 05/09/2022)

@CJW, aa, exciting development update!

Would it be worth making the ‘loading, do not close CSIDE’ window during updates the same yellow warning colour as was previously used for notifying of development updates? Seems to make sense to make all the ‘alert!’ pop-ups that same nice yellow.

Also—development version too—is the Changelog meant to have a yellow background, or something like this, for development version updates, now that the app doesn’t shriek ‘development version!’ at you every time you start it? (Which I appreciate very much; thank you.) I seem to remember that being suggested at some point.

I’m excited to tinker. :D

Edit: We should probably change the Help section to reflect the new customisable code editor window, I’m thinking? And take out bits like:

It is not possible to change the highlighting colours used, but they do vary according to the Dark, Light, or Dichromatic Code Editor themes (selectable in Settings).

Since now it is. Glory. :D

And add really thorough instructions, I’m thinking…and maybe even some sort of help for people not used to making custom style sheets, which could talk about types of colour indicators and maybe links to guides with useful charts? I know that’s a bit above and beyond the most specific reading of CSIDE’s Help scope, and some of it is spelled out a bit in the custom code project, but a thorough review would certainly be helpful, at least to me. I know I’ll have to sit with Google for a bit, myself, and figure it all out…

Happy to help with any potential new section of help docs (although I’m probably not the best for the rough draft), and/or edit them, as always!

Also: Would it be useful if I at some point go through the new features and either make sure Help is up to date, or that we have a few versions of Help according to the latest stable/new version?

(Also also, ‘Here be bad speeling’, ha. XD)

And should example projects have a suggested project name that’s the same as the title? I just noticed the title field was blank when I downloaded the custom theme project, and that surprised me a bit. I was expecting a title that matched its title in the example projects list.

1 Like

Update: v1.2.0 - 18/12/2017 on Development Channel

Feature release including custom themes, code folding and selection matching, a handful of bug fixes and some minor behaviour tweaks.


  • Code folding/collapsing
  • Example projects are now runnable
  • Selection matching (highlights other instances of selected text)
  • Custom theme scripting (and matching example project)
  • Spellcheck now supports including/excluding of command lines
  • Visible indentation support for spaces
  • New shortcut combos for
    • Delete line
    • Duplicate line
    • Toggle block comment


  • ‘Insert double line break’ menu option now respects indentation
  • Fixed a file path issue on attempts to open a project folder
  • Made some changes to mitigate a possible ui/locking bug with project controls
  • Misspelled words next to speech marks are now detected correctly


  • Updated internal copy of ChoiceScript to Github commit
  • ‘Untitled_X’ scenes are now generated with fully lowercase names
  • Numerous changes to spellcheck and indentation syntax implementation
  • Editor history delay has been drastically reduced which should result in smaller/more precise undo steps
  • Updates:
    • Development channel warning removed
    • Name of update channel now appears in the update title
    • Development updates are now coloured in yellow
    • Update channel setting now has a description


  • The mixed scene indentation test performed on newly opened files has been disabled
  • The additional temporary editor themes have been removed (in light of custom theme support)
    • Only the Light, Dark and Dichromatic themes will be supported going forward
    • Users who’s config points to removed themes will be set back to the Light theme

In addition, both the stable and latest channels have been updated to v1.1.2.


v1.2.0 - Known Bugs (It is a Development version!)

  • Custom themes don’t persist across sessions (you’ll need to re-run the scripts for the moment)
  • Speech marks next to words are being caught as misspellings
1 Like

You are God.

The way we currently work is that a sufficiently stable development version eventually becomes stable, latest… Etc. So I think a lot of these changes wouldn’t make sense.

Ideally we’d actually have “stable” and “development” branches, that features were cherry picked and combined from. That’s difficult to do with me relying so heavily on you guys for user testing. In an ideal world we’d have confidence from automated tests to help with this, but alas, it wasn’t something I thought about when I started developing CSIDE.

For the documentation, I agree there’s a few bits that could do with tweaking, and a specific page wouldn’t hurt (and if anyone would like to handle this it would be a fantastic help - otherwise I’ll eventually get round to it when I can).

Same goes for other new features.

That said, I feel the example project is pretty comprehensive, and lists enough examples… If you really feel it is not, then please let me know where you think it falls short.

The title should not be blank, I will look into that.

I’m not sure if this has been asked, but are there any plans for possibly creating a ChoiceScript iOS app sometime down the road? I’m mostly on my iPad Pro lately, and it is suitable laptop replacement for me except for one crucial issue: the CSIDE web app just doesn’t work as it should. Whenever I try to use it with my external keyboard, it doubles each keystroke — two spaces when I pressed the key once, two backspaces, two H’s, etc. It doesn’t do that with the onscreen keyboard, but no way would I want to write with that. An iOS app would solve that completely, but I’m sure I’m very much one of the only people who would use it so I’d understand if there are no plans to create one.

But on the subject of the CSIDE web app, thank you so much for it. It has made working on my projects soooo much easier since it’s done through Dropbox and I don’t need to download the ChoiceScript files. I mainly use a Chromebook to write, so I can’t download the files to run ChoiceScript on my computer, and then I have a proper PC I also write on. The web app has made it so easy to write on multiple devices, especially when one can’t run the files like a normal computer.


The code folding makes a huge difference for keeping track of scenes as they get longer.

I’m tinkering with the custom editor to find something that I like, and I’ve noticed two areas we can’t change – the color of the cursor and the sidebar with line numbers. Both are set at what seem to be light theme defaults – the cursor is black and the side is white. It’s a bit annoying with a dark theme, especially when turning the background black makes my cursor disappear!


Ah, one other thing: I went and updated the CSIDE program on my desktop to see the code folding because that sounds wonderful, and it is, but I wish you could fold *labels as well as *choices and other commands.


@CJW ily so much I can’t even sdfgsjgdff https://youtu.be/TGWVr3nIV0s?t=3m38s


Fangirling is over now. I’ll get back to work. This is a professional environment.

Could it be done? Yes. Is it worth doing doing? Quite possibly. Do I have the time to do it? Not really. The best I can promise is to maybe, eventually, get around to improving the mobile accessibility of the web version. Even if I had the time to develop the additional versions, I definitely wouldn’t have the time to properly test them (I don’t even own an iPhone or iPad). There are so many things like this that I would love to do, but simply can’t divert enough attention to. This is where I would really, really love to see another programmer or two jump in and lend a hand, hint, hint, if there are any of you lurking out there! :wink:

I’m afraid this is nigh on impossible. Labels do not have an obvious end like choices. Sure some people make use of *gosubs and returns, but many others don’t. There is no guaranteed way to know how much code needs to be collapsed. If someone can come up with one, I’d be more than happy to rescind this statement!

Very good points, I will look into supporting those two elements as well, please let me know if you stumble across anymore :slight_smile:


I suppose I’ll have to settle for using a code editor app, sync it up with Dropbox, and refresh the CSIDE web app when I want to to test out my changes in it. It is still better than nothing, by far! :slight_smile:

Would it be possible to create a way for the user to define where to fold the code? Such as, the user right clicks on a line number and selects “Start Code Folding” then right clicks on another line number and select “End Code Folding.” Or perhaps do it via selection? That way you wouldn’t need an obvious end, and the user can decide how much they want to collapse. Just a thought; I know very little about programming, so I don’t know if that’s possible or even a reasonable solution.

1 Like

If the only issue is the double key-press, I’d like to try and fix that for you. I’m just short of an iPad to test on, but if you’d be willing to bounce off a few dev builds, shoot me a PM.

Whilst I might be able to implement selection folding, as soon as you unfolded it, you’d be back to square one. You can’t retain the memory of it being ‘foldable’, because you might start adding other code around it that would otherwise make it foldable or non-foldable (it gets extremely complicated, extremely quickly). It’s a can of worms I’m in no rush to open. There really has to be a way for the editor to definitively know if a block of code is part of a ‘group’.

If you’re really struggling for space, could you consider breaking up your scenes, or making use of *gosub_scene etc?

1 Like

I see what you mean now (I misunderstood before), that is a good suggestion. I’ll need to do some refactoring to support it, so I’ll make a Github issue.

@Alexandra those extra configs have been implemented, and will be in the next update. I should say it now though: there is always going to be something that we won’t be able to customise. I will have to draw the line somewhere, otherwise things will get out of control.

1 Like

Hey, I just had a very serious issue. I tried deactivating the “Persistent session” option and then I closed CSIDE. After opening it again the menu on the right was gone. Trying to run a project gives me a “href” error as seen in the image.

Reinstalling it solves until I update to either 1.1.2 or 1.2.0 and the bug comes back. Even if reinstalled in a different location.

I’m using the Windows 64 bit version, currently running on a Windows 10.

If I try to close the current project it blanks the startup file completely and gives the same error. If I change the persistent session option in the unupdated version, the bug still occurs either way after updating.

Restoring to the prev-package file and updating makes the bug come back also.


Thank you very much for reporting this, it is indeed a pretty critical bug. I’ve isolated the cause and will push a patch to the development channel within minutes. I’ll have to think a little more carefully about how I go about updating the other two channels (please bear with me on this).

For the time being please: DO NOT DISABLE PERSISTENT SESSIONS on any current version of CSIDE.

EDIT: v1.2.1 is live on the development update channel, if you’re happy with development builds, please update to this ASAP. I am working on a pseudo version for the other channels now.

EDIT2: Fixes (1.2.1 and 1.1.3) should now be live on all channels, please update to one of these ASAP, and let me know if you have any further problems!


So the menu did return when I updated to 1.1.3. I used that chance to re-activate Persistent Sessions back again.

However, when I updated to 1.2.1 the bug returned. I wonder if it’s because I activated Persistent Sessions back again?

Re-installing and updating from normal to 1.2.1 did not fix the issue.

1 Like

I’ve tried a set of combinations (on/off, update order etc.) on both my development build and personal install and can’t reproduce the bug with either patch, once it has been applied (and both implement the same fix). I can only think that your configuration file might be corrupted, but I think a fresh install should resolve that…

EDIT: Seems it may persist, so if you’re still having problems, please try deleting (or renaming, to backup) your CSIDE app data folder. This will refresh your settings etc, but should solve any config issues.

On Windows:

C:\Users\username\AppData\Local (or Roaming)\CSIDE

On Mac:

/users/username/Library/Application Support/CSIDE/default

Thanks, that did solve the problem. I was already thinking that CSIDE user data was kept in another folder, but I had no idea where. Explains why reinstalling didn’t help.

Now that I deleted the user files and they were regenerated, it seems all is back to normal. Thanks!


Glad to hear it, and thanks for letting me know it worked. I should really add those paths to the documentation somewhere.


I decided to give it a try, and I’ve got the stats and things down so far, I was wondering if you could change the colors and etc. too? Because on the wiki it explains “style.css” which I don’t think I have. Is there a way to do it, or do I have to temporarily switch over to ChoiceScript?

EDIT: To clarify, I meant CSIDE.