Могу ли я сделать ctrl + right / left перейти к следующей / последней заглавной букве, а не к следующему / последнему слову, соответственно, в Visual Studio? [Дубликат]

Работает для массивов / массивов внутри объекта. Защита от недопустимых значений.

/**
 * Retrieve nested item from object/array
 * @param {Object|Array} obj
 * @param {String} path dot separated
 * @param {*} def default value ( if result undefined )
 * @returns {*}
 */
function path(obj, path, def){
    var i, len;

    for(i = 0,path = path.split('.'), len = path.length; i < len; i++){
        if(!obj || typeof obj !== 'object') return def;
        obj = obj[path[i]];
    }

    if(obj === undefined) return def;
    return obj;
}

//////////////////////////
//         TEST         //
//////////////////////////

var arr = [true, {'sp ace': true}, true]

var obj = {
  'sp ace': true,
  arr: arr,
  nested: {'dotted.str.ing': true},
  arr3: arr
}

shouldThrow(`path(obj, "arr.0")`);
shouldBeDefined(`path(obj, "arr[0]")`);
shouldBeEqualToNumber(`path(obj, "arr.length")`, 3);
shouldBeTrue(`path(obj, "sp ace")`);
shouldBeEqualToString(`path(obj, "none.existed.prop", "fallback")`, "fallback");
shouldBeTrue(`path(obj, "nested['dotted.str.ing'])`);
<script src="https://cdn.rawgit.com/coderek/e7b30bac7634a50ad8fd/raw/174b6634c8f57aa8aac0716c5b7b2a7098e03584/js-test.js"></script>

101
задан serg10 24 November 2008 в 14:09
поделиться

10 ответов

Спасибо за тех, кто предложил Resharper. Дает мне еще одну причину любить его еще больше. Просто чтобы уточнить, где это происходит - JetBrains называют это CamelHumps (милый), и вы можете включить его, используя меню:

Resharper -> Options -> Environment -> Редактор -> Поведение редактора -> Использование CamelHumps

... в старых версиях Resharper, это:

Resharper -> Options -> Редактор -> Использование CamelHumps

120
ответ дан Matt 25 August 2018 в 19:27
поделиться
  • 1
    Есть ли опция, чтобы выбрать все слово, даже если CameHumps включен? На данный момент я должен нажать несколько раз несколько раз, чтобы выбрать слово. Надеюсь, ты меня поймаешь. – Ozkan 7 October 2016 в 14:01

По состоянию на июнь 2018 года (версия 1.25) VS Code поддерживает это изначально! Он упоминался в примечаниях к выпуску . Это относится к как к CamelCase, так и к snake_case.

Чтобы включить эту опцию, перейдите в «Клавиши быстрого доступа», либо в строке меню (Файл → Настройки → Клавиши быстрого доступа), либо используя сочетание клавиш (CtrlK и CtrlS).

Что вам нужно сделать, это установить следующее:

  • cursorWordPartLeft
  • cursorWordPartLeftSelect
  • cursorWordPartRight
  • cursorWordPartRightSelect

По умолчанию они установлены в CtrlAltLeft / Right Arrow и CtrlShiftAltLeft / Right Arrow. Если это не то, что вы хотите, вы можете изменить их, щелкнув значок редактирования или дважды щелкнув имя команды.

Хотя вам не нужно устанавливать эти команды (они равны по умолчанию), при этом им не нужно нажать Alt, чтобы вы могли использовать их, не задумываясь, хотите ли вы этого или нет.

0
ответ дан jhpratt 25 August 2018 в 19:27
поделиться

Если у вас установлен ReSharper, вы также можете настроить быстрые клавиши быстрого доступа Visual Studio «Alt-Right» и «Alt-Left» для CamelHump, не теряя стандартного поведения Visual Studio для «ctrl-right» и «ctrl-left».

Подробности здесь: http://davidrcook.wordpress.com/2009/11/05/working-with-camel-case-in-visual-studio/

19
ответ дан keremispirli 25 August 2018 в 19:27
поделиться
  • 1
    Вы просто сделали мой день. Идеальное решение в качестве верблюжьих горбов может быть таким штырем с длинными идентификаторами (как любой, кто использует Eclipse, будет свидетельствовать) – chrisb 19 March 2013 в 18:47
  • 2
    На самом деле это не плохая идея. Хорошая мысль! – Joseph Woodward 24 May 2016 в 10:26

Я не думаю, что Visual Studio поддерживает эту функцию внутренне, поскольку она, кажется, использует обычный способ Ctrl + Right и Ctrl + Left работать в среде Windows. Но это, вероятно, возможно с каким-то расширением или плагином.

-1
ответ дан Mehrdad Afshari 25 August 2018 в 19:27
поделиться
  • 1
    Предположение о том, смогут ли другие люди ответить на этот вопрос, на самом деле не является ответом на вопрос. – GregNash 29 April 2014 в 15:35

Resharper делает это. Я полагаю, вы могли бы написать свой собственный addin, чтобы сделать то же самое.

2
ответ дан open-collar 25 August 2018 в 19:27
поделиться

Добавьте макрос ниже в визуальную студию.

