microsoft / microsoft/TypeScript
A new generic type can be used for file path completion(intellisense)
Nadie ha tomado este issue todavía.
- Lenguaje dominante
- Go
- Estrellas
- 111k
- Forks
- 14.3k
- Merge medio
- 1 d 19 h
- PR fusionados (30 d)
- 117
Descripción
🔍 Search Terms
"path intellisense","path completion","asset path completion"
✅ Viability Checklist
- 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, new syntax sugar for JS, etc.)
- This isn't a request to add a new utility type: https://github.com/microsoft/TypeScript/wiki/No-New-Utility-Types
- This feature would agree with the rest of our Design Goals: https://github.com/Microsoft/TypeScript/wiki/TypeScript-Design-Goals
⭐ Suggestion
Add a tool generics so that some function parameters can enable file path type hints
some assets in ../assets
function getImageUrl(name:T<"../assets">) {
...
return ...
}
getImageUrl("// intellisense
📃 Motivating Example
Enable custom file path completion through generics
💻 Use Cases
- What do you want to use this for?
When I used vite static resource introduction, I used a function to wrap it, but the function parameters could not achieve type hints like import.
the function like:
function getImageUrl(name:string) { // lost file intellisense
return new URL(`./dir/${name}.png`, import.meta.url).href
}
- What shortcomings exist with current approaches?
Only import statements support path completion and cannot be customized
- What workarounds are you using in the meantime?
i make a vscode extension
Guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Línea de trabajo
Comienza con la sintaxis de tipos genéricos solicitada y compárala con la finalización de rutas existente en las instrucciones de importación. Revisa el ejemplo del envoltorio de assets de Vite y la solución alternativa informada para la extensión de VS Code; se considerará terminado cuando los parámetros de funciones personalizadas proporcionen finalización de rutas de assets sin cambiar el JavaScript generado ni el comportamiento en tiempo de ejecución.
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
- Necesita aclaración
- Aptitud para principiantes
- 25/100