{"_id":"54d03243c795960d009f420d","__v":14,"category":{"_id":"54cfb9a65ff7e617002bbd7f","__v":16,"version":"54cf411f9d09bb0d00a17a1f","pages":["54d031f2f530ca0d00053955","54d03212f530ca0d00053959","54d03229c795960d009f420b","54d03243c795960d009f420d","54d03268c795960d009f420f","54d032a594f7980d0081b838","54d032c0c795960d009f4211","54d032e394f7980d0081b83c","553a7e020074c80d00621bee","55707819910c090d00c43412","557b137eb5052c1700543db2","557eee21eb75d80d00af3f9f","55896d363494de2f00a8d58d","55ae7e618576b92300291dfc","563a83e40ed633230037885b","56538c47f77ca023004e5338"],"project":"54cf411f9d09bb0d00a17a1c","sync":{"url":"","isSync":false},"reference":false,"createdAt":"2015-02-02T17:53:42.501Z","from_sync":false,"order":1,"slug":"features","title":"Features"},"project":"54cf411f9d09bb0d00a17a1c","user":"54cfa8c8a8a4fd0d00b7fd1c","version":{"_id":"54cf411f9d09bb0d00a17a1f","project":"54cf411f9d09bb0d00a17a1c","__v":14,"createdAt":"2015-02-02T09:19:27.656Z","releaseDate":"2015-02-02T09:19:27.656Z","categories":["54cf41209d09bb0d00a17a20","54cfb99bbba1a023008741af","54cfb9a65ff7e617002bbd7f","54cfba03bba1a023008741b6","54cfba0ebba1a023008741b8","54cfba19bba1a023008741b9","54cfba29bba1a023008741bb","54cfba345ff7e617002bbd87","54cfba3ebba1a023008741bc","54cfba473995cf0d0006f6f0","54e371b18ef7552300409bf2","54e37aa5e887c50d005ef629","555a4e9b147f91190092d137","56b0e91802f4bc0d006ce254"],"is_deprecated":false,"is_hidden":false,"is_beta":false,"is_stable":true,"codename":"","version_clean":"1.0.0","version":"1.0"},"parentDoc":null,"updates":[],"next":{"pages":[],"description":""},"createdAt":"2015-02-03T02:28:19.817Z","link_external":false,"link_url":"","githubsync":"","sync_unique":"","hidden":false,"api":{"settings":"","results":{"codes":[]},"auth":"required","params":[],"url":""},"isReference":false,"order":6,"body":"Cloud9 currently supports JavaScript and Python for advance language analysis and autocompletion.\n\nFor these supported languages, Cloud9 provides analysis using a combination of our own analysis tools, as well as JSHint (specifically for Javascript code). Our language analysis can't detect if your program is correct, fast, or has memory leaks, but it **can ** save you time by spotting things like undeclared variables, syntax errors, or other preventable typos.\n\nWhen Cloud9 detects an issue with your code, an icon appears in the gutter for the offending lines of code. There are three types of identifiers available for your code:\n\n  * Informational: these are non-critical, non-dangerous updates about your code\n  * Warnings: these are potentially incorrect pieces of code\n  * Errors: these are incorrect lines of code that will almost certainly throw a runtime error when you try to run/compile your code\n\nIf you hover over any of these icons in the gutter, you'll get a pop-up that presents some information as to what, exactly, the problem is. For example, suppose we have a variable declared, called fs, that is never used:\n[block:image]\n{\n  \"images\": [\n    {\n      \"image\": [\n        \"https://files.readme.io/K1evaB5TRXW7j1Su4DJ7_unused_var_sample.png\",\n        \"unused_var_sample.png\",\n        \"215\",\n        \"51\",\n        \"#082e56\",\n        \"\"\n      ],\n      \"border\": false,\n      \"caption\": \"Code warning popup\"\n    }\n  ]\n}\n[/block]\nNotice also that `fs` has a strikethrough, to provide further visual clues that something is not quite right.\n\nIf you're concerned with the level of information that's listed in the gutter, you can always configure its \"strictness\" in the IDE preferences. For example, you could choose to hide every icon that isn't a warning or an error.\n\n# Configuring Global Options\n\n---\n\nJSHint provides additional configuration options that Cloud9 incorporates on a per-file basis. Typically, you declare these options as comments at the very top of a file, like this:\n\n```\n/*jshint curly:true, debug:true */\n```\n\nFor a full list of the JSHint configuration options, please check the documentation page describing them.","excerpt":"","slug":"language-analysis","type":"basic","title":"Language Analysis"}
Cloud9 currently supports JavaScript and Python for advance language analysis and autocompletion. For these supported languages, Cloud9 provides analysis using a combination of our own analysis tools, as well as JSHint (specifically for Javascript code). Our language analysis can't detect if your program is correct, fast, or has memory leaks, but it **can ** save you time by spotting things like undeclared variables, syntax errors, or other preventable typos. When Cloud9 detects an issue with your code, an icon appears in the gutter for the offending lines of code. There are three types of identifiers available for your code: * Informational: these are non-critical, non-dangerous updates about your code * Warnings: these are potentially incorrect pieces of code * Errors: these are incorrect lines of code that will almost certainly throw a runtime error when you try to run/compile your code If you hover over any of these icons in the gutter, you'll get a pop-up that presents some information as to what, exactly, the problem is. For example, suppose we have a variable declared, called fs, that is never used: [block:image] { "images": [ { "image": [ "https://files.readme.io/K1evaB5TRXW7j1Su4DJ7_unused_var_sample.png", "unused_var_sample.png", "215", "51", "#082e56", "" ], "border": false, "caption": "Code warning popup" } ] } [/block] Notice also that `fs` has a strikethrough, to provide further visual clues that something is not quite right. If you're concerned with the level of information that's listed in the gutter, you can always configure its "strictness" in the IDE preferences. For example, you could choose to hide every icon that isn't a warning or an error. # Configuring Global Options --- JSHint provides additional configuration options that Cloud9 incorporates on a per-file basis. Typically, you declare these options as comments at the very top of a file, like this: ``` /*jshint curly:true, debug:true */ ``` For a full list of the JSHint configuration options, please check the documentation page describing them.