W jDesignerze jest mechanizm refaktoryzacji kodu. W obecnej wersji jest dostępna refaktoryzacja lokalna. Najlepszym sposobem na korzystanie z refaktoryzacji jest zapoznanie się ze skrótami klawiszowymi. Refaktoryzacja dostępna jest również z menu głównego, jak i w menu kontekstowym po kliknięciu prawego przycisku myszy.
Aby zmienić nazwę zmiennej lokalnej (zaczynającej się od @), należy kursorem najechać na zmienianą wartość, a następnie użyć skrótu klawiszowego (standardowo Ctrl + Shift + R), a następnie wpisać nową nazwę i zatwierdzić klawiszem Enter. W celu poprawnej refaktoryzacji dokument nie powinien zawierać żadnych błędów kompilacji lokalnej. Nie ma znaczenia czy zostanie zaznaczona deklaracja czy wywołanie zmiennej lokalnej, zmiana zostanie dokonana w całym dokumencie. Nie zostaną zmienione zakomentowane zmienne lokalne o tej samej nazwie.
Aby anulować zmianę wystarczy wcisnąć Esc lub skrót związany z cofnięciem (Standardowo Ctrl + Z). Po refaktoryzacji możliwe jest również cofnięcie zmian w tym celu wystarczy użyć standardowego cofnięcia, a cała refaktoryzacja zostanie cofnięta za jednym zamachem.
W jDesignerze jest możliwość wydzielenia części kodu do zmiennej lokalnej. W tym celu należy zaznaczyć kod, który chcemy wydzielić do zmiennej lokalnej, a następnie użyć refaktoryzacji Wydziel zmienną lokalną (standardowy skrót Alt + Shif + L).
Gdy wyciągamy kilka napisów zostaną one zagregowane przez konkatenację w jeden string:
<label for="use_lead">$toUpperFirst((String)$*jpalio.cms.i18n.get("label.uses_lead"))</label>
zostanie zamienione na:
$=(@temp_name, $+(["<label for=\"use_lead\">",
$toUpperFirst((String)$*jpalio.cms.i18n.get("label.uses_lead")), "</label>"]))
$@temp_name
Po wyciągnięciu zmiennej lokalnej zostaje utworzone przypisanie do zmiennej, a następnie wywołanie jej w miejscu gdzie wcześniej występował wydzielany kod.
Podobnie jak wyciąganie kodu do zmiennej lokalnej, można wydzielić kod do nowego obiektu. W tym celu należy skorzystać z refaktoryzacji Wyciągnij obiekt (standardowo Ctrl + M).
Po zaznaczeniu tekstu i wybraniu opcji wyciągnięcia do obiektu zostanie wyświetlone okienko, w którym należy wpisać kod i nazwę nowotworzonego obiektu. Po zaakceptowaniu zostanie utworzony obiekt z kodem, który zaznaczyliśmy, a kod ten w refaktoryzowanym obiekcie zostanie zamieniony na wywołanie nowego obiektu.
W celu zastąpienia wywołań zmiennej lokalnej treścią jaka została przypisana do zmiennej lokalnej należy skorzystać z refaktoryzacji Inline zmiennej lokalnej (standardowo Alt + Shift + I).
Po zaznaczeniu zmiennej i wybraniu refaktoryzacji zostanie wyświetlony komunikat o ilości wystąpień zmiennej, w którym możemy potwierdzić nasz wybór lub wycofać zmiany.
Jak wszystkie inne refaktoryzacje możliwe jest cofnięcie zmian poprzez mechanizm cofania (standardowo Ctrl + Z).
Przykład:
$@=(@val, "Text")
${
@temp = @val;
}
This is some $@val.
po inline @val kod zostanie zamieniony na
${
@temp = "Text";
}
This is some Text.