Needs More Dojo

Compatible with: IntelliJ IDEA PhpStorm WebStorm PyCharm RubyMine AppCode CLion GoLand Rider
May 24, 2014
21 001
Tools for working with the dojo toolkit

Dojo AMD Module Import Management
  • Cyclic dependency analysis action and on the fly inspection for cyclic dependencies (inspection must be enabled)
  • Add imports by name instead of module path. Let the plugin insert them for you. Use either absolute or relative path syntax.
  • Remove or reorder import statements
  • Flags unused imports with a strikethrough and allows you to remove them all at once
  • Organize imports alphabetically and remove duplicates
  • Detect inconsistently named imports
  • Convert between absolute and relative path syntax
  • Aware of plugins, modules with resource ids, etc.
  • Supports nested require blocks and snippets of JavaScript in non-js files
Refactoring (must be enabled in settings)
  • Rename dojo AMD modules
  • Move dojo AMD modules
  • Operations update AMD references and paths according to your project's package structure
Other Dojo Specific Features
  • Ctrl+Click supported for dojo/i18n resource strings
  • Ctrl+Click supported for attach points when modules use _TemplatedMixin. Ctrl+Shift+O, A also does this
  • Convert dojo 'util' style to 'class' style or vice-versa
  • Navigate ... declaration supported for modules, methods, and this.inherited references
Still very much under development. Please contact me with any feedback!

Recent change notes

0.7 (major release)
  • Quick fix to add a mismatched import exception
  • Add ability to send an import to the end and beginning of of the list
  • Move most items under the Code menu to a Needs More Dojo submenu
  • Add the "Dojo Toolkit" module type
  • Module names using the parent directory as a prefix are no longer flagged as mismatched (see #153)
  • Module naming exceptions work with relative and absolute path references
  • Module naming exceptions can have more than one mapping per module
  • Add new import has been redone to support selection via hotkeys
  • Fix NPE bug caused by templateString references that couldn't be resolved (#148)
  • Bug fixes (#145, #149, #156, #159, #160)
  • Compatibility with IntelliJ IDEA 13.1.1
  • Move and Rename refactoring is disabled by default
  • Goto declaration is supported for methods that reference AMD modules directly
  • Goto declaration is supported for this.inherited() references and method references off of this(see doc for details)
  • Goto declaration is now supported for AMD module references
  • Require blocks and mixed HTML/JS files now supported for all AMD management functionality
  • Add AMD import is now case-insensitive. Can be case-sensitive if you have a very large project
  • Add option to disable adding an import entry when no module is detected
  • Add quickfixes for for swapping two mismatched imports
  • Add quickfix for ignoring an unused import
  • Add quickfix for removing an unused import
  • Add a configurable list of file types to enable Needs More Dojo for
  • Fix NPE when using auto-completion on i18n keys (#141)
  • Minor bug fixes (#119, #122, #136, #142)
  • Jump to attach point will attempt to resolve absolute file references for templates
  • Fix high priority bug with goto declaration using absolute file paths in templated widgets (#123)
  • Minor bug fixes (#127, #132, #135)

Full change-log is available on the github page.

General usage instructions

Please see the documentation link for instructions on how to use Needs More Dojo.