{"metadata":{"image":[],"title":"","description":""},"api":{"url":"","auth":"required","results":{"codes":[]},"settings":"","params":[]},"next":{"description":"","pages":[]},"title":"Custom IDE Configuration","type":"basic","slug":"custom-ide-configuration","excerpt":"","body":"To customize initial set of plugins used in cloud9 create a new file in configs directory named `client-workspace-X.js` and either provide a custom set of plugins or modify list of plugins returned by client-default.js\n[block:code]\n{\n \"codes\": [\n {\n \"code\": \"\\\"use strict\\\";\\n\\nmodule.exports = function(options) {\\n // Remove C runner\\n delete options.runners['C (simple)'];\\n \\n var config = require(\\\"./client-default\\\")(options);\\n \\n var includes = [\\n ];\\n \\n var excludes = {\\n \\\"plugins/c9.ide.run/gui\\\": true,\\n \\\"plugins/c9.ide.run/output\\\": true\\n };\\n \\n config = config.concat(includes).map(function(p) {\\n if (typeof p == \\\"string\\\")\\n p = { packagePath: p };\\n return p;\\n }).filter(function (p) {\\n if (p.packagePath == \\\"plugins/c9.ide.layout.classic/preload\\\") {\\n p.defaultTheme = \\\"flat-light\\\"; // set flat theme as default\\n }\\n else if (p.packagePath == \\\"plugins/c9.core/settings\\\") {\\n if (p.settings)\\n p.settings.user = {}; // reset user settings\\n }\\n return !excludes[p.packagePath];\\n });\\n \\n return config;\\n};\",\n \"language\": \"javascript\"\n }\n ]\n}\n[/block]\nNow when opening ide with `?workspacetype=X` in the url, it will [try to load](https://github.com/c9/core/blob/3a8c24250eb7fa86621852847d7713b2778f9bfd/plugins/c9.vfs.standalone/standalone.js#L96) configuration from `client-workspace-X.js`\n\nWorkspace type also can be speciafied by passing `--workspacetype=X` argument to server.js script.\n\nConfigurations created this way can be used to create new workspace types on c9.io","updates":[],"order":0,"isReference":false,"hidden":false,"sync_unique":"","link_url":"","link_external":false,"_id":"55a67aff51457325000e4dcb","category":{"sync":{"isSync":false,"url":""},"pages":["55a67aff51457325000e4dcb"],"title":"Other","slug":"other","order":13,"from_sync":false,"reference":false,"_id":"55a6720751457325000e4d97","version":"54d5635532d98b0d00384afb","project":"54d53c7b23010a0d001aca0c","__v":1,"createdAt":"2015-07-15T14:45:27.401Z"},"parentDoc":null,"user":"5552496c7988e10d00345322","project":"54d53c7b23010a0d001aca0c","version":{"version":"0.1","version_clean":"0.1.0","codename":"","is_stable":true,"is_beta":true,"is_hidden":false,"is_deprecated":false,"categories":["54d5635632d98b0d00384afc","54d5635632d98b0d00384afd","54d5635632d98b0d00384afe","54d5635632d98b0d00384aff","54d5635632d98b0d00384b00","54d5635632d98b0d00384b01","54d5635632d98b0d00384b02","54d652097e05890d006f153e","54dd1315ca1e5219007e9daa","54e21e2b22de1c230094b147","54e68e62a43fe13500db3879","54fa1d3fe7a0ba2f00306309","551c453a23a1ee190034d19a","551df586e52a0b23000c62b6","551f39be6886f8230055f02a","55a6720751457325000e4d97"],"_id":"54d5635532d98b0d00384afb","project":"54d53c7b23010a0d001aca0c","__v":10,"createdAt":"2015-02-07T00:59:01.934Z","forked_from":"54d53c7c23010a0d001aca0f","releaseDate":"2015-02-07T00:59:01.934Z"},"githubsync":"","createdAt":"2015-07-15T15:23:43.473Z","__v":0}