Qual è il collegamento in Visual Studio Code per console.log


Risposte:


170

Aggiornamento febbraio 2019:

Come suggerito da Adrian Smith e altri: se desideri associare una scorciatoia da tastiera per creare un'istruzione di log della console, puoi fare quanto segue:

  1. File> Preferenze> Scorciatoie da tastiera
  2. Sotto la barra di ricerca vedrai un messaggio "Per personalizzazioni avanzate apri e modifica keybindings.json" , fai clic su di esso
  3. Aggiungi questo alle impostazioni JSON:
{
  "key": "ctrl+shift+l",
  "command": "editor.action.insertSnippet",
  "when": "editorTextFocus",
  "args": {
    "snippet": "console.log('${TM_SELECTED_TEXT}$1')$2;"
  }
}

Premendo CTRL+ SHIFT+ Lverrà emesso lo snippet della console. Inoltre, se hai già selezionato del testo, verrà inserito nell'istruzione log.


Se preferisci intellisene / completamento automatico:

Vai a Preferenze -> Snippet utente -> Scegli dattiloscritto (o qualunque lingua tu voglia). jsonDovrebbe aprirsi un file. Puoi aggiungere frammenti di codice lì.

Esiste già uno snippet per console.logcommentato:

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

Devi farlo per ogni lingua in cui vuoi usare lo snippet ... è un po 'fastidioso.


Inoltre, dovresti impostare "editor.snippetSuggestions": "top", in modo che i tuoi snippet vengano visualizzati sopra intellisense. Grazie @ Chris!

Puoi trovare suggerimenti di snippet in Preferenze -> Editor di testo -> Suggerimenti


2
Questo funzionava, ma non lo è più, forse dall'ultimo aggiornamento? Sono solo io? s17.postimg.org/5mxnx4umn/2017_02_14_11h10_03.jpg
Cristian Muscalu

Il prefisso definito sopra è "log" quindi digitare "c" non aiuta;) Inizia invece a digitare "l".
Sebastian Sebald

Oh, ho dimenticato di dire che avevo cambiato per lavorare con "c". Non ho cambiato nulla e dopo l'aggiornamento non funziona più. Non ho più lo snippet, ma questo "prefix": "c",dovrebbe farlo funzionare con "c", giusto?
Cristian Muscalu

Se tutto il resto è corretto. Sì. Tieni presente che devi anche aggiungere lo snippet a ciascuna lingua in cui desideri utilizzarlo. Quindi, se lo hai aggiunto a TS, non funzionerà in JS, viceversa.
Sebastian Sebald

1
In alternativa, puoi fare clic sul {}pulsante accanto alla barra di ricerca per aprire il keybindings.jsonfile - Il modo più semplice in quanto non sono stato in grado di vedere il messaggio "Per personalizzazioni avanzate apri e modifica keybindings.json" !
Aashish Chaubey

53

Tutte le risposte di cui sopra funzionano bene, ma se non vuoi cambiare la configurazione del codice dello studio visivo, preferisci il completamento automatico perché console.log(object); puoi semplicemente usare questa scorciatoia clg e premere Ctrl+ Spaceper il suggerimento e premere Enter
Nota : questa funzione è disponibile quando installi l'estensione dei frammenti di codice JavaScript (ES6).

Allo stesso modo hai il completamento automatico per:

  • clg perconsole.log(object);
  • clo perconsole.log('object :', object);
  • ccl perconsole.clear(object);
  • cer perconsole.error(object);
  • ctr per console.trace(object);
  • clt perconsole.table(object);
  • cin perconsole.info(object);
  • cco for console.count(label);

    (Questa lista continua ...)

collegamento per frammenti di codice JavaScript (ES6): https://marketplace.visualstudio.com/items?itemName=xabikos.JavaScriptSnippets

inserisci qui la descrizione dell'immagine


5
Perfetto. +1. Questo è quello che stavo cercando: non dover apportare modifiche alla configurazione.
Chris22,

39

La risposta migliore di @Sebastian Sebald va benissimo, ma avendo riscontrato un problema simile (non specificamente per console.log, ma piuttosto "mancante") ho voluto contribuire anche con una risposta.

Il tuo prefisso funziona davvero - per impostazione predefinita è loge nel tuo caso lo hai cambiato in c. Quando digiti log(oc ) VSCode genererà un elenco completo di "tutte le cose ™" basato su molti fattori (cioè non so quali fattori, probabilmente la rilevanza della classe).

Cose come gli snippet tendono a gravitare verso il basso. Per portarli in cima, nonostante la loro lunghezza, aggiungi questo alle tue impostazioni:

"editor.snippetSuggestions": "top"

3
Sei l'eroe di cui avevo bisogno. Grazie!
BinarySolo

1
Haha nessuna preoccupazione
Chris

Property editor.snippetSuggestions is not allowedTuttavia, ricevo un errore che dice , di cosa si tratta?
Bossan il

@Bossan "editor.snippetSuggestions": "top"deve essere posizionato nel file settings.json ( ctrl+shift+pe digita user settings) In alternativa, puoi cercare questa proprietà nelle impostazioni utente generali (Preferenze> Impostazioni) e utilizzare il menu a discesa per modificarlo top.
bordeaux

29

Digita loge premi enter. Si completerà automaticamenteconsole.log();


Mi sembra di avere un bug in cui digitare loge premere invio solo console.log();in alcune occasioni e non riesco a capire perché? Sono solo io o gli altri possono digitare logquindi inserire e ottenere un console.log();output coerente ogni volta?
Ben Clarke

