microsoft / microsoft/TypeScript

Code completion: suggest tokens from "paths" in tsconfig.json

Abierto
#32,215 1 comentario 2 reacciones 0 asignados Ver en GitHub

Nadie ha tomado este issue todavía.

In Discussion Suggestion
Lenguaje dominante
Go
Estrellas
111k
Forks
14.3k
Merge medio
2 d 4 h
PR fusionados (30 d)
132

Descripción

Search Terms

Code completion; module

Suggestion

Use Cases

For those paths which contains no wildcard character, can we suggest tokens from module it points?

For example:

{
  "baseUrl": '.',
  "paths": {
    "my-base-module": [
        "../../dest/base"
    ],
}

in the example, we can say that bare module specifier "my-base-module" is mapped to path "../../dest/base", which is actually a .d.ts.

However, my IDE(Visual Studio Code) do not list available symbols in "my-base-module",
such as, When I type:

const v: Ve // I 'm going to type Vec3, which is defined in "../../dest/base".

I hopo IDE can suggest Vec3 and auto-complete the importing statement as:

import { Vec3 } from "my-base-module";

You may ask: Why don't you put "../../dest/base" in "types" option in tsconfig.json.

Well, the "../../dest/base" is just a library of me. It is indeed another Typescript project's output bundle file(bundling use rollup). It is bundled as a single module, which, in later, maybe registered as a SystemJS module with name "my-base-module" because I hope users of the library treat the library as a single JS module so they can write:

import /* xx */ from "my-base-module";

Examples

As stated above, I would upload my example if it's needed.

Checklist

My suggestion meets these guidelines:

  • [-] This wouldn't be a breaking change in existing TypeScript/JavaScript code
  • [-] This wouldn't change the runtime behavior of existing JavaScript code
  • [-] This could be implemented without emitting different JS based on the types of the expressions
  • [-] This isn't a runtime feature (e.g. library functionality, non-ECMAScript syntax with JavaScript output, etc.)
  • [-] This feature would agree with the rest of TypeScript's Design Goals.

Guía de contribución

Abrir la guía de contribución

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Línea de trabajo

El issue proporciona un ejemplo de rutas de tsconfig.json y un escenario de autocompletado de código en TypeScript, pero no menciona archivos ni pruebas del repositorio. Comienza reproduciendo el autocompletado que falta para Vec3 mediante el módulo bare asignado; se considera terminado cuando se sugieren símbolos del bundle asignado y el import usa "my-base-module".

Escrito por el modelo de indexación a partir del texto del issue.

Evaluación

Stack tecnológico
typescript
Área
developer-experience
Tipo de issue
Nueva funcionalidad
Dificultad
5/5
Tiempo estimado
Más de una semana
Estado de actividad
Estancado
Claridad
Bastante claro
Aptitud para principiantes
28/100

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.