Microsoft/TypeScript

Rename JSDoc param tag quick fix should generate more minimal edit

Ouverte

#47 922 ouverte le 16 févr. 2022

 (0 commentaire) (0 réaction) (0 personne assignée)TypeScript (13 395 forks)batch import
Experience EnhancementHelp WantedSuggestion

Métriques du dépôt

Stars
 (108 860 étoiles)
Métriques de merge PR
 (Métriques PR en attente)

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

  1. For the TypeScript:
/**
 * @param c
 * @param d
 */
function add(a, b) { }
  1. Trigger the rename @param tag quick fix on c inside 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

Guide contributeur