2
Devi aspettare qualche millisecondo / secondo affinché la riga di comando ritorni a ciò che hai digitato. a volte rallenta un po '
nedemir

24

In Atom c'è una bella scorciatoia per console.log () e volevo lo stesso in VS Code.

Ho usato la soluzione di @kamp ma mi ci è voluto un po 'per capire come farlo. Ecco i passaggi che ho utilizzato.

  1. Vai a: File> Preferenze> Scorciatoie da tastiera

  2. Nella parte superiore della pagina vedrai un messaggio che dice: Per personalizzazioni avanzate apri e modifica keybindings.json

Fare clic sul collegamento

  1. Si aprono due riquadri: le associazioni di tasti predefinite e le associazioni personalizzate.

Immettere il codice nel riquadro di destra

  1. Inserisci il codice fornito da @kamp

Grazie per i passaggi dettagliati
Moaaz Bhnas

23

Un altro modo è aprire il file keybindings.json e aggiungere la combinazione di tasti desiderata. Nel mio caso è:

{
    "key": "cmd+shift+l",
    "command": "editor.action.insertSnippet",
    "when": "editorTextFocus",
    "args": {
      "snippet": "console.log($1)$0;"
    }
}

"CTRL + MAIUSC + C" per il "tasto" è un po 'più facile da fare clic con una mano IMO e non è già stato preso da un'altra combinazione di tasti se usi le combinazioni di tasti predefinite vs codice
russiansummer

15

Chiunque cerchi personalizzazioni avanzate apre e modifica keybindings.json

inserisci qui la descrizione dell'immagine

Fare clic su questa piccola icona per aprire keybindings.json.

Usa questo codice per generare sia console.log () che per generare console.log ("Word") per il testo selezionato.

{
  "key": "ctrl+shift+l",
  "command": "editor.action.insertSnippet",
  "when": "editorTextFocus",
  "args": {
    "snippet": "console.log('${TM_SELECTED_TEXT}$1')$2;"
  }
}

1
grazie, su mac dovevo andare su codice-> preferenze-> scorciatoie da tastiera e poi fare clic su quel pulsante, quindi mettere {...} all'interno dell'array.
rdprado

1
grazie amico, qualcuno dovrebbe aggiornare la risposta accettata in modo che tutti gli altri possano saltare 10 minuti di ricerca
Kris Lamote

1
Hai risparmiato un sacco di tempo amico !! Grazie
React Developer

Questo non è presente sul mio Mac. Dovevo fare cmd + maiusc + p e quindi cercare scorciatoie da tastiera (JSON)
martinedwards

10

Quando digiti il registro delle parole , vedrai qualcosa del genere:

Scegliendo il metodo che dice Accedi alla console

Scegli quello che dice Accedi alla console nel caso in cui vedi diverse opzioni di log (che sarebbe fondamentalmente possibile quando hai qualche identificatore con il nome log.

Fare clic su Invio.

console.log () digitato automaticamente!

L'intellisense farà il suo lavoro!


9

Nel caso in cui qualcuno sia interessato a inserire il testo attualmente selezionato console.log()nell'istruzione:

{
    "key": "cmd+shift+l",
    "command": "editor.action.insertSnippet",
    "when": "editorTextFocus",
    "args": {
      "snippet": "console.log(${TM_SELECTED_TEXT}$1)$0;"
    }
}

Questo e spettacolare!
AJ Hsu

9

Digita "clg", quindi premi ctrl+ spacee premi enter, verrà completato automaticamente console.log().
Per questo è sufficiente installare un'estensione, ad esempio frammenti di codice JavaScript (ES6).


Anche 'cwa' per console.warn ()
Amir Shabani

8

clg + tab

o come menzionato sopra,

log + invio (seconda opzione nel menu a discesa)

Questa è una vecchia domanda, ma spero sia utile a qualcun altro.


clg + tab dà ChannelMergerNodeper me!
jb

Penso che sia necessario modificare le associazioni dei tasti come indicato nelle risposte sopra;)
palmaone

2

Quello sotto è attualmente testo selezionato con virgolette singole. Spero che sia d'aiuto

// 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

Ecco una soluzione migliore

{
        "key": "cmd+shift+c",
        "command": "editor.action.insertSnippet",
        "when": "editorTextFocus",
        "args": {
            "snippet": "console.log('${TM_SELECTED_TEXT}', $TM_SELECTED_TEXT$1);"
        }
    }

2

Non so quale estensione sto usando ma digito semplicemente log e premo tab per completare automaticamente console.log (); posizionando il cursore tra le parentesi graffe.


1

Digita coe premi tabo enter.

Dovrebbe funzionare fuori dagli schemi.


Penso che questo potrebbe non essere molto affidabile o dipende dalle estensioni. Per me co + invio genera solo l'output di testo e co + tab genera "conferma". Anche "contro" + tab genera solo "console".
Joel Peltonen

0

In alternativa è possibile creare una funzione facile da scrivere che invoca il console.log e quindi chiamare semplicemente quella funzione.

 var a = funtion (x) {console.log(x)}
 a(2*2);        //prints 4

1
Questo non risponde alla domanda dell'OP in quanto dovrebbe essere importato su ogni progetto ed è solo un fastidio. Avere una combinazione di tasti incorporata è sicuramente il modo per andare qui
Sweet Chilly Philly,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.