Refactor local variable name using Visual Studio Code

后端 未结 4 820
抹茶落季
抹茶落季 2021-02-01 11:51

I have this simple situation. I\'d like to refactor the name of the role variable:

It looks like Visual Studio Code is smart enough to know that \"roles\" in th

相关标签:
4条回答
  • 2021-02-01 12:15

    Use Rename Symbol. It is defined by default with Ctrl + F2.

    However, keep in mind that the variable, definition, function, etc., that you're changing, will be changed in the file itself, not only the scope. Visual Studio Code for now doesn't have an implementation for renaming a variable in a scope (for example, a variable inside a function). So keep that in mind.

    Visual Studio Code - change all occurrences

    0 讨论(0)
  • 2021-02-01 12:18

    Use rename symbol instead of the standard find/replace. Rename is bound to F2 by default.

    Rename symbol will know to only touch the local roles references in your example. Visual Studio Code ships with rename support for JavaScript and TypeScript. Other languages may require installing a language extension.

    0 讨论(0)
  • 2021-02-01 12:18

    For macOS users: Use Fn + + F2 to rename a variable inside a code block.

    0 讨论(0)
  • 2021-02-01 12:18

    To open your user and workspace settings, use the following Visual Studio Code menu command:

    On Windows/Linux: Menu FilePreferencesSettings. On macOS: CodePreferencesSettings.

    You can also open the Settings editor from the Command Palette (Ctrl + Shift + P) with Preferences, open Settings or use the keyboard shortcut (Ctrl + ,).

    In the search bar, enter settings.json, and add this below code:

    {
      "command": "editor.action.changeAll",
      "key": "ctrl+f2",
      "when": "editorTextFocus && !editorReadonly"
    }
    

    and

    {
      "command": "editor.action.rename",
      "key": "f2",
      "when": "editorHasRenameProvider && editorTextFocus && !editorReadonly"
    }
    

    In the keybindings.

    F2 appears to work across all files, and Ctrl + F2 in the current file only.

    0 讨论(0)
提交回复
热议问题