Microsoft/TypeScript
View on GitHubRename JSDoc param tag quick fix should generate more minimal edit
Open
#47,922 opened on Feb 16, 2022
Experience EnhancementHelp WantedSuggestion
Repository metrics
- Stars
- (48,455 stars)
- PR merge metrics
- (Avg merge 6d 17h) (9 merged PRs in 30d)
Description
Bug Report
🔎 Search Terms
- quick fix
- code action
- jsdoc
🕗 Version & Regression Information
4.7.0-dev.20220216
This is new behavior and not a regression
💻 Repo
- For the TypeScript:
/**
* @param c
* @param d
*/
function add(a, b) { }
- Trigger the
rename @param tagquick fix oncinside the JSDoc.
🙁 Actual behavior
In VS Code, the cursor shifts to the start of the doc block. This is because the returned code action regenerates the entire start of the JSDoc block
{
"fixName": "renameUnmatchedParameter",
"description": "Rename '@param' tag name 'c' to 'a'",
"changes": [
{
"fileName": "/Users/matb/projects/san/index.ts",
"textChanges": [
{
"start": {
"line": 1,
"offset": 1
},
"end": {
"line": 5,
"offset": 1
},
"newText": ""
},
{
"start": {
"line": 5,
"offset": 1
},
"end": {
"line": 5,
"offset": 1
},
"newText": "/**\n * @param a\n * @param d\n */\n"
}
]
}
]
}
🙂 Expected behavior
Instead we should try to generate a more minimal edit so that editors can better preserve user's cursor position