http://visualstudiomacros.blogspot.com/2008/03/getting-ctrl-right-arrow-to-respect.html

2
ответ дан ozan k 25 August 2018 в 19:27
поделиться

Функция Resharper поддерживает эту функцию.

5
ответ дан Petter Wigle 25 August 2018 в 19:27
поделиться

Любой, кто сталкивается с этим в 2015 году или за его пределами (кто не хочет платить за ReSharper или CodeRush , который больше не имеет бесплатной версии ), следующее бесплатное расширение добавляет эту функцию: Подслововая навигация

(В качестве альтернативы расширение VSTricks включает в себя подслововую навигацию в своем списке отличных функций.)

Подслово На странице состояния навигационного проекта:

Посмотрите Edit.Subword в привязках к клавиатуре, чтобы установить настройки.

Вот как я установил его в Visual Studio 2012:

  1. Перейдите в меню «Сервис»> «Параметры»> «Среда»> «Клавиатура»
  2. В разделе «Показать команды, содержащие» введите Edit.Subword
  3. Для перемещения на верблюдах вправо Выберите Edit.SubwordNext В разделе «Использовать новый ярлык в» выберите «Текстовый редактор» в разделе «Нажмите сочетания клавиш», нажмите ALT + Стрелка вправо Нажмите «Назначить» и перезаписать существующий ярлык (сначала перепишите существующий ярлык, если вы Не хочу терять shortcut)
  4. Для перемещения на верблюдах влево Выберите Edit.SubwordPrevious В разделе «Использовать новый ярлык в» выберите «Текстовый редактор» в разделе «Нажмите сочетания клавиш», нажмите ALT + Стрелка влево Нажмите Назначьте и перезапишите существующий ярлык (сначала переименуйте существующий ярлык, если вы не хотите потерять этот ярлык)
  5. Для выбора верблюжьих правых Выберите Edit.SubwordNextExtend В разделе «Использование новый ярлык в ", выберите« Текстовый редактор »в разделе« Нажмите сочетания клавиш », нажмите ALT + SHIFT + Стрелка вправо Нажмите« Назначить и перезаписать существующий ярлык »(сначала переименуйте существующий ярлык, если вы не хотите потерять этот ярлык)
  6. Для выбора верблюдов слева Выберите Edit.SubwordPreviousExtend В разделе «Использовать новый ярлык в» выберите «Текстовый редактор» в разделе «Нажмите клавиши быстрого доступа», нажмите ALT + SHIFT + Стрелка влево Нажмите «Назначить и перезаписать» существующий ярлык (сначала переназначить существующий ярлык, если вы не хотите потерять этот ярлык)
  7. Для удаление верблюжьей стрелки вправо Выберите Edit.SubwordDeleteNext В разделе «Использовать новый ярлык в» выберите «Текстовый редактор» в разделе «Нажмите клавиши быстрого доступа», нажмите ALT + DELETE. Нажмите «Назначить» и перезапишите существующий ярлык (сначала переназначьте существующий ярлык, если вы не хотите потерять этот ярлык)
  8. Для удаления верблюдов слева Выберите Edit.SubwordDeletePrevious В разделе «Использовать новый ярлык в» выберите «Текстовый редактор» в разделе «Нажмите сочетания клавиш», , нажмите ALT + BACKSPACE Нажмите «Назначить и перезаписать существующий ярлык» (сначала переименуйте существующий ярлык, если вы не хотите потерять этот ярлык)
81
ответ дан SombreErmine 25 August 2018 в 19:27
поделиться
  • 1
    Спасибо за голову! Это отлично работает и является самым открытым из представленных решений. – Chester Husk 19 May 2015 в 16:05
  • 2
    Вы имели в виду 2012 год? – JNF 31 May 2015 в 09:18
  • 3
    Особенно отличный ответ при предоставлении настроек. Я определенно ценю объяснение в Next / PreviousExtend – skia.heliou 22 June 2015 в 17:27
  • 4
    В 2015 году мне пришлось перезаписать команды TextEditor. *, А не команды Global. *. ALT + RIGHT уже привязан к чему-то еще. – seth flowers 13 September 2016 в 15:16
  • 5
    Это должен быть принятый ответ! – thiagoh 20 November 2016 в 23:07

Visual Studio не поддерживает это поведение. Однако, DevExpres's CodeRush! продукт поддерживает навигацию как это (с помощью Alt-Left & amp; Alt-Right), а также множество других функций для навигации. CodeRush! продукт также поставляется вместе с инструментом Refactor. Они также предлагают бесплатный CodeRush! & Амп; Refactor Express, хотя я не уверен, что навигация Camel Casing является частью экспресс-продукта.

2
ответ дан Steve Brouillard 25 August 2018 в 19:27
поделиться

Это не является родным для Visual Studio, но вы можете получить его бесплатно, используя CodeRush Express . (ReSharper и CodeRush требуют оплаты).

8
ответ дан Stewart Johnson 25 August 2018 в 19:27
поделиться
  • 1
    Только пробная версия бесплатна в наши дни – skia.heliou 22 June 2015 в 17:17
Другие вопросы по тегам:

Похожие вопросы: