提交 05ee54fc 编写于 作者: J João Moreno 提交者: GitHub

Merge pull request #7316 from elemongw/master

On mac ctrl-n should behave exactly like DownArrow
...@@ -492,10 +492,12 @@ export class CommonKeybindings { ...@@ -492,10 +492,12 @@ export class CommonKeybindings {
public static CTRLCMD_BACKSPACE: number = KeyMod.CtrlCmd | KeyCode.Backspace; public static CTRLCMD_BACKSPACE: number = KeyMod.CtrlCmd | KeyCode.Backspace;
public static UP_ARROW: number = KeyCode.UpArrow; public static UP_ARROW: number = KeyCode.UpArrow;
public static WINCTRL_P: number = KeyMod.WinCtrl | KeyCode.KEY_P;
public static SHIFT_UP_ARROW: number = KeyMod.Shift | KeyCode.UpArrow; public static SHIFT_UP_ARROW: number = KeyMod.Shift | KeyCode.UpArrow;
public static CTRLCMD_UP_ARROW: number = KeyMod.CtrlCmd | KeyCode.UpArrow; public static CTRLCMD_UP_ARROW: number = KeyMod.CtrlCmd | KeyCode.UpArrow;
public static DOWN_ARROW: number = KeyCode.DownArrow; public static DOWN_ARROW: number = KeyCode.DownArrow;
public static WINCTRL_N: number = KeyMod.WinCtrl | KeyCode.KEY_N;
public static SHIFT_DOWN_ARROW: number = KeyMod.Shift | KeyCode.DownArrow; public static SHIFT_DOWN_ARROW: number = KeyMod.Shift | KeyCode.DownArrow;
public static CTRLCMD_DOWN_ARROW: number = KeyMod.CtrlCmd | KeyCode.DownArrow; public static CTRLCMD_DOWN_ARROW: number = KeyMod.CtrlCmd | KeyCode.DownArrow;
......
...@@ -25,7 +25,7 @@ import {StandardKeyboardEvent} from 'vs/base/browser/keyboardEvent'; ...@@ -25,7 +25,7 @@ import {StandardKeyboardEvent} from 'vs/base/browser/keyboardEvent';
import {DefaultController, ClickBehavior} from 'vs/base/parts/tree/browser/treeDefaults'; import {DefaultController, ClickBehavior} from 'vs/base/parts/tree/browser/treeDefaults';
import DOM = require('vs/base/browser/dom'); import DOM = require('vs/base/browser/dom');
import {IActionProvider} from 'vs/base/parts/tree/browser/actionsRenderer'; import {IActionProvider} from 'vs/base/parts/tree/browser/actionsRenderer';
import {KeyCode, KeyMod} from 'vs/base/common/keyCodes'; import {KeyCode, KeyMod, CommonKeybindings} from 'vs/base/common/keyCodes';
import {IDisposable, dispose} from 'vs/base/common/lifecycle'; import {IDisposable, dispose} from 'vs/base/common/lifecycle';
import {ScrollbarVisibility} from 'vs/base/browser/ui/scrollbar/scrollableElementOptions'; import {ScrollbarVisibility} from 'vs/base/browser/ui/scrollbar/scrollableElementOptions';
...@@ -155,6 +155,15 @@ export class QuickOpenWidget implements IModelProvider { ...@@ -155,6 +155,15 @@ export class QuickOpenWidget implements IModelProvider {
DOM.addDisposableListener(this.inputBox.inputElement, DOM.EventType.KEY_DOWN, (e: KeyboardEvent) => { DOM.addDisposableListener(this.inputBox.inputElement, DOM.EventType.KEY_DOWN, (e: KeyboardEvent) => {
let keyboardEvent: StandardKeyboardEvent = new StandardKeyboardEvent(e); let keyboardEvent: StandardKeyboardEvent = new StandardKeyboardEvent(e);
if (platform.isMacintosh) {
if (keyboardEvent.equals(CommonKeybindings.WINCTRL_N)) {
keyboardEvent.keyCode = KeyCode.DownArrow;
}
else if (keyboardEvent.equals(CommonKeybindings.WINCTRL_P)) {
keyboardEvent.keyCode = KeyCode.UpArrow;
}
}
// Do not handle Tab: It is used to navigate between elements without mouse // Do not handle Tab: It is used to navigate between elements without mouse
if (keyboardEvent.keyCode === KeyCode.Tab) { if (keyboardEvent.keyCode === KeyCode.Tab) {
return; return;
...@@ -227,6 +236,15 @@ export class QuickOpenWidget implements IModelProvider { ...@@ -227,6 +236,15 @@ export class QuickOpenWidget implements IModelProvider {
return; return;
} }
if (platform.isMacintosh) {
if (keyboardEvent.equals(CommonKeybindings.WINCTRL_N)) {
keyboardEvent.keyCode = KeyCode.DownArrow;
}
else if (keyboardEvent.equals(CommonKeybindings.WINCTRL_P)) {
keyboardEvent.keyCode = KeyCode.UpArrow;
}
}
// Support keyboard navigation in quick navigation mode // Support keyboard navigation in quick navigation mode
if (keyboardEvent.keyCode === KeyCode.DownArrow || keyboardEvent.keyCode === KeyCode.UpArrow || keyboardEvent.keyCode === KeyCode.PageDown || keyboardEvent.keyCode === KeyCode.PageUp) { if (keyboardEvent.keyCode === KeyCode.DownArrow || keyboardEvent.keyCode === KeyCode.UpArrow || keyboardEvent.keyCode === KeyCode.PageDown || keyboardEvent.keyCode === KeyCode.PageUp) {
DOM.EventHelper.stop(e, true); DOM.EventHelper.stop(e, true);
......
...@@ -113,7 +113,8 @@ KeybindingsRegistry.registerCommandDesc({ ...@@ -113,7 +113,8 @@ KeybindingsRegistry.registerCommandDesc({
weight, weight,
when: KbExpr.and(KbExpr.has(KEYBINDING_CONTEXT_EDITOR_TEXT_FOCUS), KbExpr.has(Context.Visible), KbExpr.has(Context.MultipleSignatures)), when: KbExpr.and(KbExpr.has(KEYBINDING_CONTEXT_EDITOR_TEXT_FOCUS), KbExpr.has(Context.Visible), KbExpr.has(Context.MultipleSignatures)),
primary: KeyCode.UpArrow, primary: KeyCode.UpArrow,
secondary: [KeyMod.Alt | KeyCode.UpArrow] secondary: [KeyMod.Alt | KeyCode.UpArrow],
mac: { primary: KeyCode.UpArrow, secondary: [KeyMod.Alt | KeyCode.UpArrow, KeyMod.WinCtrl | KeyCode.KEY_P] }
}); });
KeybindingsRegistry.registerCommandDesc({ KeybindingsRegistry.registerCommandDesc({
...@@ -122,5 +123,6 @@ KeybindingsRegistry.registerCommandDesc({ ...@@ -122,5 +123,6 @@ KeybindingsRegistry.registerCommandDesc({
weight, weight,
when: KbExpr.and(KbExpr.has(KEYBINDING_CONTEXT_EDITOR_TEXT_FOCUS), KbExpr.has(Context.Visible), KbExpr.has(Context.MultipleSignatures)), when: KbExpr.and(KbExpr.has(KEYBINDING_CONTEXT_EDITOR_TEXT_FOCUS), KbExpr.has(Context.Visible), KbExpr.has(Context.MultipleSignatures)),
primary: KeyCode.DownArrow, primary: KeyCode.DownArrow,
secondary: [KeyMod.Alt | KeyCode.DownArrow] secondary: [KeyMod.Alt | KeyCode.DownArrow],
mac: { primary: KeyCode.DownArrow, secondary: [KeyMod.Alt | KeyCode.DownArrow, KeyMod.WinCtrl | KeyCode.KEY_N] }
}); });
\ No newline at end of file
...@@ -151,7 +151,7 @@ CommonEditorRegistry.registerEditorCommand('closeQuickFixWidget', weight, { prim ...@@ -151,7 +151,7 @@ CommonEditorRegistry.registerEditorCommand('closeQuickFixWidget', weight, { prim
var controller = QuickFixController.getQuickFixController(editor); var controller = QuickFixController.getQuickFixController(editor);
controller.closeWidget(); controller.closeWidget();
}); });
CommonEditorRegistry.registerEditorCommand('selectNextQuickFix', weight, { primary: KeyCode.DownArrow }, false, CONTEXT_QUICK_FIX_WIDGET_VISIBLE,(ctx, editor, args) => { CommonEditorRegistry.registerEditorCommand('selectNextQuickFix', weight, { primary: KeyCode.DownArrow , mac: { primary: KeyCode.DownArrow, secondary: [KeyMod.WinCtrl | KeyCode.KEY_N] } }, false, CONTEXT_QUICK_FIX_WIDGET_VISIBLE,(ctx, editor, args) => {
var controller = QuickFixController.getQuickFixController(editor); var controller = QuickFixController.getQuickFixController(editor);
controller.selectNextSuggestion(); controller.selectNextSuggestion();
}); });
...@@ -159,7 +159,7 @@ CommonEditorRegistry.registerEditorCommand('selectNextPageQuickFix', weight, { p ...@@ -159,7 +159,7 @@ CommonEditorRegistry.registerEditorCommand('selectNextPageQuickFix', weight, { p
var controller = QuickFixController.getQuickFixController(editor); var controller = QuickFixController.getQuickFixController(editor);
controller.selectNextPageSuggestion(); controller.selectNextPageSuggestion();
}); });
CommonEditorRegistry.registerEditorCommand('selectPrevQuickFix', weight, { primary: KeyCode.UpArrow }, false, CONTEXT_QUICK_FIX_WIDGET_VISIBLE,(ctx, editor, args) => { CommonEditorRegistry.registerEditorCommand('selectPrevQuickFix', weight, { primary: KeyCode.UpArrow , mac: { primary: KeyCode.UpArrow, secondary: [KeyMod.WinCtrl | KeyCode.KEY_P] }}, false, CONTEXT_QUICK_FIX_WIDGET_VISIBLE,(ctx, editor, args) => {
var controller = QuickFixController.getQuickFixController(editor); var controller = QuickFixController.getQuickFixController(editor);
controller.selectPrevSuggestion(); controller.selectPrevSuggestion();
}); });
......
...@@ -252,7 +252,8 @@ KeybindingsRegistry.registerCommandDesc({ ...@@ -252,7 +252,8 @@ KeybindingsRegistry.registerCommandDesc({
weight, weight,
when: KbExpr.and(KbExpr.has(KEYBINDING_CONTEXT_EDITOR_TEXT_FOCUS), KbExpr.has(SuggestContext.Visible), KbExpr.has(SuggestContext.MultipleSuggestions)), when: KbExpr.and(KbExpr.has(KEYBINDING_CONTEXT_EDITOR_TEXT_FOCUS), KbExpr.has(SuggestContext.Visible), KbExpr.has(SuggestContext.MultipleSuggestions)),
primary: KeyCode.DownArrow, primary: KeyCode.DownArrow,
secondary: [KeyMod.Alt | KeyCode.DownArrow] secondary: [KeyMod.Alt | KeyCode.DownArrow],
mac: { primary: KeyCode.DownArrow, secondary: [KeyMod.Alt | KeyCode.DownArrow, KeyMod.WinCtrl | KeyCode.KEY_N] }
}); });
KeybindingsRegistry.registerCommandDesc({ KeybindingsRegistry.registerCommandDesc({
...@@ -270,7 +271,8 @@ KeybindingsRegistry.registerCommandDesc({ ...@@ -270,7 +271,8 @@ KeybindingsRegistry.registerCommandDesc({
weight, weight,
when: KbExpr.and(KbExpr.has(KEYBINDING_CONTEXT_EDITOR_TEXT_FOCUS), KbExpr.has(SuggestContext.Visible), KbExpr.has(SuggestContext.MultipleSuggestions)), when: KbExpr.and(KbExpr.has(KEYBINDING_CONTEXT_EDITOR_TEXT_FOCUS), KbExpr.has(SuggestContext.Visible), KbExpr.has(SuggestContext.MultipleSuggestions)),
primary: KeyCode.UpArrow, primary: KeyCode.UpArrow,
secondary: [KeyMod.Alt | KeyCode.UpArrow] secondary: [KeyMod.Alt | KeyCode.UpArrow],
mac: { primary: KeyCode.UpArrow, secondary: [KeyMod.Alt | KeyCode.UpArrow, KeyMod.WinCtrl | KeyCode.KEY_P] }
}); });
KeybindingsRegistry.registerCommandDesc({ KeybindingsRegistry.registerCommandDesc({
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册