# Refactor

## Overview

This menu item is available only when a script editor is active.\
It is important to note that for refactoring to work comprehensively, the code must be properly documented through JSDoc. Insufficient information will result in decreased usefulness of the refactoring functionality.\
When performing a refactoring operation, a window will appear, allowing users to specify the required information and preview all the changes that will be made in all the code.

## Commands Summary

A summary of commands available via clicking on this menu item:

| Command              | Summary                                                                                          |
| -------------------- | ------------------------------------------------------------------------------------------------ |
| [Rename...](#rename) | Renames variables (global, form and local - within functions), functions and function parameters |
| [Move...](#move)     | Opens the [Move](/reference/servoy-developer/object-editors/refactor-move-wizard.md) wizard      |

## Commands Details

The details for each command available via clicking on this menu item:

### Rename

keybinding: `Alt+Shift+R`\
Opens a window where the user can insert a new name.\
Renames variables (global, form and local - within functions), functions and function parameters. The rename refactor changes the name both for the declaration of the object to be renamed, as well as all references to the object.

{% hint style="warning" %}
This operation is available if the users selects a Script project, source folder, resource, package or a source module, a non-binary type, field, method, parameter, local variable or type variable.
{% endhint %}

### Move

Opens the [Move](/reference/servoy-developer/object-editors/refactor-move-wizard.md) wizard.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.servoy.com/reference/servoy-developer/menu/refactor.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
