microsoft / microsoft/TypeScript

Extract Constant Refactoring: Add way to extract all instances of selected expression

Abierto
#35,349 8 comentarios 8 reacciones 0 asignados Ver en GitHub

Nadie ha tomado este issue todavía.

Awaiting More Feedback Suggestion
Lenguaje dominante
Go
Estrellas
111k
Forks
14.3k
Merge medio
1 d 19 h
PR fusionados (30 d)
117

Descripción

From https://github.com/microsoft/vscode/issues/85507

Search Terms

  • refactor
  • extract
  • extract constant / extract function

Suggestion

For the code:

function doStuff() {
    console.log('hello')
    console.log('hi')
    console.log('hello')
}

If I run extract constant on the string 'hello'`, it'd be nice if we offered a way to extract all instances of that expression in the current scope. This would turn the code into:

function doStuff() {
    const text = 'hello'
    console.log(text)
    console.log('hi')
    console.log(text)
}

Use Cases

  • Help reducing duplicated code
  • Speed up code cleanup

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

Comienza revisando el issue original de VS Code #85507 y la implementación de refactorización de TypeScript; el payload no nombra ningún archivo fuente ni punto de entrada de pruebas. Define el comportamiento para extraer cada expresión coincidente en el scope actual y, después, verifica que el ejemplo produzca una constante y reemplace ambas apariciones coincidentes.

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

Evaluación

Stack tecnológico
javascript, typescript
Área
developer-experience, tooling
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
35/100

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.