Si mi código JS usa un módulo/variable que aún no se ha importado, VSCode lo subrayará en rojo
Imagen que muestra subrayado en VSCode
¿Cómo se puede configurar VSCode de modo que podamos seleccionar la variable no importada, presionar un acceso directo o seleccionar algo del menú contextual y seleccionar el módulo apropiado para importar?
Similar a Ctrl + . acceso directo de importación automática cuando se trata de archivos Rust
Normalmente, en Visual Studio Code, si escribe una variable o función que no está importada, Visual Studio Code la corregirá automáticamente, si la selecciona.
Por ejemplo, si estoy escribiendo la mitad del nombre de una función, inferirá que quiero una función, y cuando presiono Tab / Enter , la completará automáticamente y la importará.
Vea el GIF a continuación para ver un ejemplo visual.
Dado que ya existe un atajo que hace lo que desea (aunque en un idioma diferente), es posible que pueda crear un nuevo atajo basado en el existente.
Primero: abra los atajos de teclado y haga una búsqueda de "atajo inverso" para Ctrl + . . Hay un ícono cerca del lado derecho de la entrada de búsqueda que cambia el comportamiento de búsqueda a esto:
Puede encontrar varias coincidencias; estúdielos para identificar el comando de importación de Rust que le gusta. En particular, tome nota de la columna "Fuente": si la Fuente es "Extensión", eso significa que está obteniendo el comportamiento de Rust de una extensión, y es posible que necesite encontrar (o crear) una extensión similar que apunte a JS/TS . (Sospecho que lo hará, porque no tengo ningún comando relacionado con las importaciones en mi VSCode). El siguiente paso requiere que copie el valor de la columna Where, así que hágalo ahora.
Segundo: busque en la columna "Comando" el nombre dado a este comportamiento. Si el nombre es específico de Rust, realice una nueva búsqueda de un comando similar que no se dirija a Rust. Si existe tal comando, solo necesita configurarlo para que se ejecute cuando lo desee: edite ese acceso directo y pegue el valor "Cuándo" del comportamiento; esto puede requerir una edición manual si el comando When from the Rust menciona algo específico sobre Rust (por ejemplo, si incluye editorLangId == 'markdown' , cámbielo a 'javascript' y agregue una alternativa para mecanografiado también).
Si no hay un comando de importación automática que sea independiente del idioma y ninguno que sea específico de JS/TS (nuevamente, no veo uno en mi VSC), tendrá que confiar en la opción basada en Intellisense o encontrar (o crear) una extensión que haga esto. Crear una extensión es otro tema.