Thanks for wanting to download.

ICEcoder is completely free for you to download and use as you'd like.

Please enter your email address and hit the button to download. We'll send a welcome email and then only email occasionally about big ICEcoder news.

Enter your email address...

...then download:

Download ICEcoder v6.0

Thanks for wanting to download.

ICEcoder is completely free for you to download and use as you'd like.

Please enter your email address and hit the button to download. We'll send a welcome email and then only email occasionally about big ICEcoder news.

Note that this is an early version of ICEcoder Desktop and it may be buggy. Bug reports welcomed!

Enter your email address...

...then download:

Download ICEcoder Desktop v0.2

OK, just some feedback please.

(It's anonymous and helps us know how to improve ICEcoder for you)

I'm using ICEcoder for:


Will be installing on:


I'm a:


Industry I work in:


In future I'd consider paying for ICEcoder:


I'd like a mobile version:

Submit & download:

submit & download

Thanks for trialling ICEcoder!

To continue using it, simply donate $10 by credit card, debit card or Paypal you'll receive an email with your unlock code.


Benefits of donating:

An awesome browser based code editor for just $10!


New updates, features and releases often


Helping support an open source solution


Unlock code for all ICEcoder v5.x releases



Ready to get your unlock code?

Donate $10 by card SSL cert lock Visa & Mastercard

Payments powered by Stripe


...or by Paypal...


Not ready to buy or have thoughts on ICEcoder?


We'd love to get your feedback!

Thanks for donating!

ICEcoder relies entirely on donations to keep developing new features.

Your donation is very much appreciated!

Please check your email now for an unlock code...

Mobile nav display link
Try the online demo


Download
ICEcoder v6.0

It's completely free!

introduction

ICEcoder is a browser based code editor which provides a modern approach to building websites by allowing you to code directly within the web browser. This, in turn, means you only need one program (your browser), plus can test on actual web servers and after development, maintain the website easily, all of which make for speedy and smart development. Because it is web based you also can do this from any internet enabled computer with a modern browser and because it's built with common web languages, customise it to your liking.

features, download & more

Can be found along with the latest news at icecoder.net

requirements

You will need:

  • Apache or similar (eg Nginx) web server environment
  • PHP 5 minimum, PHP 5.3+ recommended

It can either run on web server or on a local machine. Windows and Mac users can use programs such as WAMP, MAMP or XAMPP or a Apache & PHP installation to provide the environment they need. It should run just fine in Chrome, Firefox (latest versions) and Internet Explorer (v9+), locally or on a live server.

setup/installation

  1. Download via the icecoder.net website
  2. Unzip the contents into a new directory on your server environment
  3. Set write permissions (757 or 775 depending on your system) on the 'backups', 'lib', 'plugins', 'test' and 'tmp' folders
  4. View your ICEcoder direcory in a web browser, it will prompt you to set a password
  5. Begin coding!

usage

ICEcoder has a huge amount to it, even tho it seems simple on the surface. The best thing to do is experiment to get to grips with advanced features.

New users can take note of these things to get started:

  • Click files in the file manager to select
  • Double-click files to open
  • Right click on them to show a context menu
  • CTRL + clicking will select multiple
  • CTRL/Cmd + S to save
  • Go to Help > Shortcuts for more usage info

plugins

There are lots of useful plugins, accessed by moving your mouse to the left edge of the file manager, or by clicking the plugins icon in the file manager. Installing plugins does require unzipping the file, so zipArchive must be enabled on your server.

There may also be times when you'd like to create your own custom plugin. Thankfully, you already know how to write plugins as they're written with web languages! Follow the handy guide below to write your first plugin in around 5 mins.

  1. Create a new 'myplug' dir in ICEcoder's /plugins dir
  2. In that dir, create an icon image of around 28px square, called 'icon.png'
  3. Also in that dir, add a new text file, called 'myplug.html'
  4. Open myplug.html and add:
    • <script>top.ICEcoder.goToLine(20);</script>
  5. Open your settings file in /lib/config-* (eg config-localhost.php or config-mydomain.php)
  6. Add a new array item in the "plugins" array:
    • array("My Plug - Hello World!","plugins/myplug/icon.png","","plugins/myplug/myplug.html","fileControl:Going to line 20","");
  7. Click the update button and your plugin should now show in the plugins panel
  8. Click your plugin to go to line 20 of the current document!


This is a very basic example but just shows how you can write a plugin to interact with ICEcoder or do whatever you wish. In this case, when the plugin icon is clicked on it will open the URL in the fileControl iFrame, which runs your JavaScript and intertacts with ICEcoder, which in turn runs your command, in this case, to tell the current document to go to line 20.

The parameters for the plugin are:
name, icon path, style extras, URL, target, set interval (in mins)

Target can of course be any suitable target such as _blank, _new etc or fileControl which is ICEcoders hidden iFrame, suitable for running tasks without opening a new window.

If you add a value for set interval, eg "5", it will trigger your URL every 5 minutes as well as when you click it.

ICEcoder has a rich API which allows you to interact with it in many ways so you can create useful plugins. See further down the manual at api.

adding extra languages

ICEcoder supports a lot of common languages but you may find you want it to support something extra.

Adding languages is relatively simple and will take about 15 mins if you follow these steps:

  1. Open ICEcoder's editor.php file and near the top you will see 3 commented lines indicating all the files that need to be included. Select all of these on CodeMirrors compression helper page plus the extra language(s) you want to include and press the button to create a new compressed file. Replace the lib/codemirror-compressed.js file in the CodeMirror dir with this new file.
  2. Open images/file-folder-icons.png, make the file 16px wider, leaving your 16px square gap to the right and add your 16x16pixel icon there.
  3. Add a new line in lib/file-type-icons.css for your new language and include the new pixel position for it (16px on from the last one).
  4. Search processes/on-editor-load.php for the word 'coffee' and and add your new language in a similar way (file extensions and word to use, plus considering the comment type).

ICEcoder should now support the extra language(s)!

faq (frequently asked questions)

Why can't I save/create my file or dir?

This could be a number of reasons but is almost always server related. Perhaps you have an .htaccess with rewrite rules causing confusion, or the file doesn't have high enough permissions to write it. It's best to first check if you can write to the file with PHP itself as ICEcoder uses PHP for all its file handling processes, so whatever PHP is permitted to do is what ICEcoder will be permitted to do.

Where do I put my unlock code?

You can either wait for the trial period to end and it will show you a screen to input this, or you can get to this screen now by closing all open documents in ICEcoder and clicking the link towards the top right of the dashboard, under the trial remaining bar.

How do I setup multiple users?

To enable multi-user mode, open ICEcoders file in lib/config___settings.php. In here you can change the multiUser setting from false to true and enableRegistration from false to true also. Now when your users visit the ICEcoder login page, users can enter a username as well as password and have their own user account within ICEcoder. Don't forget to set enableRegistration from true to back to false within the config___settings.php file when you want no more registrations.

Are multiple users segregated?

Not at present, ICEcoder is more intended for teams of trusted developers, rather than for users you may not trust. It is easy enough for users within an ICEcoder install to find each other, items they've worked on etc, so bear this in mind that it provides no security between users.

How can I isolate a website to a user?

Users can focus on seperate dir within your ICEcoder install by going to Edit -> Settings and under the 'root' section set the sub-dir they wish to focus on. ie, if your document root contains httpdocs/siteA and httpdocs/siteB, then a user can enter their root setting in the UI as /siteA or /siteB. Now they see that as the top of the file manager. As mentioned above, it's not meant to provide security or solid isolation and a user could change their root setting to see another users assigned dir if they wish.

My server has multiple dirs, do I need multiple installs?

You can set up multiple installs of ICEcoder if you wish, one per site, but it should also work fine to if you setup ICEcoder within one site and create a symlink dir to it from other sites. This way, you only need to set it up once.

Do I need multiple licences?

No, the unlock code is per person. This means you don't need an unlock code for every site you set ICEcoder up on, each machine etc. Feel free to setup ICEcoder on any many setups as you like, it's unlimited for you. If you have multiple developers in your team, they each need an unlock code.

How do I find and replace?

ICEcoder has an innovative find and replace 'builder', which is awesome when you discover it. Simply make up a sentence regarding what you'd like to achieve, ie Find [x   ] [and] [replace all] with [y   ] in [this document]. In short, use the dropdowns to reveal new options so you can perform the type of find and replace you'd like.

Have a question we've not answered?

Contact us for help and advice, we're happy to help answer questions and if it's asked frequently enough we'll list it here (and maybe address it with improvements in ICEcoder).

troubleshooting

While ICEcoder works fine on almost all PHP environments (v5.0 and up), I've found about 1% of the time people run into issues, particularly regarding initial setup, opening or saving files. This usually turns out to be some server oddity that's stopping it working as expected, so here's what to look for.

Internal Server Error

On some servers you can put ICEcoder in place, set permissions, open in a browser and it shows an internal server error. This seems to be more down to your host permissions you've just set, not allowing anything to run. If you've tried 775, 757 and even 777 and still get problems, set back to 755 and it'll maybe work. If you still have issues, looking at your servers error logs may provide the answer.

My password won't work/I can't get in?

The first thing is to ensure you're using the right password. Sounds obvious, but maybe you set something different on setup. Also note that the password is case sensitive. Assuming you are using the right password, it may be something to do with lib/headers.php, lib/settings.php or your servers use of $_SESSION. Again, looking into your error logs or the web tools console may provide clues.

I can't open a file/just shows loading spinner?

This almost always seems to be down to a JavaScript issue. Press F12 to get the dev tools open and click the Console tab. Now hit F5 to reload and it'll likely show some JavaScript error.

Other issues?

Almost all setup/usage issues I get fall into the above 3 categories, but occassionally other issues do crop up. If there's a problem and you know a bit of PHP and JavaScript, you'll likely be able to investigate & fix it. A pull request on GitHub or even just contact to let me know eitherway helps everyone.

license

This can be found as a markdown formatted file in the root of the downloaded ICEcoder zip file. ICEcoder as an IDE framework is a MIT licensed project, but some components within the project do have other licenses, full details in the LICENSE.md file. You are entirely responsible for the setup & usage of ICEcoder, I am not responsible for anything.