microsoft / microsoft/TypeScript

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

Ouverte
#32,215 1 commentaire 2 réactions 0 personnes assignées Voir sur GitHub

Personne n'a encore pris cette issue.

In Discussion Suggestion
Langage dominant
Go
Étoiles
111k
Forks
14.3k
Merge moyen
2 j 4 h
PR mergées (30 j)
132

Description

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.

Guide de contribution

Ouvrir le guide de contribution

Par où commencer

  1. Lisez l'issue en entier, puis le guide de contribution du projet.
  2. Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
  3. Forkez le dépôt et travaillez sur une branche.
  4. Ouvrez une pull request qui référence le numéro de l'issue.

Piste de recherche

L’issue fournit un exemple de chemins dans tsconfig.json et un scénario de complétion de code TypeScript, mais ne nomme aucun fichier ni test du dépôt. Commencez par reproduire la complétion manquante pour Vec3 via le module bare mappé ; le travail est terminé lorsque des symboles du bundle mappé sont suggérés et que l’import utilise "my-base-module".

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Évaluation

Stack technique
typescript
Domaine
developer-experience
Type d'issue
Fonctionnalité
Difficulté
5/5
Temps estimé
Plus d'une semaine
Activité
À l'abandon
Clarté
Plutôt claire
Accessibilité débutants
28/100

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.