Что такое ярлык в коде Visual Studio для console.log

Ответы:

176

Обновление февраля 2019 г .:

Как было предложено Адрианом Смитом и другими: если вы хотите связать сочетание клавиш для создания оператора журнала консоли, вы можете сделать следующее:

  1. Файл> Настройки> Сочетания клавиш
  2. Над панелью поиска справа вы увидите значок, который при наведении указателя мыши говорит «Открытые сочетания клавиш (JSON)» , нажмите на него.
  3. Добавьте это в настройки JSON:
{
  "key": "ctrl+shift+l",
  "command": "editor.action.insertSnippet",
  "when": "editorTextFocus",
  "args": {
    "snippet": "console.log('${TM_SELECTED_TEXT}$1')$2;"
  }
}

Нажатие CTRL+ SHIFT+ Lвыведет фрагмент консоли. Кроме того, если у вас уже есть выделенный текст, он будет помещен в оператор журнала.


Если вы предпочитаете intellisene / autocomplete:

Перейдите в « Настройки» -> « Пользовательские фрагменты» -> «Выбрать машинописный текст» (или любой другой язык, который вы хотите). jsonФайл должен открыться. Вы можете добавить туда фрагменты кода.

Уже есть фрагмент для console.logзакомментированного:

"Print to console": {
    "prefix": "log",
    "body": [
        "console.log('$1');",
        "$2"
    ],
    "description": "Log output to console"
}

Вы должны сделать это для каждого языка, на котором хотите использовать фрагмент ... немного беспокоит.


Кроме того, вы должны установить "editor.snippetSuggestions": "top", чтобы ваши фрагменты отображались над intellisense. Спасибо @Chris!

Вы можете найти предложения по фрагментам в разделе «Настройки» -> «Текстовый редактор» -> «Предложения».

Себастьян Себальд
источник
3
Раньше это работало, но больше не работает, может быть, с момента последнего обновления? Это только я? s17.postimg.org/5mxnx4umn/2017_02_14_11h10_03.jpg
Кристиан Мускалу,
Определенный выше префикс - "log", поэтому ввод "c" не поможет;) Вместо этого начните вводить "l".
Себастьян Себальд,
О, я забыл упомянуть, что изменил его, чтобы он работал с "c". Ничего не менял, и после обновления уже не работает. У вас больше нет фрагмента, но он "prefix": "c",должен работать с "c", верно?
Кристиан Мускалу,
Если все остальное правильно. Да. Обратите внимание, что вам также необходимо добавить фрагмент для каждого языка, на котором вы хотите его использовать. Поэтому, если вы добавили его в TS, он не будет работать в JS, наоборот.
Себастьян Себальд,
1
Вы также можете щелкнуть {}кнопку рядом с панелью поиска, чтобы открыть keybindings.jsonфайл - Самый простой способ, так как я не смог увидеть сообщение «Для расширенных настроек откройте и отредактируйте keybindings.json» !
Аашиш Чаубей
68

Все приведенные выше ответы работают нормально, но если вы не хотите изменять конфигурацию кода визуальной студии, вам нужно автозаполнение, console.log(object); вы можете просто использовать этот ярлык clg и нажать Ctrl+ Spaceдля предложения и нажать Enter
Примечание : эта функция доступна при установке расширения фрагментов кода JavaScript (ES6).

Точно так же у вас есть автозаполнение для:

  • clg дляconsole.log(object);
  • закрыто дляconsole.log('object :', object);
  • ccl дляconsole.clear(object);
  • Cer дляconsole.error(object);
  • ctr для console.trace(object);
  • clt дляconsole.table(object);
  • cin дляconsole.info(object);
  • cco для console.count(label);

    (Этот список продолжается ...)

ссылка для фрагментов кода JavaScript (ES6): https://marketplace.visualstudio.com/items?itemName=xabikos.JavaScriptSnippets

введите описание изображения здесь

Сабункар Теджас Сахайлеш
источник
5
Отлично. +1. Это то, что я искал - не вносить никаких изменений в конфигурацию.
Chris22
40

Главный ответ @Sebastian Sebald - это прекрасно, но, столкнувшись с аналогичной проблемой (не с console.log конкретно, а скорее с «отсутствием»), я также хотел внести свой ответ.

Ваш префикс действительно работает - по умолчанию его, logа в вашем случае вы изменили его на c. Когда вы набираете log(или c), VSCode сгенерирует полный список «all the things ™», основанный на многих факторах (т.е. я не знаю, какие факторы, возможно, релевантность класса).

Такие вещи, как сниппеты, имеют тенденцию тяготеть ко дну. Чтобы поднять их вверх, несмотря на их длину, добавьте это в свои настройки:

"editor.snippetSuggestions": "top"
Крис
источник
3
Ты герой, который мне был нужен. Благодарность!
BinarySolo
1
Ха-ха, совсем не беспокойся
Крис
Я получаю сообщение об ошибке: о Property editor.snippetSuggestions is not allowedчем это?
Bossan
@Bossan "editor.snippetSuggestions": "top"следует поместить в файл settings.json ( ctrl+shift+pи ввести user settings). В качестве альтернативы вы можете найти это свойство в общих пользовательских настройках («Настройки»> «Настройки») и использовать раскрывающееся меню, чтобы изменить его на top.
Бордо
32

Введите logи нажмите enter. Будет автоматически заполненоconsole.log();

недемир
источник
Кажется, у меня есть ошибка, из-за которой в некоторых случаях ввод logи нажатие только вводят вывод console.log();, и я не могу понять, почему? Это только я, или другие могут печатать, а logзатем вводить и console.log();каждый раз получать согласованный вывод?
Бен Кларк
2
Вам нужно подождать несколько миллисекунд / секунд, чтобы командная строка восстановила то, что вы набрали. иногда немного
тормозит
24

