Преглед изворни кода

Merge branch 'master' of https://github.com/defold/doc

Björn Ritzl пре 4 месеци
родитељ
комит
a3880eeb30

+ 0 - 4
docs/en/en.json

@@ -1007,10 +1007,6 @@
                         "path": "/manuals/debugging-game-logic/#running-the-debugger",
                         "name": "Debugger"
                     },
-                    {
-                        "path": "/manuals/editor-keyboard-shortcuts",
-                        "name": "Keyboard shortcuts"
-                    },
                     {
                         "path": "/manuals/editor-preferences",
                         "name": "Preferences"

+ 0 - 137
docs/en/manuals/editor-keyboard-shortcuts.md

@@ -1,137 +0,0 @@
----
-title: Editor keybindings
-brief: This manual shows the current keyboard shortcuts and how to customize them.
----
-
-# Keyboard shortcuts
-
-## Default shortcuts
-
-| Command | Windows | macOS | Linux |
-|---------|---------|-------|-------|
-| Add | <kbd>A</kbd> | <kbd>A</kbd> | <kbd>A</kbd> |
-| Add secondary | <kbd>Shift</kbd>+<kbd>A</kbd> | <kbd>Shift</kbd>+<kbd>A</kbd> | <kbd>Shift</kbd>+<kbd>A</kbd> |
-| Async reload | <kbd>Shift</kbd>+<kbd>Ctrl</kbd>+<kbd>Y</kbd> | <kbd>Shift</kbd>+<kbd>Cmd</kbd>+<kbd>Y</kbd> | <kbd>Shift</kbd>+<kbd>Ctrl</kbd>+<kbd>Y</kbd> |
-| Backwards tab trigger | <kbd>Shift</kbd>+<kbd>Tab</kbd> | <kbd>Shift</kbd>+<kbd>Tab</kbd> | <kbd>Shift</kbd>+<kbd>Tab</kbd> |
-| Beginning of file | <kbd>Ctrl</kbd>+<kbd>Home</kbd> | <kbd>Cmd</kbd>+<kbd>Up</kbd> | <kbd>Ctrl</kbd>+<kbd>Home</kbd> |
-| Beginning of line |  | <kbd>Ctrl</kbd>+<kbd>A</kbd> |  |
-| Beginning of line text | <kbd>Home</kbd> | <kbd>Cmd</kbd>+<kbd>Left</kbd> | <kbd>Home</kbd> |
-| Build | <kbd>Ctrl</kbd>+<kbd>B</kbd> | <kbd>Cmd</kbd>+<kbd>B</kbd> | <kbd>Ctrl</kbd>+<kbd>B</kbd> |
-| Close | <kbd>Ctrl</kbd>+<kbd>W</kbd> | <kbd>Cmd</kbd>+<kbd>W</kbd> | <kbd>Ctrl</kbd>+<kbd>W</kbd> |
-| Close all | <kbd>Shift</kbd>+<kbd>Ctrl</kbd>+<kbd>W</kbd> | <kbd>Shift</kbd>+<kbd>Cmd</kbd>+<kbd>W</kbd> | <kbd>Shift</kbd>+<kbd>Ctrl</kbd>+<kbd>W</kbd> |
-| Close engine | <kbd>Ctrl</kbd>+<kbd>J</kbd> | <kbd>Cmd</kbd>+<kbd>J</kbd> | <kbd>Ctrl</kbd>+<kbd>J</kbd> |
-| Continue | <kbd>F5</kbd> | <kbd>F5</kbd> | <kbd>F5</kbd> |
-| Copy | <kbd>Ctrl</kbd>+<kbd>C</kbd> | <kbd>Cmd</kbd>+<kbd>C</kbd> | <kbd>Ctrl</kbd>+<kbd>C</kbd> |
-| Cut | <kbd>Ctrl</kbd>+<kbd>X</kbd> | <kbd>Cmd</kbd>+<kbd>X</kbd> | <kbd>Ctrl</kbd>+<kbd>X</kbd> |
-| Delete | <kbd>Delete</kbd> | <kbd>Delete</kbd> | <kbd>Delete</kbd> |
-| Delete backward | <kbd>Backspace</kbd> | <kbd>Backspace</kbd> | <kbd>Backspace</kbd> |
-| Delete line |  | <kbd>Ctrl</kbd>+<kbd>D</kbd> |  |
-| Delete next word | <kbd>Ctrl</kbd>+<kbd>Delete</kbd> | <kbd>Alt</kbd>+<kbd>Delete</kbd> | <kbd>Ctrl</kbd>+<kbd>Delete</kbd> |
-| Delete prev word | <kbd>Ctrl</kbd>+<kbd>Backspace</kbd> | <kbd>Alt</kbd>+<kbd>Backspace</kbd> | <kbd>Ctrl</kbd>+<kbd>Backspace</kbd> |
-| Delete to end of line | <kbd>Ctrl</kbd>+<kbd>K</kbd> | <kbd>Shift</kbd>+<kbd>Cmd</kbd>+<kbd>Delete</kbd> | <kbd>Ctrl</kbd>+<kbd>K</kbd> |
-| Documentation | <kbd>F1</kbd> | <kbd>F1</kbd> | <kbd>F1</kbd> |
-| Down | <kbd>Down</kbd> | <kbd>Down</kbd> | <kbd>Down</kbd> |
-| Edit breakpoint | <kbd>Alt</kbd>+<kbd>F9</kbd> | <kbd>Alt</kbd>+<kbd>F9</kbd> | <kbd>Alt</kbd>+<kbd>F9</kbd> |
-| End of file | <kbd>Ctrl</kbd>+<kbd>End</kbd> | <kbd>Cmd</kbd>+<kbd>Down</kbd> | <kbd>Ctrl</kbd>+<kbd>End</kbd> |
-| End of line | <kbd>End</kbd> | <kbd>Ctrl</kbd>+<kbd>E</kbd> | <kbd>End</kbd> |
-| Enter | <kbd>Enter</kbd> | <kbd>Enter</kbd> | <kbd>Enter</kbd> |
-| Erase tool | <kbd>Shift</kbd>+<kbd>E</kbd> | <kbd>Shift</kbd>+<kbd>E</kbd> | <kbd>Shift</kbd>+<kbd>E</kbd> |
-| Escape | <kbd>Esc</kbd> | <kbd>Esc</kbd> | <kbd>Esc</kbd> |
-| Find next | <kbd>Ctrl</kbd>+<kbd>G</kbd> | <kbd>Cmd</kbd>+<kbd>G</kbd> | <kbd>Ctrl</kbd>+<kbd>G</kbd> |
-| Find prev | <kbd>Shift</kbd>+<kbd>Ctrl</kbd>+<kbd>G</kbd> | <kbd>Shift</kbd>+<kbd>Cmd</kbd>+<kbd>G</kbd> | <kbd>Shift</kbd>+<kbd>Ctrl</kbd>+<kbd>G</kbd> |
-| Find references | <kbd>Shift</kbd>+<kbd>F12</kbd> | <kbd>Shift</kbd>+<kbd>F12</kbd> | <kbd>Shift</kbd>+<kbd>F12</kbd> |
-| Find text | <kbd>Ctrl</kbd>+<kbd>F</kbd> | <kbd>Cmd</kbd>+<kbd>F</kbd> | <kbd>Ctrl</kbd>+<kbd>F</kbd> |
-| Flip brush horizontally | <kbd>X</kbd> | <kbd>X</kbd> | <kbd>X</kbd> |
-| Flip brush vertically | <kbd>Y</kbd> | <kbd>Y</kbd> | <kbd>Y</kbd> |
-| Frame selection | <kbd>F</kbd> | <kbd>F</kbd> | <kbd>F</kbd> |
-| Go to definition | <kbd>F12</kbd> | <kbd>F12</kbd> | <kbd>F12</kbd> |
-| Go to line | <kbd>Ctrl</kbd>+<kbd>L</kbd> | <kbd>Cmd</kbd>+<kbd>L</kbd> | <kbd>Ctrl</kbd>+<kbd>L</kbd> |
-| Hide toggle selected | <kbd>Ctrl</kbd>+<kbd>E</kbd> | <kbd>Cmd</kbd>+<kbd>E</kbd> | <kbd>Ctrl</kbd>+<kbd>E</kbd> |
-| Hot reload | <kbd>Ctrl</kbd>+<kbd>R</kbd> | <kbd>Cmd</kbd>+<kbd>R</kbd> | <kbd>Ctrl</kbd>+<kbd>R</kbd> |
-| Left | <kbd>Left</kbd> | <kbd>Left</kbd> | <kbd>Left</kbd> |
-| Move down | <kbd>Alt</kbd>+<kbd>Down</kbd> | <kbd>Alt</kbd>+<kbd>Down</kbd> | <kbd>Alt</kbd>+<kbd>Down</kbd> |
-| Move tool | <kbd>W</kbd> | <kbd>W</kbd> | <kbd>W</kbd> |
-| Move up | <kbd>Alt</kbd>+<kbd>Up</kbd> | <kbd>Alt</kbd>+<kbd>Up</kbd> | <kbd>Alt</kbd>+<kbd>Up</kbd> |
-| New file | <kbd>Ctrl</kbd>+<kbd>N</kbd> | <kbd>Cmd</kbd>+<kbd>N</kbd> | <kbd>Ctrl</kbd>+<kbd>N</kbd> |
-| Next word | <kbd>Ctrl</kbd>+<kbd>Right</kbd> | <kbd>Alt</kbd>+<kbd>Right</kbd> | <kbd>Ctrl</kbd>+<kbd>Right</kbd> |
-| Open | <kbd>Ctrl</kbd>+<kbd>O</kbd> | <kbd>Cmd</kbd>+<kbd>O</kbd> | <kbd>Ctrl</kbd>+<kbd>O</kbd> |
-| Open asset | <kbd>Ctrl</kbd>+<kbd>P</kbd> | <kbd>Cmd</kbd>+<kbd>P</kbd> | <kbd>Ctrl</kbd>+<kbd>P</kbd> |
-| Open recent file | <kbd>Alt</kbd>+<kbd>R</kbd> | <kbd>Ctrl</kbd>+<kbd>R</kbd> | <kbd>Alt</kbd>+<kbd>R</kbd> |
-| Page down | <kbd>Page Down</kbd> | <kbd>Page Down</kbd> | <kbd>Page Down</kbd> |
-| Page up | <kbd>Page Up</kbd> | <kbd>Page Up</kbd> | <kbd>Page Up</kbd> |
-| Paste | <kbd>Ctrl</kbd>+<kbd>V</kbd> | <kbd>Cmd</kbd>+<kbd>V</kbd> | <kbd>Ctrl</kbd>+<kbd>V</kbd> |
-| Preferences | <kbd>Ctrl</kbd>+<kbd>Comma</kbd> | <kbd>Cmd</kbd>+<kbd>Comma</kbd> | <kbd>Ctrl</kbd>+<kbd>Comma</kbd> |
-| Prev word | <kbd>Ctrl</kbd>+<kbd>Left</kbd> | <kbd>Alt</kbd>+<kbd>Left</kbd> | <kbd>Ctrl</kbd>+<kbd>Left</kbd> |
-| Proposals | <kbd>Ctrl</kbd>+<kbd>Space</kbd> | <kbd>Ctrl</kbd>+<kbd>Space</kbd> | <kbd>Ctrl</kbd>+<kbd>Space</kbd> |
-| Quit | <kbd>Ctrl</kbd>+<kbd>Q</kbd> | <kbd>Cmd</kbd>+<kbd>Q</kbd> | <kbd>Ctrl</kbd>+<kbd>Q</kbd> |
-| Realign camera | <kbd>Period</kbd> | <kbd>Period</kbd> | <kbd>Period</kbd> |
-| Rebuild | <kbd>Shift</kbd>+<kbd>Ctrl</kbd>+<kbd>B</kbd> | <kbd>Shift</kbd>+<kbd>Cmd</kbd>+<kbd>B</kbd> | <kbd>Shift</kbd>+<kbd>Ctrl</kbd>+<kbd>B</kbd> |
-| Rebundle | <kbd>Ctrl</kbd>+<kbd>U</kbd> | <kbd>Cmd</kbd>+<kbd>U</kbd> | <kbd>Ctrl</kbd>+<kbd>U</kbd> |
-| Redo | <kbd>Shift</kbd>+<kbd>Ctrl</kbd>+<kbd>Z</kbd> | <kbd>Shift</kbd>+<kbd>Cmd</kbd>+<kbd>Z</kbd> | <kbd>Shift</kbd>+<kbd>Ctrl</kbd>+<kbd>Z</kbd> |
-| Reindent | <kbd>Ctrl</kbd>+<kbd>I</kbd> | <kbd>Ctrl</kbd>+<kbd>I</kbd> | <kbd>Ctrl</kbd>+<kbd>I</kbd> |
-| Rename | <kbd>F2</kbd> | <kbd>F2</kbd> | <kbd>F2</kbd> |
-| Reopen recent file | <kbd>Shift</kbd>+<kbd>Ctrl</kbd>+<kbd>T</kbd> | <kbd>Shift</kbd>+<kbd>Cmd</kbd>+<kbd>T</kbd> | <kbd>Shift</kbd>+<kbd>Ctrl</kbd>+<kbd>T</kbd> |
-| Replace next | <kbd>Shift</kbd>+<kbd>Ctrl</kbd>+<kbd>H</kbd> | <kbd>Alt</kbd>+<kbd>Cmd</kbd>+<kbd>G</kbd> | <kbd>Shift</kbd>+<kbd>Ctrl</kbd>+<kbd>H</kbd> |
-| Replace text |  | <kbd>Alt</kbd>+<kbd>Cmd</kbd>+<kbd>F</kbd> |  |
-| Right | <kbd>Right</kbd> | <kbd>Right</kbd> | <kbd>Right</kbd> |
-| Rotate brush 90 degrees |  |  | <kbd>Z</kbd> |
-| Rotate brush 90 degrees] | <kbd>Z</kbd> | <kbd>Z</kbd> |  |
-| Rotate tool | <kbd>E</kbd> | <kbd>E</kbd> | <kbd>E</kbd> |
-| Save all | <kbd>Ctrl</kbd>+<kbd>S</kbd> | <kbd>Cmd</kbd>+<kbd>S</kbd> | <kbd>Ctrl</kbd>+<kbd>S</kbd> |
-| Scale tool | <kbd>R</kbd> | <kbd>R</kbd> | <kbd>R</kbd> |
-| Scene stop | <kbd>Ctrl</kbd>+<kbd>T</kbd> | <kbd>Cmd</kbd>+<kbd>T</kbd> | <kbd>Ctrl</kbd>+<kbd>T</kbd> |
-| Search in files | <kbd>Shift</kbd>+<kbd>Ctrl</kbd>+<kbd>F</kbd> | <kbd>Shift</kbd>+<kbd>Cmd</kbd>+<kbd>F</kbd> | <kbd>Shift</kbd>+<kbd>Ctrl</kbd>+<kbd>F</kbd> |
-| Select all | <kbd>Ctrl</kbd>+<kbd>A</kbd> | <kbd>Cmd</kbd>+<kbd>A</kbd> | <kbd>Ctrl</kbd>+<kbd>A</kbd> |
-| Select beginning of file | <kbd>Shift</kbd>+<kbd>Ctrl</kbd>+<kbd>Home</kbd> | <kbd>Shift</kbd>+<kbd>Cmd</kbd>+<kbd>Up</kbd> | <kbd>Shift</kbd>+<kbd>Ctrl</kbd>+<kbd>Home</kbd> |
-| Select beginning of line |  | <kbd>Shift</kbd>+<kbd>Alt</kbd>+<kbd>Up</kbd> |  |
-| Select beginning of line text | <kbd>Shift</kbd>+<kbd>Home</kbd> | <kbd>Shift</kbd>+<kbd>Home</kbd> | <kbd>Shift</kbd>+<kbd>Home</kbd> |
-| Select down | <kbd>Shift</kbd>+<kbd>Down</kbd> | <kbd>Shift</kbd>+<kbd>Down</kbd> | <kbd>Shift</kbd>+<kbd>Down</kbd> |
-| Select end of file | <kbd>Shift</kbd>+<kbd>Ctrl</kbd>+<kbd>End</kbd> | <kbd>Shift</kbd>+<kbd>Cmd</kbd>+<kbd>Down</kbd> | <kbd>Shift</kbd>+<kbd>Ctrl</kbd>+<kbd>End</kbd> |
-| Select end of line | <kbd>Shift</kbd>+<kbd>End</kbd> | <kbd>Shift</kbd>+<kbd>End</kbd> | <kbd>Shift</kbd>+<kbd>End</kbd> |
-| Select left | <kbd>Shift</kbd>+<kbd>Left</kbd> | <kbd>Shift</kbd>+<kbd>Left</kbd> | <kbd>Shift</kbd>+<kbd>Left</kbd> |
-| Select next occurrence | <kbd>Ctrl</kbd>+<kbd>D</kbd> | <kbd>Cmd</kbd>+<kbd>D</kbd> | <kbd>Ctrl</kbd>+<kbd>D</kbd> |
-| Select next word | <kbd>Shift</kbd>+<kbd>Ctrl</kbd>+<kbd>Right</kbd> | <kbd>Shift</kbd>+<kbd>Ctrl</kbd>+<kbd>Right</kbd> | <kbd>Shift</kbd>+<kbd>Ctrl</kbd>+<kbd>Right</kbd> |
-| Select page down | <kbd>Shift</kbd>+<kbd>Page Down</kbd> | <kbd>Shift</kbd>+<kbd>Page Down</kbd> | <kbd>Shift</kbd>+<kbd>Page Down</kbd> |
-| Select page up | <kbd>Shift</kbd>+<kbd>Page Up</kbd> | <kbd>Shift</kbd>+<kbd>Page Up</kbd> | <kbd>Shift</kbd>+<kbd>Page Up</kbd> |
-| Select prev word | <kbd>Shift</kbd>+<kbd>Ctrl</kbd>+<kbd>Left</kbd> | <kbd>Shift</kbd>+<kbd>Alt</kbd>+<kbd>Left</kbd> | <kbd>Shift</kbd>+<kbd>Ctrl</kbd>+<kbd>Left</kbd> |
-| Select right | <kbd>Shift</kbd>+<kbd>Right</kbd> | <kbd>Shift</kbd>+<kbd>Right</kbd> | <kbd>Shift</kbd>+<kbd>Right</kbd> |
-| Show last hidden | <kbd>Shift</kbd>+<kbd>Ctrl</kbd>+<kbd>E</kbd> | <kbd>Shift</kbd>+<kbd>Cmd</kbd>+<kbd>E</kbd> | <kbd>Shift</kbd>+<kbd>Ctrl</kbd>+<kbd>E</kbd> |
-| Show palette | <kbd>Space</kbd> | <kbd>Space</kbd> | <kbd>Space</kbd> |
-| Split selection into lines | <kbd>Shift</kbd>+<kbd>Ctrl</kbd>+<kbd>L</kbd> | <kbd>Shift</kbd>+<kbd>Cmd</kbd>+<kbd>L</kbd> | <kbd>Shift</kbd>+<kbd>Ctrl</kbd>+<kbd>L</kbd> |
-| Step into | <kbd>F11</kbd> | <kbd>F11</kbd> | <kbd>F11</kbd> |
-| Step out | <kbd>Shift</kbd>+<kbd>F11</kbd> | <kbd>Shift</kbd>+<kbd>F11</kbd> | <kbd>Shift</kbd>+<kbd>F11</kbd> |
-| Step over | <kbd>F10</kbd> | <kbd>F10</kbd> | <kbd>F10</kbd> |
-| Stop debugger | <kbd>Shift</kbd>+<kbd>F5</kbd> |  | <kbd>Shift</kbd>+<kbd>F5</kbd> |
-| Tab | <kbd>Tab</kbd> | <kbd>Tab</kbd> | <kbd>Tab</kbd> |
-| Toggle breakpoint | <kbd>F9</kbd> | <kbd>F9</kbd> | <kbd>F9</kbd> |
-| Toggle comment | <kbd>Ctrl</kbd>+<kbd>'/'</kbd> | <kbd>Cmd</kbd>+<kbd>'/'</kbd> | <kbd>Ctrl</kbd>+<kbd>'/'</kbd> |
-| Toggle component guides | <kbd>Ctrl</kbd>+<kbd>H</kbd> | <kbd>Ctrl</kbd>+<kbd>Cmd</kbd>+<kbd>H</kbd> | <kbd>Ctrl</kbd>+<kbd>H</kbd> |
-| Toggle pane bottom | <kbd>F7</kbd> | <kbd>F7</kbd> | <kbd>F7</kbd> |
-| Toggle pane left | <kbd>F6</kbd> | <kbd>F6</kbd> | <kbd>F6</kbd> |
-| Toggle pane right | <kbd>F8</kbd> | <kbd>F8</kbd> | <kbd>F8</kbd> |
-| Toggle visibility filters | <kbd>Shift</kbd>+<kbd>Ctrl</kbd>+<kbd>I</kbd> | <kbd>Shift</kbd>+<kbd>Cmd</kbd>+<kbd>I</kbd> | <kbd>Shift</kbd>+<kbd>Ctrl</kbd>+<kbd>I</kbd> |
-| Undo | <kbd>Ctrl</kbd>+<kbd>Z</kbd> | <kbd>Cmd</kbd>+<kbd>Z</kbd> | <kbd>Ctrl</kbd>+<kbd>Z</kbd> |
-| Up | <kbd>Up</kbd> | <kbd>Up</kbd> | <kbd>Up</kbd> |
-| Up major | <kbd>Shift</kbd>+<kbd>Up</kbd> | <kbd>Shift</kbd>+<kbd>Up</kbd> | <kbd>Shift</kbd>+<kbd>Up</kbd> |
-| Zoom in | <kbd>Ctrl</kbd>+<kbd>'</kbd>+<kbd>'</kbd> | <kbd>Cmd</kbd>+<kbd>'</kbd>+<kbd>'</kbd> | <kbd>Ctrl</kbd>+<kbd>'</kbd>+<kbd>'</kbd> |
-| Zoom out | <kbd>Ctrl</kbd>+<kbd>'-'</kbd> | <kbd>Cmd</kbd>+<kbd>'-'</kbd> | <kbd>Ctrl</kbd>+<kbd>'-'</kbd> |
-
-
-## Customizing shortcuts
-
-You can override default keyboard shortcuts by providing a configuration file with your own shortcuts. The configuration file should be in the Extensible Data Notation (EDN) format with extension `.edn`:
-
-```
-[
- ["A" :add]
- ["Alt+Backspace" :delete-prev-word]
- ["Alt+Delete" :delete-next-word]
- ["Alt+Down" :end-of-line]
- ["Alt+Down" :move-down]
- ["Alt+Left" :prev-word]
-]
-```
-
-Each entry defines the key or key combination and the editor action it should correspond to. Available actions can be seen in [`keymap.clj`](https://github.com/defold/defold/blob/dev/editor/src/clj/editor/keymap.clj#L34-L161).
-
-When the file has been created go into <kbd>File ▸ Preferences</kbd>, and set <kbd>Path to custom keymap</kbd> to the created file (it has to be an absolute path). You need to restart Defold after setting this setting, and every time you edit the keymap file.

+ 20 - 4
docs/en/manuals/editor-preferences.md

@@ -29,9 +29,6 @@ Track Active Tab in Asset Browser
 Lint Code on Build
 : Enables [code linting](/manuals/writing-code/#linting-configuration) when the project is built. This option is enabled by default, but can be disabled if the linting in a large project takes too much time.
 
-Path to custom keymap
-: Absolute path to a file containing [custom keyboard shortcuts](/manuals/editor-keyboard-shortcuts).
-
 Engine Arguments
 : Arguments that will be passed to the dmengine executable when the editor builds and runs.
  Use one argument per line. For example:
@@ -58,6 +55,9 @@ Open File at Line
 Code editor font
 : Name of a system installed font to use in the code editor.
 
+Zoom on Scroll
+: Whether to change the font size when scrolling in the code editor while holding Cmd/Ctrl button.
+
 
 ### Open script files in Visual Studio Code
 
@@ -84,6 +84,12 @@ The `.` character here is required to open the entire workspace, not an individu
 Build Server
 : URL to the build server used when building a project containing [native extensions](/manuals/extensions). It is possible to add a username and access token to the URL for authenticated access to the build server. Use the following notation to specify the username and access token: `username:[email protected]`. Authenticated access is required for Nintendo Switch builds and when running your own build server instance with authentication enabled ([refer to the build server documentation](https://github.com/defold/extender/blob/dev/README_SECURITY.md) for more information). The username and password can also be set as the system environment variables `DM_EXTENDER_USERNAME` and `DM_EXTENDER_PASSWORD`.
 
+Build Server Username
+: username for authentication.
+
+Build Server Password
+: password for authentication, will be stored encrypted in the preferences file.
+
 Build Server Headers
 : additional headers to the build server when building native extensions. It's important for using CloudFlare service or similar services with extender.
 
@@ -95,4 +101,14 @@ ADB path
 : Path to [ADB](https://developer.android.com/tools/adb) command line tool installed on this system. If you have ADB installed on your system, the Defold editor will use it to install and run bundled Android APKs to a connected Android Device. By default, the editor checks if ADB is installed in well-known locations, so you only need to specify the path if you have ADB installed in a custom location.
 
 ios-deploy path
-: Path to [ios-deploy](https://github.com/ios-control/ios-deploy) command line tools installed on this system (only relevant for macOS). Similarly to the ADB path, the Defold editor will use this tool to install and run bundled iOS applications on a connected iPhone. By default, the editor checks if ios-deploy is installed in well-known locations, so you only need to specify the path if you use a custom installation of ios-deploy.
+: Path to [ios-deploy](https://github.com/ios-control/ios-deploy) command line tools installed on this system (only relevant for macOS). Similarly to the ADB path, the Defold editor will use this tool to install and run bundled iOS applications on a connected iPhone. By default, the editor checks if ios-deploy is installed in well-known locations, so you only need to specify the path if you use a custom installation of ios-deploy.
+
+## Keymap
+
+![](images/editor/preferences_keymap.png)
+
+You can configure the editor shortcuts, both adding custom and removing the built-in ones. Use context menu on individual commands in the shortcut table to edit the shortcuts, or double-click/press <kbd>Enter</kbd> to open a new shortcut popup.
+
+Some shortcuts might have warnings: they are displayed using orange color. Hover over the shortcut to see the warning. Typical warnings are:
+- typeable shortcuts: the selected shortcut is typeable in a text inputs. Make sure the command is off in the code editing / text input contexts. 
+- conflicts: the same shortcut is assigned to multiple different commands. Make sure at most one command is enabled when the shortcut is invoked, otherwise the editor will execute one of the assigned commands in an undefined manner.

+ 0 - 4
docs/en/manuals/editor.md

@@ -162,10 +162,6 @@ The editor will automatically check for updates. When an update is detected it w
 
 You can modify the settings of the editor [from the Preferences window](/manuals/editor-preferences).
 
-## Keyboard shortcuts
-
-Keyboard shortcuts and how to customize them can be seen in the [keyboard shortcut manual](/manuals/editor-keyboard-shortcuts).
-
 ## Editor logs
 If you run into a problem with the editor and need to [report an issue](/manuals/getting-help/#getting-help) it is a good idea to provide log files from the editor itself. The editor logs files can be found here:
 

BIN
docs/en/manuals/images/editor/preferences_code.png


BIN
docs/en/manuals/images/editor/preferences_extensions.png


BIN
docs/en/manuals/images/editor/preferences_general.png


BIN
docs/en/manuals/images/editor/preferences_keymap.png


BIN
docs/en/manuals/images/editor/preferences_tools.png


+ 0 - 399
tools/parse_keymap.lua

@@ -1,399 +0,0 @@
--- parse Lua modified keymap.clj into Markdown table
-
-local keymaps = {
-	macos = {
-		["A"] = "add",
-		["Alt+Backspace"] = "delete-prev-word",
-		["Alt+Delete"] = "delete-next-word",
-		["Alt+Down"] = "end-of-line",
-		["Alt+Down"] = "move-down",
-		["Alt+Left"] = "prev-word",
-		["Alt+F9"] = "edit-breakpoint",
-		["Alt+Meta+E"] = "select-next-occurrence",
-		["Alt+Meta+F"] = "replace-text",
-		["Alt+Meta+G"] = "replace-next",
-		["Alt+Right"] = "next-word",
-		["Alt+Up"] = "beginning-of-line",
-		["Alt+Up"] = "move-up",
-		["Backspace"] = "delete-backward",
-		["Ctrl+A"] = "beginning-of-line",
-		["Ctrl+D"] = "delete-line",
-		["Ctrl+E"] = "end-of-line",
-		["Ctrl+I"] = "reindent",
-		["Ctrl+K"] = "delete-to-end-of-line",
-		["Ctrl+Meta+H"] = "toggle-component-guides",
-		["Ctrl+R"] = "open-recent-file",
-		["Ctrl+Space"] = "proposals",
-		["Delete"] = "delete",
-		["Down"] = "down",
-		["E"] = "rotate-tool",
-		["End"] = "end-of-line",
-		["Enter"] = "enter",
-		["Esc"] = "escape",
-		["F"] = "frame-selection",
-		["F1"] = "documentation",
-		["F10"] = "step-over",
-		["F11"] = "step-into",
-		["F2"] = "rename",
-		["F5"] = "start-debugger",
-		["F5"] = "continue",
-		["F6"] = "toggle-pane-left",
-		["F7"] = "toggle-pane-bottom",
-		["F8"] = "toggle-pane-right",
-		["F9"] = "toggle-breakpoint",
-		["F12"] = "goto-definition",
-		["Home"] = "beginning-of-line-text",
-		["Left"] = "left",
-		["Meta+'+'"] = "zoom-in",
-		["Meta+'-'"] = "zoom-out",
-		["Meta+A"] = "select-all",
-		["Meta+B"] = "build",
-		["Meta+C"] = "copy",
-		["Meta+Comma"] = "preferences",
-		["Meta+D"] = "select-next-occurrence",
-		["Meta+Delete"] = "delete-to-end-of-line",
-		["Meta+Down"] = "end-of-file",
-		["Meta+E"] = "hide-toggle-selected",
-		["Meta+F"] = "filter-form",
-		["Meta+F"] = "find-text",
-		["Meta+G"] = "find-next",
-		["Meta+L"] = "goto-line",
-		["Meta+Left"] = "beginning-of-line-text",
-		["Meta+N"] = "new-file",
-		["Meta+O"] = "open",
-		["Meta+P"] = "open-asset",
-		["Meta+Q"] = "quit",
-		["Meta+R"] = "hot-reload",
-		["Meta+Right"] = "end-of-line",
-		["Meta+S"] = "save-all",
-		["Meta+'/'"] = "toggle-comment",
-		["Meta+T"] = "scene-stop",
-		["Meta+U"] = "rebundle",
-		["Meta+J"] = "close-engine",
-		["Meta+Up"] = "beginning-of-file",
-		["Meta+V"] = "paste",
-		["Meta+W"] = "close",
-		["Meta+X"] = "cut",
-		["Meta+Z"] = "undo",
-		["Page Down"] = "page-down",
-		["Page Up"] = "page-up",
-		["Period"] = "realign-camera",
-		["R"] = "scale-tool",
-		["Right"] = "right",
-		["Shift+A"] = "add-secondary",
-		["Shift+Alt+Down"] = "select-end-of-line",
-		["Shift+Alt+Left"] = "select-prev-word",
-		["Shift+Alt+Right"] = "select-next-word",
-		["Shift+Alt+Up"] = "select-beginning-of-line",
-		["Shift+Backspace"] = "delete-backward",
-		["Shift+Ctrl+A"] = "select-beginning-of-line",
-		["Shift+Ctrl+E"] = "select-end-of-line",
-		["Shift+Ctrl+Left"] = "select-prev-word",
-		["Shift+Ctrl+Right"] = "select-next-word",
-		["Shift+Down"] = "down-major",
-		["Shift+Down"] = "select-down",
-		["Shift+E"] = "erase-tool",
-		["Shift+End"] = "select-end-of-line",
-		["Shift+F11"] = "step-out",
-		["Shift+F12"] = "find-references",
-		["Shift+Home"] = "select-beginning-of-line-text",
-		["Shift+Left"] = "left-major",
-		["Shift+Left"] = "select-left",
-		["Shift+Meta+B"] = "rebuild",
-		["Shift+Meta+Delete"] = "delete-to-end-of-line",
-		["Shift+Meta+Down"] = "select-end-of-file",
-		["Shift+Meta+E"] = "show-last-hidden",
-		["Shift+Meta+F"] = "search-in-files",
-		["Shift+Meta+G"] = "find-prev",
-		["Shift+Meta+I"] = "toggle-visibility-filters",
-		["Shift+Meta+L"] = "split-selection-into-lines",
-		["Shift+Meta+Left"] = "select-beginning-of-line-text",
-		["Shift+Meta+R"] = "open-asset",
-		["Shift+Meta+Right"] = "select-end-of-line",
-		["Shift+Meta+T"] = "reopen-recent-file",
-		["Shift+Meta+Up"] = "select-beginning-of-file",
-		["Shift+Meta+W"] = "close-all",
-		["Shift+Meta+Y"] = "async-reload",
-		["Shift+Meta+Z"] = "redo",
-		["Shift+Page Down"] = "select-page-down",
-		["Shift+Page Up"] = "select-page-up",
-		["Shift+Right"] = "right-major",
-		["Shift+Right"] = "select-right",
-		["Shift+Tab"] = "backwards-tab-trigger",
-		["Shift+Up"] = "select-up",
-		["Shift+Up"] = "up-major",
-		["Space"] = "scene-play",
-		["Space"] = "show-palette",
-		["Tab"] = "tab",
-		["Up"] = "up",
-		["W"] = "move-tool",
-		["X"] = "flip-brush-horizontally",
-		["Y"] = "flip-brush-vertically",
-		["Z"] = "rotate-brush-90-degrees]",
-	},
-	win32 = {
-		["A"] = "add",
-		["Alt+Down"] = "move-down",
-		["Alt+F9"] = "edit-breakpoint",
-		["Alt+R"] = "open-recent-file",
-		["Alt+Up"] = "move-up",
-		["Backspace"] = "delete-backward",
-		["Ctrl+'+'"] = "zoom-in",
-		["Ctrl+'-'"] = "zoom-out",
-		["Ctrl+A"] = "select-all",
-		["Ctrl+B"] = "build",
-		["Ctrl+Backspace"] = "delete-prev-word",
-		["Ctrl+C"] = "copy",
-		["Ctrl+Comma"] = "preferences",
-		["Ctrl+D"] = "select-next-occurrence",
-		["Ctrl+Delete"] = "delete-next-word",
-		["Ctrl+E"] = "hide-toggle-selected",
-		["Ctrl+End"] = "end-of-file",
-		["Ctrl+F"] = "filter-form",
-		["Ctrl+F"] = "find-text",
-		["Ctrl+G"] = "find-next",
-		["Ctrl+H"] = "replace-text",
-		["Ctrl+H"] = "toggle-component-guides",
-		["Ctrl+Home"] = "beginning-of-file",
-		["Ctrl+I"] = "reindent",
-		["Ctrl+K"] = "delete-to-end-of-line",
-		["Ctrl+L"] = "goto-line",
-		["Ctrl+Left"] = "prev-word",
-		["Ctrl+N"] = "new-file",
-		["Ctrl+O"] = "open",
-		["Ctrl+P"] = "open-asset",
-		["Ctrl+Q"] = "quit",
-		["Ctrl+R"] = "hot-reload",
-		["Ctrl+Right"] = "next-word",
-		["Ctrl+S"] = "save-all",
-		["Ctrl+'/'"] = "toggle-comment",
-		["Ctrl+Space"] = "proposals",
-		["Ctrl+T"] = "scene-stop",
-		["Ctrl+U"] = "rebundle",
-		["Ctrl+J"] = "close-engine",
-		["Ctrl+V"] = "paste",
-		["Ctrl+W"] = "close",
-		["Ctrl+X"] = "cut",
-		["Ctrl+Z"] = "undo",
-		["Delete"] = "delete",
-		["Down"] = "down",
-		["E"] = "rotate-tool",
-		["End"] = "end-of-line",
-		["Enter"] = "enter",
-		["Esc"] = "escape",
-		["F"] = "frame-selection",
-		["F1"] = "documentation",
-		["F10"] = "step-over",
-		["F11"] = "step-into",
-		["F2"] = "rename",
-		["F5"] = "start-debugger",
-		["F5"] = "continue",
-		["F6"] = "toggle-pane-left",
-		["F7"] = "toggle-pane-bottom",
-		["F8"] = "toggle-pane-right",
-		["F9"] = "toggle-breakpoint",
-		["F12"] = "goto-definition",
-		["Home"] = "beginning-of-line-text",
-		["Left"] = "left",
-		["Page Down"] = "page-down",
-		["Page Up"] = "page-up",
-		["Period"] = "realign-camera",
-		["R"] = "scale-tool",
-		["Right"] = "right",
-		["Shift+A"] = "add-secondary",
-		["Shift+Backspace"] = "delete-backward",
-		["Shift+Ctrl+B"] = "rebuild",
-		["Shift+Ctrl+Delete"] = "delete-to-end-of-line",
-		["Shift+Ctrl+E"] = "show-last-hidden",
-		["Shift+Ctrl+End"] = "select-end-of-file",
-		["Shift+Ctrl+F"] = "search-in-files",
-		["Shift+Ctrl+G"] = "find-prev",
-		["Shift+Ctrl+H"] = "replace-next",
-		["Shift+Ctrl+Home"] = "select-beginning-of-file",
-		["Shift+Ctrl+I"] = "toggle-visibility-filters",
-		["Shift+Ctrl+L"] = "split-selection-into-lines",
-		["Shift+Ctrl+Left"] = "select-prev-word",
-		["Shift+Ctrl+R"] = "open-asset",
-		["Shift+Ctrl+Right"] = "select-next-word",
-		["Shift+Ctrl+T"] = "reopen-recent-file",
-		["Shift+Ctrl+W"] = "close-all",
-		["Shift+Ctrl+Y"] = "async-reload",
-		["Shift+Ctrl+Z"] = "redo",
-		["Shift+Down"] = "down-major",
-		["Shift+Down"] = "select-down",
-		["Shift+E"] = "erase-tool",
-		["Shift+End"] = "select-end-of-line",
-		["Shift+F11"] = "step-out",
-		["Shift+F12"] = "find-references",
-		["Shift+F5"] = "stop-debugger",
-		["Shift+Home"] = "select-beginning-of-line-text",
-		["Shift+Left"] = "left-major",
-		["Shift+Left"] = "select-left",
-		["Shift+Page Down"] = "select-page-down",
-		["Shift+Page Up"] = "select-page-up",
-		["Shift+Right"] = "right-major",
-		["Shift+Right"] = "select-right",
-		["Shift+Tab"] = "backwards-tab-trigger",
-		["Shift+Up"] = "select-up",
-		["Shift+Up"] = "up-major",
-		["Space"] = "scene-play",
-		["Space"] = "show-palette",
-		["Tab"] = "tab",
-		["Up"] = "up",
-		["W"] = "move-tool",
-		["X"] = "flip-brush-horizontally",
-		["Y"] = "flip-brush-vertically",
-		["Z"] = "rotate-brush-90-degrees]",
-	},
-	linux = {
-		["A"] = "add",
-		["Alt+Down"] = "move-down",
-		["Alt+F9"] = "edit-breakpoint",
-		["Alt+R"] = "open-recent-file",
-		["Alt+Up"] = "move-up",
-		["Backspace"] = "delete-backward",
-		["Ctrl+'+'"] = "zoom-in",
-		["Ctrl+'-'"] = "zoom-out",
-		["Ctrl+A"] = "select-all",
-		["Ctrl+B"] = "build",
-		["Ctrl+Backspace"] = "delete-prev-word",
-		["Ctrl+C"] = "copy",
-		["Ctrl+Comma"] = "preferences",
-		["Ctrl+D"] = "select-next-occurrence",
-		["Ctrl+Delete"] = "delete-next-word",
-		["Ctrl+E"] = "hide-toggle-selected",
-		["Ctrl+End"] = "end-of-file",
-		["Ctrl+F"] = "filter-form",
-		["Ctrl+F"] = "find-text",
-		["Ctrl+G"] = "find-next",
-		["Ctrl+H"] = "replace-text",
-		["Ctrl+H"] = "toggle-component-guides",
-		["Ctrl+Home"] = "beginning-of-file",
-		["Ctrl+I"] = "reindent",
-		["Ctrl+K"] = "delete-to-end-of-line",
-		["Ctrl+L"] = "goto-line",
-		["Ctrl+Left"] = "prev-word",
-		["Ctrl+N"] = "new-file",
-		["Ctrl+O"] = "open",
-		["Ctrl+P"] = "open-asset",
-		["Ctrl+Q"] = "quit",
-		["Ctrl+R"] = "hot-reload",
-		["Ctrl+Right"] = "next-word",
-		["Ctrl+S"] = "save-all",
-		["Ctrl+'/'"] = "toggle-comment",
-		["Ctrl+Space"] = "proposals",
-		["Ctrl+T"] = "scene-stop",
-		["Ctrl+U"] = "rebundle",
-		["Ctrl+J"] = "close-engine",
-		["Ctrl+V"] = "paste",
-		["Ctrl+W"] = "close",
-		["Ctrl+X"] = "cut",
-		["Ctrl+Z"] = "undo",
-		["Delete"] = "delete",
-		["Down"] = "down",
-		["E"] = "rotate-tool",
-		["End"] = "end-of-line",
-		["Enter"] = "enter",
-		["Esc"] = "escape",
-		["F"] = "frame-selection",
-		["F1"] = "documentation",
-		["F10"] = "step-over",
-		["F11"] = "step-into",
-		["F2"] = "rename",
-		["F5"] = "start-debugger",
-		["F5"] = "continue",
-		["F6"] = "toggle-pane-left",
-		["F7"] = "toggle-pane-bottom",
-		["F8"] = "toggle-pane-right",
-		["F9"] = "toggle-breakpoint",
-		["F12"] = "goto-definition",
-		["Home"] = "beginning-of-line-text",
-		["Left"] = "left",
-		["Page Down"] = "page-down",
-		["Page Up"] = "page-up",
-		["Period"] = "realign-camera",
-		["R"] = "scale-tool",
-		["Right"] = "right",
-		["Shift+A"] = "add-secondary",
-		["Shift+Backspace"] = "delete-backward",
-		["Shift+Ctrl+B"] = "rebuild",
-		["Shift+Ctrl+Delete"] = "delete-to-end-of-line",
-		["Shift+Ctrl+E"] = "show-last-hidden",
-		["Shift+Ctrl+End"] = "select-end-of-file",
-		["Shift+Ctrl+F"] = "search-in-files",
-		["Shift+Ctrl+G"] = "find-prev",
-		["Shift+Ctrl+H"] = "replace-next",
-		["Shift+Ctrl+Home"] = "select-beginning-of-file",
-		["Shift+Ctrl+I"] = "toggle-visibility-filters",
-		["Shift+Ctrl+L"] = "split-selection-into-lines",
-		["Shift+Ctrl+Left"] = "select-prev-word",
-		["Shift+Ctrl+R"] = "open-asset",
-		["Shift+Ctrl+Right"] = "select-next-word",
-		["Shift+Ctrl+T"] = "reopen-recent-file",
-		["Shift+Ctrl+W"] = "close-all",
-		["Shift+Ctrl+Y"] = "async-reload",
-		["Shift+Ctrl+Z"] = "redo",
-		["Shift+Down"] = "down-major",
-		["Shift+Down"] = "select-down",
-		["Shift+E"] = "erase-tool",
-		["Shift+End"] = "select-end-of-line",
-		["Shift+F11"] = "step-out",
-		["Shift+F12"] = "find-references",
-		["Shift+F5"] = "stop-debugger",
-		["Shift+Home"] = "select-beginning-of-line-text",
-		["Shift+Left"] = "left-major",
-		["Shift+Left"] = "select-left",
-		["Shift+Page Down"] = "select-page-down",
-		["Shift+Page Up"] = "select-page-up",
-		["Shift+Right"] = "right-major",
-		["Shift+Right"] = "select-right",
-		["Shift+Tab"] = "backwards-tab-trigger",
-		["Shift+Up"] = "select-up",
-		["Shift+Up"] = "up-major",
-		["Space"] = "scene-play",
-		["Space"] = "show-palette",
-		["Tab"] = "tab",
-		["Up"] = "up",
-		["W"] = "move-tool",
-		["X"] = "flip-brush-horizontally",
-		["Y"] = "flip-brush-vertically",
-		["Z"] = "rotate-brush-90-degrees",
-	}
-}
-
-local function fix_binding(binding)
-	if not binding then return "" end
-	binding = binding:gsub("Meta", "Cmd")
-	binding = "<kbd>" .. binding .. "</kbd>"
-	binding = binding:gsub("+", "</kbd>+<kbd>")
-	return binding
-end
-
-local commands = {}
-for os,keymap in pairs(keymaps) do
-	for keybinding,command in pairs(keymap) do
-		commands[command] = commands[command] or {}
-		commands[command][os] = keybinding
-	end
-end
-
-local sorted_commands = {}
-for command,bindings in pairs(commands) do
-	bindings.command = command
-	sorted_commands[#sorted_commands + 1] = bindings
-end
-table.sort(sorted_commands, function(a, b)
-	return a.command < b.command
-end)
-
-print("| Command | Windows | macOS | Linux |")
-print("|---------|---------|-------|-------|")
-for _,bindings in ipairs(sorted_commands) do
-	local command = bindings.command
-	command = command:gsub("-", " ")
-	command = command:sub(1,1):upper() .. command:sub(2)
-	local win32 = fix_binding(bindings.win32)
-	local macos = fix_binding(bindings.macos)
-	local linux = fix_binding(bindings.linux)
-	print(("| %s | %s | %s | %s |"):format(command, win32, macos, linux))
-end