Shortcuts
- Ctrl + Shift + F: format source file.
- Ctrl + I: correct indentation.
- Ctrl + O: quick outline.
- Ctrl + E: shows list of open editors.
- Ctrl + T: quick type hieararchy.
- Ctrl + Shift + T: open declaration.
- Ctrl + Shift + R: open resource.
- Ctrl + /: comment lines.
- Ctrl + Shift + /: comment block
- Ctrl + Shift + \: remove block comment
- Ctrl + space: autocomplete.
- Ctrl + 2, R: rename localy.
- F3: go to definition.
- F4: open type hierarchy.
- Alt + Left/Right: next/previous position in editor.
- Ctrl + Q: go to last edit location
- Ctrl + Shift + P: go to matching bracket
- Ctrl + L: go to line
- Crtl + Shift + Up: go to previous member
- Ctrl + Shift + Down: go to next member
- F2: show tooltip description
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.