Visual Studio: ярлык для закрытия окна не работает

Я сменил ярлык, чтобы закрыть окно Ctrl + W и закрыть все окна на Ctrl + Shift + W. Закрыть все окна прекрасно, но Ctrl+W выбирает слово, находящееся под курсором, но не закрывает окно.

Когда я нажимаю правой кнопкой мыши вкладку, она говорит, что Ctrl + W является ярлыком для ее закрытия (а также Ctrl + S для сохранения и Ctrl + Shift + W, чтобы закрыть все), Почему только ярлык закрытого окна не работает?

Ответ 1

В Visual Studio (VS 2015 в моем случае, но это похоже на VS 2010 как минимум) сочетания клавиш могут иметь другое значение в зависимости от контекста, в котором они выполняются.

Нажмите "Инструменты"/"Параметры"/"Среда/Клавиатура", чтобы найти или определить ярлыки (возможно, вы уже это сделали). То, что я называю "контекстом", выбирается в поле со списком "Использовать новый ярлык в:". Скорее всего, вы определили ярлык в "Глобальном", но хотите, чтобы он работал в "Текстовом редакторе". В последнем Ctrl + W выбирает текущее слово.

Переопределите Ctrl + W для "Текстового редактора", и все будет в порядке.

Ответ 2

Я использую Visual Studio 2017 и попробовал ответ от @TobiMcNamobi, но у меня это не сработало. После нескольких таких попыток я начал работать с нижеуказанными шагами.

Вы должны добавить его как Global, иначе он не будет работать для представлений Designer.

  1. Добавьте CTRL + W в качестве ярлыка Global для Window.CloseDocumentWindow
  2. Удалите ярлык CTRL + W для Edit.SelectCurrentWord