Shortcuts

  • Ctrl + Shift + F: format source file.
  • Ctrl + I: correct indentation.
  • Ctrl + O: quick outline.
  • Ctrl + E: shows list of open editors.
  • Ctrl + Shift + T: open type.
  • Ctrl + Shift + R: open resource.
  • Ctrl + /: comment lines.
  • Ctrl + space: autocomplete.
  • Ctrl + 2, R: rename localy.
  • F3: go to definition.
  • Alt + Left/Right: next/previous position in editor.

Hovers

  • Hover on element: shows it's ddoc, or, if missing, tries to evaluate.
  • Hover on element while holding shift: shows the source code of the element.
  • Hover on element while holding ctrl and shift: tries to evaluate.
  • Hover on element while holding ctrl, then clicking: go to definition.

Autocompletion in code

  • On empty space: shows symbols reachable through the current module's imports.
  • Writing a name: shows all matching types, functions and variables.
  • In between a name: shows all matching symbols, allowing to overrite the current one holding the control key.
  • Writing a name inside a with(...) { } block: shows also members of the with symbol.
  • After a type name: shows constructors and static opCalls.
  • After a variable name: shows opCalls if the variable is a class or struct, or shows invocations if the variable is a function pointer or delegate.
  • After a dot after a type name, call, this or super: shows members excluding op* methods.
  • After "op" after a dot after a type name, call, this or super: shows op* methods.
  • After the case keyword: shows possible enums values, if switching over an enum.
  • Before an argument of a function call: show parameters and overloads.
  • After goto, break and continue: shows possible target labels.
  • Inside a version(): shows versions.
  • Inside a debug(): shows debugs.
  • In a function argument name: suggest possible names.
  • After a type: show possible names to make a variable declaration.

Autocompletion in ddoc

  • Writing $ (optionally followed by a name) or pressing ctrl+space: shows macros.
  • Writing a name or pressing ctrl+space at the start of the line: shows standard ddoc sections and macros.

Keyword proposals are also shown, according to the context in which you are writing.

Other tips

  • When completing a method that can be treated as a setter, if you press '=', then it will be autocompleted as a setter. Else, it will be autocompleted as a method.
  • Go to definition also works in comments for top-level types and functions.