{"id":550,"date":"2013-10-28T16:20:56","date_gmt":"2013-10-28T23:20:56","guid":{"rendered":"http:\/\/dojotoolkit.org\/blog\/?p=550"},"modified":"2023-03-11T08:14:08","modified_gmt":"2023-03-11T16:14:08","slug":"needs-more-dojo-jetbrains-plugin","status":"publish","type":"post","link":"https:\/\/dojotoolkit.org\/blog\/needs-more-dojo-jetbrains-plugin","title":{"rendered":"Needs More Dojo plugin for JetBrains&#8217; IDEs"},"content":{"rendered":"<p>The following is a guest post from Christopher Folger, creator of a Dojo plugin for the JetBrains IDE. Thanks Christopher for sharing information about your plugin.<\/p>\n<p><img decoding=\"async\" loading=\"lazy\" src=\"https:\/\/dojotoolkit.org\/blog\/wp-content\/uploads\/2013\/10\/needsmoredojo.png\" alt=\"\" title=\"Needs More Dojo plugin\" width=\"411\" height=\"257\" class=\"alignnone size-full wp-image-551\" srcset=\"https:\/\/dojotoolkit.org\/blog\/wp-content\/uploads\/2013\/10\/needsmoredojo.png 411w, https:\/\/dojotoolkit.org\/blog\/wp-content\/uploads\/2013\/10\/needsmoredojo-300x187.png 300w\" sizes=\"(max-width: 411px) 100vw, 411px\" \/><\/p>\n<p><a href=\"http:\/\/plugins.jetbrains.com\/plugin\/7264?pr=idea\">Needs More Dojo<\/a> is a plugin that provides awareness of Dojo&#8217;s AMD system and object model to the IDE. Its main purpose is to simplify the management of the imported modules array (and corresponding function parameters) in a define block.<\/p>\n<p>For example, instead of typing &#8220;dijit\/layout\/ContentPane&#8221; and adding a &#8220;ContentPane&#8221; parameter, Needs More Dojo lets you type &#8220;ContentPane&#8221; then inserts the correct module path and parameter for you into the existing list of imports. As you are writing code, when you reference an AMD module, you can use a hot-key to import the module instead of adding it manually. It will also flag unused modules with a strike-through and allows you to remove all unused modules at once.<\/p>\n<p> Apart from this, it has several other features:<\/p>\n<ul>\n<li>Allows you to organize, remove duplicates, or move items in a module&#8217;s list of imports via hot-keys or menu items<\/li>\n<li>Highlights mismatches between an imported module and its parameter<\/li>\n<li>Scans your sources and updates module references in define blocks when using the move\/rename refactoring actions<\/li>\n<li>Detects and optionally highlights cyclic dependencies<\/li>\n<li>Allows navigation to attach points in modules that use _TemplatedWidget and i18n resource keys when using dojo\/i18n!<\/li>\n<li>The upcoming release provides support for require blocks in addition to better navigation to modules, methods, and this.inherited references<\/li>\n<\/ul>\n<p>Needs More Dojo is listed under the JavaScript category of the JetBrains plugin repository, which you can access in the IDE. Alternatively, you can visit the <a href=\"http:\/\/plugins.jetbrains.com\/plugin\/7264?pr=idea\">Needs More Dojo plugin directly<\/a>.<\/p>\n<p>It is open-source and is currently under development. Any feedback or feature requests are always welcome and can be <a href=\"https:\/\/github.com\/cefolger\/needsmoredojo\">made on GitHub<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>The following is a guest post from Christopher Folger, creator of a Dojo plugin for the JetBrains IDE. Thanks Christopher for sharing information about your plugin. Needs More Dojo is a plugin that provides awareness of Dojo&#8217;s AMD system and object model to the IDE. Its main purpose is to simplify the management of the &hellip; <a href=\"https:\/\/dojotoolkit.org\/blog\/needs-more-dojo-jetbrains-plugin\" class=\"more-link\">Continue reading <span class=\"screen-reader-text\">Needs More Dojo plugin for JetBrains&#8217; IDEs<\/span> <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":3,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":[],"categories":[5],"tags":[],"_links":{"self":[{"href":"https:\/\/dojotoolkit.org\/blog\/wp-json\/wp\/v2\/posts\/550"}],"collection":[{"href":"https:\/\/dojotoolkit.org\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/dojotoolkit.org\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/dojotoolkit.org\/blog\/wp-json\/wp\/v2\/users\/3"}],"replies":[{"embeddable":true,"href":"https:\/\/dojotoolkit.org\/blog\/wp-json\/wp\/v2\/comments?post=550"}],"version-history":[{"count":6,"href":"https:\/\/dojotoolkit.org\/blog\/wp-json\/wp\/v2\/posts\/550\/revisions"}],"predecessor-version":[{"id":1018,"href":"https:\/\/dojotoolkit.org\/blog\/wp-json\/wp\/v2\/posts\/550\/revisions\/1018"}],"wp:attachment":[{"href":"https:\/\/dojotoolkit.org\/blog\/wp-json\/wp\/v2\/media?parent=550"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/dojotoolkit.org\/blog\/wp-json\/wp\/v2\/categories?post=550"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/dojotoolkit.org\/blog\/wp-json\/wp\/v2\/tags?post=550"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}