microsoft / microsoft/TypeScript
Extract Constant Refactoring: Add way to extract all instances of selected expression
Nobody has claimed this yet.
- Dominant language
- Go
- Stars
- 111k
- Forks
- 14.3k
- Avg merge
- 2d 4h
- Merged PRs (30d)
- 132
Description
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
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by reviewing the originating VS Code issue #85507 and the TypeScript refactoring implementation; the payload does not name a source file or test entry point. Define the behavior for extracting every matching expression in the current scope, then verify that the example produces one constant and replaces both matching occurrences.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- javascript, typescript
- Domain
- developer-experience, tooling
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100