В Atom есть хороший ярлык для console.log (), и я хотел того же в VS Code.

Я использовал решение @kamp, но мне потребовалось время, чтобы понять, как это сделать. Вот шаги, которые я использовал.

  1. Перейдите в: Файл> Настройки> Сочетания клавиш.

  2. Вверху страницы вы увидите сообщение: Для расширенных настроек откройте и отредактируйте keybindings.json.

Нажмите на ссылку

  1. Это открывает две панели: привязки клавиш по умолчанию и ваши настраиваемые привязки.

Введите код на правой панели

  1. Введите код, предоставленный @kamp
Адриан Смит
источник
Спасибо за подробные
инструкции
23

Другой способ - открыть файл keybindings.json и добавить желаемую комбинацию клавиш. В моем случае это:

{
    "key": "cmd+shift+l",
    "command": "editor.action.insertSnippet",
    "when": "editorTextFocus",
    "args": {
      "snippet": "console.log($1)$0;"
    }
}
камп
источник
«Ctrl + Shift + C» для «ключа» немного проще нажать одной рукой IMO и его уже не взяли другой сочетание клавиш , если вы используете по умолчанию против кода привязок
russiansummer
15

Любой, кто ищет расширенные настройки, открывает и редактирует keybindings.json

введите описание изображения здесь

Щелкните этот маленький значок, чтобы открыть keybindings.json.

Используйте этот код для генерации console.log () и console.log («Word») для выделенного текста.

{
  "key": "ctrl+shift+l",
  "command": "editor.action.insertSnippet",
  "when": "editorTextFocus",
  "args": {
    "snippet": "console.log('${TM_SELECTED_TEXT}$1')$2;"
  }
}
Хиран Д.А. Валаваге
источник
1
спасибо, на Mac нужно было перейти в код-> настройки-> сочетания клавиш, а затем нажать на эту кнопку, а затем поместить {...} в массив.
rdprado
1
спасибо, человек, кто-то должен обновить принятый ответ, чтобы все остальные могли пропустить 10 минут поиска
Крис Ламоте
1
Вы сэкономили много времени, чувак !! Спасибо
разработчик React
На моем Mac этого нет. Мне нужно было сделать cmd + shift + p, а затем искать сочетания клавиш (JSON)
martinedwards
11

Когда вы наберете слово log , вы увидите что-то вроде этого:

Выбор метода, который говорит, что войти в консоль

Выберите тот, который говорит Журнал в консоли, если вы видите разные параметры журнала (в основном это возможно, если у вас есть какой-то идентификатор с именем журнала.

Щелкните Enter.

console.log () набирается автоматически!

Intellisense сделает свое дело!

Сришти
источник
9

В случае, если кто-то хочет поместить в console.log()оператор текущий выделенный текст :

{
    "key": "cmd+shift+l",
    "command": "editor.action.insertSnippet",
    "when": "editorTextFocus",
    "args": {
      "snippet": "console.log(${TM_SELECTED_TEXT}$1)$0;"
    }
}
medoingthings
источник
Это круто!
AJ Hsu
9

clg + tab

или, как указано выше,

журнал + ввод (второй вариант в раскрывающемся списке)

Это старый вопрос, но я надеюсь, что он будет полезен кому-нибудь еще.

Пальмаоне
источник
clg + tab дает ChannelMergerNodeдля меня!
jb
Я думаю, вам нужно отредактировать свои сочетания клавиш, как указано в ответах выше;)
Palmaone
9

Введите "clg", затем нажмите ctrl+ spaceи нажмите enter, он автоматически завершится до console.log().
Для этого вам нужно только установить расширение, например, фрагменты кода JavaScript (ES6).

Валид Шахзаиб
источник
Также cwa для console.warn ()
Амир Шабани
3

Я не знаю, какое расширение я использую, но я просто набираю журнал и нажимаю вкладку для автозаполнения console.log (); поместив курсор между фигурными скобками.

Райан
источник
2

Нижеприведенный текст выделен в одинарные кавычки. Надеюсь, это поможет

// Place your key bindings in this file to overwrite the defaults
[{
    "key": "ctrl+shift+c",
    "command": "editor.action.insertSnippet",
    "when": "editorTextFocus",
    "args": {
        "snippet": "console.log('${TM_SELECTED_TEXT}$1')$2;"
    }

}]
Рагаван Раджан
источник
2

Вот лучшее решение

{
        "key": "cmd+shift+c",
        "command": "editor.action.insertSnippet",
        "when": "editorTextFocus",
        "args": {
            "snippet": "console.log('${TM_SELECTED_TEXT}', $TM_SELECTED_TEXT$1);"
        }
    }
Парам Сингх
источник
0

В качестве альтернативы вы можете создать функцию, которую легко написать, которая вызывает console.log, а затем просто вызывает эту функцию.

 var a = funtion (x) {console.log(x)}
 a(2*2);        //prints 4
зазадада
источник
1
Это не ответ на вопрос OP, так как это должно быть импортировано по каждому проекту, и это просто неприятность. Иметь встроенную клавиатуру - определенно их путь сюда
Sweet Chilly Philly
0

Введите coи нажмите tabили enter.

Должно работать из коробки.

Марек В
источник
Я думаю, что это может быть не очень надежно или зависит от расширений. Для меня co + enter генерирует только текстовый вывод, а co + tab генерирует «подтверждение». Даже «минусы» + вкладка просто генерирует «консоль».
Джоэл Пелтонен,
конвертируется в consoleдля меня
Джои Барух