{"_id":"55a67aff51457325000e4dcb","category":{"_id":"55a6720751457325000e4d97","version":"54d5635532d98b0d00384afb","project":"54d53c7b23010a0d001aca0c","pages":["55a67aff51457325000e4dcb"],"__v":1,"sync":{"url":"","isSync":false},"reference":false,"createdAt":"2015-07-15T14:45:27.401Z","from_sync":false,"order":13,"slug":"other","title":"Other"},"parentDoc":null,"user":"5552496c7988e10d00345322","project":"54d53c7b23010a0d001aca0c","version":{"_id":"54d5635532d98b0d00384afb","project":"54d53c7b23010a0d001aca0c","__v":10,"forked_from":"54d53c7c23010a0d001aca0f","createdAt":"2015-02-07T00:59:01.934Z","releaseDate":"2015-02-07T00:59:01.934Z","categories":["54d5635632d98b0d00384afc","54d5635632d98b0d00384afd","54d5635632d98b0d00384afe","54d5635632d98b0d00384aff","54d5635632d98b0d00384b00","54d5635632d98b0d00384b01","54d5635632d98b0d00384b02","54d652097e05890d006f153e","54dd1315ca1e5219007e9daa","54e21e2b22de1c230094b147","54e68e62a43fe13500db3879","54fa1d3fe7a0ba2f00306309","551c453a23a1ee190034d19a","551df586e52a0b23000c62b6","551f39be6886f8230055f02a","55a6720751457325000e4d97"],"is_deprecated":false,"is_hidden":false,"is_beta":true,"is_stable":true,"codename":"","version_clean":"0.1.0","version":"0.1"},"__v":0,"updates":[],"next":{"pages":[],"description":""},"createdAt":"2015-07-15T15:23:43.473Z","link_external":false,"link_url":"","githubsync":"","sync_unique":"","hidden":false,"api":{"results":{"codes":[]},"settings":"","auth":"required","params":[],"url":""},"isReference":false,"order":0,"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","excerpt":"","slug":"custom-ide-configuration","type":"basic","title":"Custom IDE Configuration"}

Custom IDE Configuration


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 [block:code] { "codes": [ { "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};", "language": "javascript" } ] } [/block] Now 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` Workspace type also can be speciafied by passing `--workspacetype=X` argument to server.js script. Configurations created this way can be used to create new workspace types on c9.io