├── .gitignore
├── .github
├── assignment.yml
├── locker.yml
└── needs_more_info.yml
├── atom-keyboard.png
├── contributions_list.png
├── atom-keyboard-padded.png
├── .vscodeignore
├── jsconfig.json
├── keybindings-markdown.js
├── .vscode
└── launch.json
├── LICENSE.md
├── CHANGELOG.md
├── SECURITY.md
├── README.md
└── package.json
/.gitignore:
--------------------------------------------------------------------------------
1 | .vscode-test-web
2 | node_modules
3 | keybindings.md
4 | *.vsix
5 |
--------------------------------------------------------------------------------
/.github/assignment.yml:
--------------------------------------------------------------------------------
1 | {
2 | perform: true,
3 | assignees: [chrisdias]
4 | }
5 |
--------------------------------------------------------------------------------
/atom-keyboard.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/microsoft/vscode-atom-keybindings/HEAD/atom-keyboard.png
--------------------------------------------------------------------------------
/.github/locker.yml:
--------------------------------------------------------------------------------
1 | {
2 | daysAfterClose: 45,
3 | daysSinceLastUpdate: 3,
4 | perform: true
5 | }
6 |
--------------------------------------------------------------------------------
/contributions_list.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/microsoft/vscode-atom-keybindings/HEAD/contributions_list.png
--------------------------------------------------------------------------------
/atom-keyboard-padded.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/microsoft/vscode-atom-keybindings/HEAD/atom-keyboard-padded.png
--------------------------------------------------------------------------------
/.vscodeignore:
--------------------------------------------------------------------------------
1 | .github
2 | .vscode
3 | .vscode-test-web
4 | build
5 | node_modules
6 | .gitignore
7 | jsconfig.json
8 | keybindings-markdown.js
9 | package-lock.json
10 |
--------------------------------------------------------------------------------
/jsconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "compilerOptions": {
3 | "module": "commonjs",
4 | "target": "es6",
5 | "lib": [
6 | "es6"
7 | ],
8 | "sourceMap": true,
9 | "rootDir": "."
10 | },
11 | "exclude": [
12 | "node_modules",
13 | ".vscode-test"
14 | ]
15 | }
--------------------------------------------------------------------------------
/.github/needs_more_info.yml:
--------------------------------------------------------------------------------
1 | {
2 | daysUntilClose: 7,
3 | needsMoreInfoLabel: 'needs more info',
4 | perform: true,
5 | closeComment: "This issue has been closed automatically because it needs more information and has not had recent activity. See also our [issue reporting](https://aka.ms/vscodeissuereporting) guidelines.\n\nHappy Coding!"
6 | }
--------------------------------------------------------------------------------
/keybindings-markdown.js:
--------------------------------------------------------------------------------
1 | const fs = require('fs');
2 |
3 | // Get keybindings from package.json
4 | const keybindings = require('./package.json').contributes.keybindings;
5 |
6 | // Markdown content structure
7 | const headerContent = `| Command | Mac | Windows | Linux |
8 | | :---------: | :---------: | :---------: | :----------: |
9 | `;
10 | const rowContent = (accumulatedContent, row) => `${accumulatedContent}| ${row.command} | ${row.mac} | ${row.win} | ${row.linux} |
11 | `;
12 |
13 | // Generate markdown
14 | const generateContent = (accumulatedContent, row) => rowContent(accumulatedContent, row);
15 | const markdownOutput = keybindings.reduce(generateContent, headerContent);
16 |
17 | // Save markdown to external file
18 | fs.writeFileSync('keybindings.md', markdownOutput);
19 |
--------------------------------------------------------------------------------
/.vscode/launch.json:
--------------------------------------------------------------------------------
1 | {
2 | "version": "0.2.0",
3 | "configurations": [
4 | {
5 | "name": "Launch Extension",
6 | "type": "extensionHost",
7 | "request": "launch",
8 | "runtimeExecutable": "${execPath}",
9 | "args": [
10 | "--extensionDevelopmentPath=${workspaceRoot}"
11 | ],
12 | "sourceMaps": true
13 | },
14 | {
15 | "name": "Run Web Extension in VS Code",
16 | "type": "extensionHost",
17 | "debugWebWorkerHost": true,
18 | "request": "launch",
19 | "args": [
20 | "--extensionDevelopmentPath=${workspaceFolder}",
21 | "--extensionDevelopmentKind=web"
22 | ],
23 | "outFiles": ["${workspaceFolder}/extension.js"]
24 | }
25 | ]
26 | }
--------------------------------------------------------------------------------
/LICENSE.md:
--------------------------------------------------------------------------------
1 | The MIT License (MIT)
2 |
3 | Copyright (c) 2016 - present Microsoft Corporation
4 |
5 | Permission is hereby granted, free of charge, to any person obtaining a copy
6 | of this software and associated documentation files (the "Software"), to deal
7 | in the Software without restriction, including without limitation the rights
8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9 | copies of the Software, and to permit persons to whom the Software is
10 | furnished to do so, subject to the following conditions:
11 |
12 | The above copyright notice and this permission notice shall be included in all
13 | copies or substantial portions of the Software.
14 |
15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21 | SOFTWARE.
22 |
--------------------------------------------------------------------------------
/CHANGELOG.md:
--------------------------------------------------------------------------------
1 | ## 3.0.9
2 | - Add `workspace` to `extensionKind` so we can be run in GitHub Codespaces and Remote
3 |
4 | ## 3.0.8
5 | - Roll back changes for [#47](https://github.com/microsoft/vscode-atom-keybindings/issues/47), as they are too disruptive (see [vscode#96894](https://github.com/microsoft/vscode/issues/96894)).
6 |
7 | ## 3.0.7
8 | - Fix typo [PR#63](https://github.com/microsoft/vscode-atom-keybindings/pull/63) (thank you @miclgael!)
9 | - Fix [#38](https://github.com/microsoft/vscode-atom-keybindings/issues/38)
10 | - Fix [#47](https://github.com/microsoft/vscode-atom-keybindings/issues/47)
11 |
12 | ## 3.0.4
13 | - More fixes for file explorer.
14 |
15 | ## 3.0.3
16 | - Fix overrriden shortcuts for file explorer. #40s
17 |
18 | ## 3.0.2
19 | - Added support for join lines keyboard shortcut in #39
20 |
21 | ## 3.0.1
22 | - Map `cmd+y`, `ctrl+y` to redo (thank you @ianaya89!)
23 | - Readme.md fix (thank you @glingy!)
24 |
25 | ## 3.0
26 | - Added settings for multi cursor mouse mapping and enabling format on paste by default.
27 |
28 | ## 2.0
29 | - Added default settings: minimap and format on paste
30 | - File tree view keyboard shortcuts migrated
31 |
32 | ## 1.0
33 | - Initial migration of keyboard shortcuts
34 |
--------------------------------------------------------------------------------
/SECURITY.md:
--------------------------------------------------------------------------------
1 |
2 |
3 | ## Security
4 |
5 | Microsoft takes the security of our software products and services seriously, which includes all source code repositories managed through our GitHub organizations, which include [Microsoft](https://github.com/Microsoft), [Azure](https://github.com/Azure), [DotNet](https://github.com/dotnet), [AspNet](https://github.com/aspnet), [Xamarin](https://github.com/xamarin), and [our GitHub organizations](https://opensource.microsoft.com/).
6 |
7 | If you believe you have found a security vulnerability in any Microsoft-owned repository that meets [Microsoft's definition of a security vulnerability](https://docs.microsoft.com/en-us/previous-versions/tn-archive/cc751383(v=technet.10)), please report it to us as described below.
8 |
9 | ## Reporting Security Issues
10 |
11 | **Please do not report security vulnerabilities through public GitHub issues.**
12 |
13 | Instead, please report them to the Microsoft Security Response Center (MSRC) at [https://msrc.microsoft.com/create-report](https://msrc.microsoft.com/create-report).
14 |
15 | If you prefer to submit without logging in, send email to [secure@microsoft.com](mailto:secure@microsoft.com). If possible, encrypt your message with our PGP key; please download it from the [Microsoft Security Response Center PGP Key page](https://www.microsoft.com/en-us/msrc/pgp-key-msrc).
16 |
17 | You should receive a response within 24 hours. If for some reason you do not, please follow up via email to ensure we received your original message. Additional information can be found at [microsoft.com/msrc](https://www.microsoft.com/msrc).
18 |
19 | Please include the requested information listed below (as much as you can provide) to help us better understand the nature and scope of the possible issue:
20 |
21 | * Type of issue (e.g. buffer overflow, SQL injection, cross-site scripting, etc.)
22 | * Full paths of source file(s) related to the manifestation of the issue
23 | * The location of the affected source code (tag/branch/commit or direct URL)
24 | * Any special configuration required to reproduce the issue
25 | * Step-by-step instructions to reproduce the issue
26 | * Proof-of-concept or exploit code (if possible)
27 | * Impact of the issue, including how an attacker might exploit the issue
28 |
29 | This information will help us triage your report more quickly.
30 |
31 | If you are reporting for a bug bounty, more complete reports can contribute to a higher bounty award. Please visit our [Microsoft Bug Bounty Program](https://microsoft.com/msrc/bounty) page for more details about our active programs.
32 |
33 | ## Preferred Languages
34 |
35 | We prefer all communications to be in English.
36 |
37 | ## Policy
38 |
39 | Microsoft follows the principle of [Coordinated Vulnerability Disclosure](https://www.microsoft.com/en-us/msrc/cvd).
40 |
41 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # Atom Keymap for VS Code
2 |
3 | This extension ports popular Atom keyboard shortcuts to Visual Studio Code. After installing the extension and restarting VS Code your favorite keyboard shortcuts from Atom are now available.
4 |
5 | ## Changes Introduced in Version 3.0
6 |
7 | - Multi cursor editing changed from alt + click to ctrl (or cmd) + click.
8 | - Enable format on paste.
9 |
10 | All of these features make VS Code more "Atom like." The changes to your User Settings file are as followed.
11 |
12 | ```javascript
13 | // Changes the multi cursor mouse binding
14 | "editor.multiCursorModifier": "ctrlCmd",
15 |
16 | // Controls whether format on paste is on or off
17 | "editor.formatOnPaste": true
18 | ```
19 |
20 | ## Why don't some Atom commands work?
21 |
22 | This is because VS Code has not implemented those features. Head on over to this [GitHub issue](https://github.com/microsoft/vscode/issues/14316) and let the VS Code team know what you'd like to see.
23 |
24 | Additionally, you can install an extension for many of these features:
25 |
26 | * [FontSize Shortcuts](https://marketplace.visualstudio.com/items?itemName=peterjuras.fontsize-shortcuts)
27 | * [change case](https://marketplace.visualstudio.com/items?itemName=wmaurer.change-case)
28 | * [transpose](https://marketplace.visualstudio.com/items?itemName=v4run.transpose)
29 |
30 | ## How do I contribute a keyboard shortcut?
31 |
32 | We may have missed a keyboard shortcut. If we did please help us out! It is very easy to make a PR.
33 |
34 | 1. Head over to our [GitHub repository](https://github.com/waderyan/vscode-atom-keybindings).
35 | 2. Open [`package.json`](https://github.com/waderyan/vscode-atom-keybindings/blob/master/package.json).
36 | 3. Add a JSON object to [`contributes.keybindings`](https://github.com/waderyan/vscode-atom-keybindings/blob/master/package.json#L25) as seen below.
37 | 4. Open a pull request.
38 |
39 | ```json
40 | {
41 | "mac": "",
42 | "linux": "",
43 | "win": "",
44 | "key": "",
45 | "command": ""
46 | }
47 | ```
48 |
49 | You can read more about how to contribute keybindings in extensions in the [official documentation](http://code.visualstudio.com/docs/extensionAPI/extension-points#_contributeskeybindings).
50 |
51 | ## What keyboard shortcuts are included?
52 |
53 | | Command | macOS | Windows | Linux |
54 | | :------ | :---- | :------ | :---- |
55 | | `cursorLeftSelect` | `ctrl+shift+b` | `ctrl+shift+b` | `ctrl+shift+b` |
56 | | `cursorRightSelect` | `ctrl+shift+f` | `ctrl+shift+f` | `ctrl+shift+f` |
57 | | `cursorUpSelect` | `ctrl+shift+p` | `ctrl+shift+p` | `ctrl+shift+p` |
58 | | `cursorDownSelect` | `ctrl+shift+n` | `ctrl+shift+n` | `ctrl+shift+n` |
59 | | `cursorWordEndRight` | `alt+f` | `alt+f` | `alt+f` |
60 | | `cursorWordStartLeft` | `alt+b` | `alt+b` | `alt+b` |
61 | | `cursorWordEndRightSelect` | `shift+alt+f` | `shift+alt+f` | `shift+alt+f` |
62 | | `cursorWordStartLeftSelect` | `shift+alt+b` | `shift+alt+b` | `shift+alt+b` |
63 | | `cursorEndSelect` | `ctrl+shift+e` | `ctrl+shift+e` | `ctrl+shift+e` |
64 | | `cursorHomeSelect` | `ctrl+shift+a` | `ctrl+shift+a` | `ctrl+shift+a` |
65 | | `cursorColumnSelectUp` | `ctrl+shift+up` | `undefined` | `shift+alt+up` |
66 | | `cursorColumnSelectDown` | `ctrl+shift+down` | `undefined` | `shift+alt+down` |
67 | | `editor.action.joinLines` | `cmd+j` | `ctrl+j` | `ctrl+j` |
68 | | `editor.action.moveLinesDownAction` | `ctrl+cmd+down` | `ctrl+down` | `ctrl+down` |
69 | | `editor.action.moveLinesUpAction` | `ctrl+cmd+up` | `ctrl+up` | `ctrl+up` |
70 | | `editor.action.copyLinesDownAction` | `cmd+shift+d` | `ctrl+shift+d` | `ctrl+shift+d` |
71 | | `editor.action.deleteLines` | `ctrl+shift+k` | `ctrl+shift+k` | `ctrl+shift+k` |
72 | | `editor.action.formatDocument` | `ctrl-alt-b` | `undefined` | `undefined` |
73 | | `editor.action.openLink` | `ctrl+shift+o` | `undefined` | `undefined` |
74 | | `editor.action.jumpToBracket` | `ctrl+m` | `ctrl+m` | `ctrl+m` |
75 | | `editor.action.showSnippets` | `alt+shift+s` | `alt+shift+s` | `alt+shift+s` |
76 | | `editor.action.format` | `ctrl+alt+b` | `alt+shift+f` | `ctrl+shift+i` |
77 | | `editor.fold` | `alt+cmd+[` | `ctrl+alt+/` | `ctrl+alt+/` |
78 | | `editor.unfold` | `alt+cmd+]` | `ctrl+alt+/` | `ctrl+alt+/` |
79 | | `editor.foldAll` | `alt+shift+cmd+[` | `ctrl+alt+[` | `ctrl+alt+[` |
80 | | `editor.unfoldAll` | `alt+shift+cmd+]` | `ctrl+alt+]` | `ctrl+alt+]` |
81 | | `editor.action.commentLine` | `cmd+shift+7` | `undefined` | `undefined` |
82 | | `editor.unfoldAll` | `alt+shift+cmd+]` | `ctrl+alt+]` | `ctrl+alt+]` |
83 | | `editor.unfoldAll` | `cmd+k cmd-0` | `undefined` | `undefined` |
84 | | `editor.foldLevel1` | `cmd+k cmd+1` | `ctrl+k ctrl+1` | `ctrl+k ctrl+1` |
85 | | `editor.foldLevel2` | `cmd+k cmd+2` | `ctrl+k ctrl+2` | `ctrl+k ctrl+2` |
86 | | `editor.foldLevel3` | `cmd+k cmd+3` | `ctrl+k ctrl+3` | `ctrl+k ctrl+3` |
87 | | `editor.foldLevel4` | `cmd+k cmd+4` | `ctrl+k ctrl+4` | `ctrl+k ctrl+4` |
88 | | `editor.foldLevel5` | `cmd+k cmd+5` | `ctrl+k ctrl+5` | `ctrl+k ctrl+5` |
89 | | `editor.action.selectHighlights` | `ctrl+cmd+g` | `alt+f3` | `alt+f3` |
90 | | `editor.action.insertCursorAtEndOfEachLineSelected` | `cmd+shift+l` | `alt+shift+l` | `alt+shift+l` |
91 | | `expandLineSelection` | `cmd+l` | `ctrl+l` | `ctrl+l` |
92 | | `explorer.newFile` | `a` | `a` | `a` |
93 | | `explorer.newFolder` | `shift+a` | `shift+a` | `shift+a` |
94 | | `explorer.openToSide` | `cmd+1` | `ctrl+1` | `ctrl+1` |
95 | | `filesExplorer.copy` | `cmd+c` | `ctrl+c` | `ctrl+c` |
96 | | `list.collapse` | `h` | `h` | `h` |
97 | | `list.expand` | `l` | `l` | `l` |
98 | | `list.focusDown` | `j` | `j` | `j` |
99 | | `list.focusUp` | `k` | `k` | `k` |
100 | | `moveFileToTrash` | `backspace` | `backspace` | `backspace` |
101 | | `markdown.showPreviewToSide` | `ctrl+shift+m` | `ctrl+shift+m` | `ctrl+shift+m` |
102 | | `redo` | `cmd+y` | `ctrl+y` | `ctrl+y` |
103 | | `workbench.action.toggleZenMode` | `cmd+shift+ctrl+f` | `shift+f11` | `shift+f11` |
104 | | `workbench.action.toggleSidebarVisibility` | `cmd+k cmd+b` | `ctrl+k ctrl+b` | `ctrl+k ctrl+b` |
105 | | `workbench.action.toggleSidebarVisibility` | `cmd+\` | `ctrl+\` | `ctrl+\` |
106 | | `workbench.action.splitEditor` | `cmd+k left` | `ctrl+k left` | `ctrl+k left` |
107 | | `workbench.action.quickOpen` | `cmd+t` | `ctrl+t` | `undefined` |
108 | | `workbench.action.quickOpenNavigateNext` | `cmd+b` | `ctrl+b` | `ctrl+b` |
109 | | `workbench.action.editor.changeLanguageMode` | `ctrl+shift+l` | `ctrl+shift+l` | `ctrl+shift+l` |
110 | | `workbench.action.reloadWindow` | `ctrl+alt+cmd+l` | `alt+ctrl+r` | `alt+ctrl+r` |
111 | | `workbench.action.toggleDevTools` | `alt+cmd+i` | `ctrl+alt+i` | `ctrl+alt+i` |
112 | | `workbench.action.files.openFolder` | `undefined` | `ctrl+shift+o` | `ctrl+shift+o` |
113 | | `workbench.action.files.openFileFolder` | `cmd+shift+o` | `undefined` | `undefined` |
114 | | `workbench.action.terminal.toggleTerminal` | `ctrl+alt+t` | `ctrl+` | `ctrl+` |
115 | | `workbench.action.toggleFullScreen` | `ctrl+cmd+f` | `f11` | `f11` |
116 | | `workbench.action.gotoSymbol` | `cmd+r` | `ctrl+r` | `ctrl+r` |
117 | | `workbench.action.zoomIn` | `cmd+=` | `undefined` | `undefined` |
118 | | `workbench.action.zoomOut` | `cmd+-` | `undefined` | `undefined` |
119 | | `workbench.action.nextEditor` | `undefined` | `ctrl+pagedown` | `ctrl+pagedown` |
120 | | `workbench.action.previousEditor` | `undefined` | `ctrl+pageup` | `ctrl+pageup` |
121 | | `workbench.action.zoomOut` | `cmd+-` | `ctrl+-` | `ctrl+-` |
122 | | `workbench.action.openEditorAtIndex1` | `cmd+1` | `alt+1` | `alt+1` |
123 | | `workbench.action.openEditorAtIndex2` | `cmd+2` | `alt+2` | `alt+2` |
124 | | `workbench.action.openEditorAtIndex3` | `cmd+3` | `alt+3` | `alt+3` |
125 | | `workbench.action.openEditorAtIndex4` | `cmd+4` | `alt+4` | `alt+4` |
126 | | `workbench.action.openEditorAtIndex5` | `cmd+5` | `alt+5` | `alt+5` |
127 | | `workbench.action.openEditorAtIndex6` | `cmd+6` | `alt+6` | `alt+6` |
128 | | `workbench.action.openEditorAtIndex7` | `cmd+7` | `alt+7` | `alt+7` |
129 | | `workbench.action.openEditorAtIndex8` | `cmd+8` | `alt+8` | `alt+8` |
130 | | `workbench.action.openEditorAtIndex9` | `cmd+9` | `alt+9` | `alt+9` |
131 | | `workbench.files.action.showActiveFileInExplorer` | `alt+cmd+\` | `ctrl+shift+\` | `ctrl+shift+\` |
132 | | `workbench.action.files.copyPathOfActiveFile` | `ctrl+shift+c` | `ctrl+shift+c` | `ctrl+shift+c` |
133 | | `workbench.action.openGlobalSettings` | `cmd+,` | `ctrl+,` | `ctrl+,` |
134 | | `workbench.action.showAllEditors` | `cmd+b` | `ctrl+b` | `ctrl+b` |
135 |
136 |
--------------------------------------------------------------------------------
/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "atom-keybindings",
3 | "displayName": "Atom Keymap",
4 | "description": "Popular Atom keybindings for Visual Studio Code",
5 | "version": "3.3.0",
6 | "publisher": "ms-vscode",
7 | "engines": {
8 | "vscode": "^1.75.0"
9 | },
10 | "license": "MIT",
11 | "categories": [
12 | "Keymaps"
13 | ],
14 | "keywords": [
15 | "keybindings",
16 | "keymap"
17 | ],
18 | "preview": true,
19 | "icon": "atom-keyboard-padded.png",
20 | "extensionKind": [
21 | "ui",
22 | "workspace"
23 | ],
24 | "contributes": {
25 | "keybindings": [
26 | {
27 | "mac": "a",
28 | "win": "a",
29 | "linux": "a",
30 | "key": "a",
31 | "when": "filesExplorerFocus && !inputFocus",
32 | "command": "explorer.newFile"
33 | },
34 | {
35 | "mac": "shift+a",
36 | "win": "shift+a",
37 | "linux": "shift+a",
38 | "key": "shift+a",
39 | "when": "filesExplorerFocus && !inputFocus",
40 | "command": "explorer.newFolder"
41 | },
42 | {
43 | "mac": "cmd+1",
44 | "win": "ctrl+1",
45 | "linux": "ctrl+1",
46 | "key": "ctrl+1",
47 | "when": "filesExplorerFocus && !inputFocus",
48 | "command": "explorer.openToSide"
49 | },
50 | {
51 | "mac": "backspace",
52 | "win": "backspace",
53 | "linux": "backspace",
54 | "key": "backspace",
55 | "when": "filesExplorerFocus && !inputFocus",
56 | "command": "moveFileToTrash"
57 | },
58 | {
59 | "mac": "cmd+c",
60 | "win": "ctrl+c",
61 | "linux": "ctrl+c",
62 | "key": "ctrl+c",
63 | "when": "filesExplorerFocus && !inputFocus",
64 | "command": "filesExplorer.copy"
65 | },
66 | {
67 | "mac": "h",
68 | "win": "h",
69 | "linux": "h",
70 | "key": "h",
71 | "when": "filesExplorerFocus && !inputFocus",
72 | "command": "list.collapse"
73 | },
74 | {
75 | "mac": "l",
76 | "win": "l",
77 | "linux": "l",
78 | "key": "l",
79 | "when": "filesExplorerFocus && !inputFocus",
80 | "command": "list.expand"
81 | },
82 | {
83 | "mac": "j",
84 | "win": "j",
85 | "linux": "j",
86 | "key": "j",
87 | "when": "filesExplorerFocus && !inputFocus",
88 | "command": "list.focusDown"
89 | },
90 | {
91 | "mac": "k",
92 | "win": "k",
93 | "linux": "k",
94 | "key": "k",
95 | "when": "filesExplorerFocus && !inputFocus",
96 | "command": "list.focusUp"
97 | },
98 | {
99 | "mac": "cmd+shift+ctrl+f",
100 | "win": "shift+f11",
101 | "linux": "shift+f11",
102 | "key": "shift+f11",
103 | "command": "workbench.action.toggleZenMode"
104 | },
105 | {
106 | "mac": "ctrl+cmd+down",
107 | "win": "ctrl+down",
108 | "linux": "ctrl+down",
109 | "key": "ctrl+down",
110 | "command": "editor.action.moveLinesDownAction",
111 | "when": "editorTextFocus"
112 | },
113 | {
114 | "mac": "ctrl+cmd+up",
115 | "win": "ctrl+up",
116 | "linux": "ctrl+up",
117 | "key": "ctrl+up",
118 | "command": "editor.action.moveLinesUpAction",
119 | "when": "editorTextFocus"
120 | },
121 | {
122 | "mac": "cmd+shift+d",
123 | "win": "ctrl+shift+d",
124 | "linux": "ctrl+shift+d",
125 | "key": "ctrl+shift+d",
126 | "command": "editor.action.copyLinesDownAction",
127 | "when": "editorTextFocus"
128 | },
129 | {
130 | "mac": "ctrl+shift+k",
131 | "win": "ctrl+shift+k",
132 | "linux": "ctrl+shift+k",
133 | "key": "ctrl+shift+k",
134 | "command": "editor.action.deleteLines",
135 | "when": "editorTextFocus"
136 | },
137 | {
138 | "mac": "cmd+k cmd+b",
139 | "win": "ctrl+k ctrl+b",
140 | "linux": "ctrl+k ctrl+b",
141 | "key": "ctrl+k ctrl+b",
142 | "command": "workbench.action.toggleSidebarVisibility"
143 | },
144 | {
145 | "mac": "cmd+\\",
146 | "win": "ctrl+\\",
147 | "linux": "ctrl+\\",
148 | "key": "ctrl+\\",
149 | "command": "workbench.action.toggleSidebarVisibility"
150 | },
151 | {
152 | "mac": "cmd+k left",
153 | "win": "ctrl+k left",
154 | "linux": "ctrl+k left",
155 | "key": "ctrl+k left",
156 | "command": "workbench.action.splitEditor"
157 | },
158 | {
159 | "mac": "cmd+t",
160 | "win": "ctrl+t",
161 | "key": "ctrl+p",
162 | "command": "workbench.action.quickOpen"
163 | },
164 | {
165 | "mac": "ctrl-alt-b",
166 | "key": "shift-alt-f",
167 | "command": "editor.action.formatDocument"
168 | },
169 | {
170 | "mac": "cmd+b",
171 | "win": "ctrl+b",
172 | "linux": "ctrl+b",
173 | "key": "ctrl+b",
174 | "command": "workbench.action.quickOpenNavigateNext",
175 | "when": "inQuickOpen"
176 | },
177 | {
178 | "mac": "ctrl+shift+l",
179 | "win": "ctrl+shift+l",
180 | "linux": "ctrl+shift+l",
181 | "key": "ctrl+shift+l",
182 | "command": "workbench.action.editor.changeLanguageMode"
183 | },
184 | {
185 | "mac": "ctrl+shift+m",
186 | "win": "ctrl+shift+m",
187 | "linux": "ctrl+shift+m",
188 | "key": "ctrl+shift+m",
189 | "command": "markdown.showPreviewToSide"
190 | },
191 | {
192 | "mac": "ctrl+alt+cmd+l",
193 | "win": "alt+ctrl+r",
194 | "linux": "alt+ctrl+r",
195 | "key": "alt+ctrl+r",
196 | "command": "workbench.action.reloadWindow"
197 | },
198 | {
199 | "mac": "ctrl+shift+o",
200 | "key": "none",
201 | "command": "editor.action.openLink"
202 | },
203 | {
204 | "mac": "alt+cmd+i",
205 | "win": "ctrl+alt+i",
206 | "linux": "ctrl+alt+i",
207 | "key": "ctrl+alt+i",
208 | "command": "workbench.action.toggleDevTools"
209 | },
210 | {
211 | "mac": "alt+shift+s",
212 | "win": "alt+shift+s",
213 | "linux": "alt+shift+s",
214 | "key": "alt+shift+s",
215 | "command": "editor.action.showSnippets"
216 | },
217 | {
218 | "win": "ctrl+shift+o",
219 | "linux": "ctrl+shift+o",
220 | "key": "ctrl+shift+o",
221 | "command": "workbench.action.files.openFolder"
222 | },
223 | {
224 | "mac": "cmd+shift+o",
225 | "key": "none",
226 | "command": "workbench.action.files.openFileFolder"
227 | },
228 | {
229 | "mac": "ctrl+m",
230 | "win": "ctrl+m",
231 | "linux": "ctrl+m",
232 | "key": "ctrl+m",
233 | "command": "editor.action.jumpToBracket",
234 | "when": "editorTextFocus"
235 | },
236 | {
237 | "mac": "cmd+l",
238 | "win": "ctrl+l",
239 | "linux": "ctrl+l",
240 | "key": "ctrl+l",
241 | "command": "expandLineSelection",
242 | "when": "editorTextFocus"
243 | },
244 | {
245 | "mac": "ctrl+shift+up",
246 | "linux": "shift+alt+up",
247 | "key": "shift+alt+up",
248 | "command": "cursorColumnSelectUp",
249 | "when": "editorTextFocus"
250 | },
251 | {
252 | "mac": "ctrl+shift+down",
253 | "linux": "shift+alt+down",
254 | "key": "shift+alt+down",
255 | "command": "cursorColumnSelectDown",
256 | "when": "editorTextFocus"
257 | },
258 | {
259 | "mac": "ctrl+alt+b",
260 | "win": "alt+shift+f",
261 | "linux": "ctrl+shift+i",
262 | "key": "ctrl+shift+i",
263 | "command": "editor.action.format",
264 | "when": "editorHasFormattingProvider && editorTextFocus && !editorReadonly"
265 | },
266 | {
267 | "mac": "ctrl+alt+t",
268 | "win": "ctrl+`",
269 | "linux": "ctrl+`",
270 | "key": "ctrl+`",
271 | "command": "workbench.action.terminal.toggleTerminal"
272 | },
273 | {
274 | "mac": "ctrl+cmd+f",
275 | "win": "f11",
276 | "linux": "f11",
277 | "key": "f11",
278 | "command": "workbench.action.toggleFullScreen"
279 | },
280 | {
281 | "mac": "cmd+r",
282 | "win": "ctrl+r",
283 | "linux": "ctrl+r",
284 | "key": "ctrl+r",
285 | "command": "workbench.action.gotoSymbol"
286 | },
287 | {
288 | "mac": "alt+cmd+[",
289 | "win": "alt+ctrl+[",
290 | "linux": "alt+ctrl+[",
291 | "key": "alt+ctrl+[",
292 | "command": "editor.fold",
293 | "when": "editorTextFocus"
294 | },
295 | {
296 | "mac": "alt+cmd+]",
297 | "win": "alt+ctrl+]",
298 | "linux": "alt+ctrl+]",
299 | "key": "alt+ctrl+]",
300 | "command": "editor.unfold",
301 | "when": "editorTextFocus"
302 | },
303 | {
304 | "mac": "alt+cmd+shift+[",
305 | "win": "alt+ctrl+shift+[",
306 | "linux": "alt+ctrl+shift+[",
307 | "key": "alt+ctrl+shift+[",
308 | "command": "editor.foldAll",
309 | "when": "editorTextFocus"
310 | },
311 | {
312 | "mac": "alt+cmd+shift+]",
313 | "win": "alt+ctrl+shift+]",
314 | "linux": "alt+ctrl+shift+]",
315 | "key": "alt+ctrl+shift+]",
316 | "command": "editor.unfoldAll",
317 | "when": "editorTextFocus"
318 | },
319 | {
320 | "mac": "cmd+shift+7",
321 | "key": "cmd+k cmd+c",
322 | "command": "editor.action.commentLine",
323 | "when": "editorTextFocus"
324 | },
325 | {
326 | "mac": "cmd+=",
327 | "key": "ctrl+=",
328 | "command": "workbench.action.zoomIn"
329 | },
330 | {
331 | "mac": "cmd+-",
332 | "key": "ctrl+-",
333 | "command": "workbench.action.zoomOut"
334 | },
335 | {
336 | "mac": "cmd+k cmd+1",
337 | "win": "ctrl+k ctrl+1",
338 | "linux": "ctrl+k ctrl+1",
339 | "key": "ctrl+k ctrl+1",
340 | "command": "editor.foldLevel1",
341 | "when": "editorTextFocus"
342 | },
343 | {
344 | "mac": "cmd+k cmd+2",
345 | "win": "ctrl+k ctrl+2",
346 | "linux": "ctrl+k ctrl+2",
347 | "key": "ctrl+k ctrl+2",
348 | "command": "editor.foldLevel2",
349 | "when": "editorTextFocus"
350 | },
351 | {
352 | "mac": "cmd+k cmd+3",
353 | "win": "ctrl+k ctrl+3",
354 | "linux": "ctrl+k ctrl+3",
355 | "key": "ctrl+k ctrl+3",
356 | "command": "editor.foldLevel3",
357 | "when": "editorTextFocus"
358 | },
359 | {
360 | "mac": "cmd+k cmd+4",
361 | "win": "ctrl+k ctrl+4",
362 | "linux": "ctrl+k ctrl+4",
363 | "key": "ctrl+k ctrl+4",
364 | "command": "editor.foldLevel4",
365 | "when": "editorTextFocus"
366 | },
367 | {
368 | "mac": "cmd+k cmd+5",
369 | "win": "ctrl+k ctrl+5",
370 | "linux": "ctrl+k ctrl+5",
371 | "key": "ctrl+k ctrl+5",
372 | "command": "editor.foldLevel5",
373 | "when": "editorTextFocus"
374 | },
375 | {
376 | "win": "ctrl+pagedown",
377 | "linux": "ctrl+pagedown",
378 | "key": "ctrl+pagedown",
379 | "command": "workbench.action.nextEditor"
380 | },
381 | {
382 | "win": "ctrl+pageup",
383 | "linux": "ctrl+pageup",
384 | "key": "ctrl+pageup",
385 | "command": "workbench.action.previousEditor"
386 | },
387 | {
388 | "mac": "ctrl+cmd+g",
389 | "win": "alt+f3",
390 | "linux": "alt+f3",
391 | "key": "alt+f3",
392 | "command": "editor.action.selectHighlights",
393 | "when": "editorFocus"
394 | },
395 | {
396 | "mac": "cmd+shift+l",
397 | "linux": "alt+shift+l",
398 | "win": "alt+shift+l",
399 | "key": "alt+shift+l",
400 | "command": "editor.action.insertCursorAtEndOfEachLineSelected",
401 | "when": "editorTextFocus && editorHasSelection"
402 | },
403 | {
404 | "mac": "cmd+-",
405 | "win": "ctrl+-",
406 | "linux": "ctrl+-",
407 | "key": "ctrl+-",
408 | "command": "workbench.action.zoomOut"
409 | },
410 | {
411 | "mac": "cmd+1",
412 | "win": "alt+1",
413 | "linux": "alt+1",
414 | "key": "alt+1",
415 | "command": "workbench.action.openEditorAtIndex1"
416 | },
417 | {
418 | "mac": "cmd+2",
419 | "win": "alt+2",
420 | "linux": "alt+2",
421 | "key": "alt+2",
422 | "command": "workbench.action.openEditorAtIndex2"
423 | },
424 | {
425 | "mac": "cmd+3",
426 | "win": "alt+3",
427 | "linux": "alt+3",
428 | "key": "alt+3",
429 | "command": "workbench.action.openEditorAtIndex3"
430 | },
431 | {
432 | "mac": "cmd+4",
433 | "win": "alt+4",
434 | "linux": "alt+4",
435 | "key": "alt+4",
436 | "command": "workbench.action.openEditorAtIndex4"
437 | },
438 | {
439 | "mac": "cmd+5",
440 | "win": "alt+5",
441 | "linux": "alt+5",
442 | "key": "alt+5",
443 | "command": "workbench.action.openEditorAtIndex5"
444 | },
445 | {
446 | "mac": "cmd+6",
447 | "win": "alt+6",
448 | "linux": "alt+6",
449 | "key": "alt+6",
450 | "command": "workbench.action.openEditorAtIndex6"
451 | },
452 | {
453 | "mac": "cmd+7",
454 | "win": "alt+7",
455 | "linux": "alt+7",
456 | "key": "alt+7",
457 | "command": "workbench.action.openEditorAtIndex7"
458 | },
459 | {
460 | "mac": "cmd+8",
461 | "win": "alt+8",
462 | "linux": "alt+8",
463 | "key": "alt+8",
464 | "command": "workbench.action.openEditorAtIndex8"
465 | },
466 | {
467 | "mac": "cmd+9",
468 | "win": "alt+9",
469 | "linux": "alt+9",
470 | "key": "alt+9",
471 | "command": "workbench.action.openEditorAtIndex9"
472 | },
473 | {
474 | "mac": "alt+cmd+\\",
475 | "win": "ctrl+shift+\\",
476 | "linux": "ctrl+shift+\\",
477 | "key": "ctrl+shift+\\",
478 | "command": "workbench.files.action.showActiveFileInExplorer"
479 | },
480 | {
481 | "mac": "ctrl+shift+c",
482 | "win": "ctrl+shift+c",
483 | "linux": "ctrl+shift+c",
484 | "key": "ctrl+shift+c",
485 | "command": "workbench.action.files.copyPathOfActiveFile",
486 | "when": "!terminalFocus"
487 | },
488 | {
489 | "mac": "cmd+,",
490 | "win": "ctrl+,",
491 | "linux": "ctrl+,",
492 | "key": "ctrl+,",
493 | "command": "workbench.action.openGlobalSettings"
494 | },
495 | {
496 | "mac": "cmd+b",
497 | "win": "ctrl+b",
498 | "linux": "ctrl+b",
499 | "key": "ctrl+b",
500 | "command": "workbench.action.showAllEditors"
501 | },
502 | {
503 | "mac": "cmd+ctrl+shift+f",
504 | "win": "shift+f11",
505 | "linux": "shift+f11",
506 | "key": "shift+f11",
507 | "command": "workbench.action.toggleZenMode"
508 | },
509 | {
510 | "mac": "cmd+y",
511 | "win": "ctrl+y",
512 | "linux": "ctrl+y",
513 | "key": "ctrl+y",
514 | "command": "redo"
515 | },
516 | {
517 | "mac": "cmd+j",
518 | "linux": "ctrl+j",
519 | "win": "ctrl+j",
520 | "key": "ctrl+j",
521 | "command": "editor.action.joinLines"
522 | },
523 | {
524 | "mac": "cmd+p",
525 | "win": "ctrl+p",
526 | "linux": "ctrl+p",
527 | "key": "ctrl+p",
528 | "command": "workbench.action.quickOpenPreviousEditor"
529 | },
530 | {
531 | "key": "/",
532 | "command": "list.toggleKeyboardNavigation",
533 | "when": "listFocus && !inputFocus && listSupportsKeyboardNavigation"
534 | },
535 | {
536 | "mac": "cmd+k",
537 | "win": "ctrl+k",
538 | "linux": "ctrl+k",
539 | "key": "ctrl+k",
540 | "command": "workbench.action.terminal.clear",
541 | "when": "terminalFocus"
542 | }
543 | ],
544 | "configurationDefaults": {
545 | "editor.multiCursorModifier": "ctrlCmd",
546 | "editor.formatOnPaste": true,
547 | "workbench.list.typeNavigationMode": "trigger"
548 | }
549 | },
550 | "scripts": {
551 | "open-in-browser": "vscode-test-web --extensionDevelopmentPath=. ."
552 | },
553 | "devDependencies": {
554 | "@vscode/test-web": "^0.0.74"
555 | },
556 | "repository": {
557 | "type": "git",
558 | "url": "https://github.com/Microsoft/vscode-atom-keybindings.git"
559 | },
560 | "bugs": {
561 | "url": "https://github.com/Microsoft/vscode-atom-keybindings/issues"
562 | }
563 | }
564 |
--------------------------------------------------------------------------------