Jak zmienić sposób formatowania kodu przez Intellij Auto? [Zamknięte]

13

IntelliJ robi dziwne formatowanie z kodem JavaScript i próbuję wymyślić, jak go zatrzymać. Ilekroć łączę funkcje jQuery razem, powoduje to wcięcie automatycznie utworzonego kodu, takiego jak ten:

$('#something').focus(function() {
    /* Do some stuff */
}).blur(function() {
        /* this is where the cursor and closing braces end up */
        })

Chcę, aby wyglądało to tak:

$('#something').focus(function() {
    /* Do some stuff */
}).blur(function() {
    /* cursor and closing braces indented normally */
});

Jak to zmienić?

intargc
źródło
poprawki tutaj nie działały dla mnie, więc skontaktowałem się z jetbrains i otworzyli problem. Głosuj na to tutaj: youtrack.jetbrains.com/issue/WEB-15066
JonnyRaa
4
Głosuję za zamknięciem tego pytania jako nie na temat, ponieważ dotyczy ono oprogramowania, jednak jest ono zbyt stare, aby migrować do Przepełnienia stosu.

Odpowiedzi:

11

Jak wspomina @intarg, w komentarzach. Możesz zmienić File|Settings|Code Style|Generali na zakładce Javascript ustawić Continuation Indentna 0 dla Javascript.

To zapewni ci większość tego, czego chcesz. problem polega na tym, że twój kod to właściwie 1 długa instrukcja.

$('#something').focus(
function() {
    /* Do some stuff */
}).blur(function() {
    /* this is where the cursor and closing braces end up */
})

Nie jestem pewien, czy istnieje odpowiednia opcja, aby zapobiec przerwaniu linii po focus(

Aha, i upewnij się, że masz aktywną kartę przykładowego kodu JavaScript podczas zmiany opcji - w przeciwnym razie nie zmienisz ich dla Javascript.

EDYCJA: Teraz, gdy szukałem dalej. Formatyzator Javascript jest kodowany w celu dodania podziału linii w tym konkretnym przypadku, nie ma dla niego opcji.

sylvanaar
źródło
To nie działa dla mnie - nadal dostaję pełzanie na boki, jak opisano powyżej
JonnyRaa
0

Wszystkie ustawienia potrzebne do sterowania formatowaniem kodu w intellij znajdują się w Plik> Inne ustawienia> Ustawienia szablonu.

Jeśli Javascript nie znajduje się na liście (tzn. Nie zainstalowałeś wtyczki Javascript), możesz zdefiniować formatowanie kodu na karcie Ogólne, a następnie na karcie Inne. Dostępne będą opcje kontrolowania wcięć i odstępów.

Desolate Planet
źródło
Myślę, że problem polega na tym, że uważa, że ​​funkcja z .blur () jest wcięciem kontynuacji. Jedynym sposobem, aby temu zapobiec, jest ustawienie wcięcia kontynuacji na 0, ale to sprawia, że ​​inny kod również wygląda źle. Czy zdarzyło Ci się wiedzieć, jak to powiedzieć, że nie jest to kontynuacja, czy też dzieje się coś wewnętrznego?
intargc
Czy zainstalowałeś wtyczkę Javascript w Intellij? Wiem, że jest kilka dostępnych. Jeśli nie używasz żadnego z nich, IDE po prostu cofnie się w stosunku do standardowych wcięć / odstępów. Najlepiej byłoby użyć wtyczki, aby IDE wiedział o tych konstrukcjach.
Desolate Planet,
Czy próbowałeś już jetbrains? Czy próbowałeś to zrobić w Eclipse. Od jakiegoś czasu nie dotykałem intellij, ale wiem, że Eclipse ma całkiem dobrą obsługę wtyczek i łatwo jest kontrolować wcięcia, ale tak naprawdę nie powinieneś mieć problemu z intellij.
Desolate Planet
Ponieważ wydanie społeczności jest open source, zawsze możesz pobrać kod źródłowy, zbudować go i wstawić punkty przerwania, w których wykonuje formatowanie, aby wykluczyć problem wewnętrzny. Jeśli nie robi tego, co chcesz, zastosuj poprawkę i prześlij łatkę jednemu z właścicieli repozytoriów, jeśli masz na to czas i ochotę :)
Desolate Planet
Mam zainstalowaną wtyczkę javascript. Spróbuję odrzutowych mózgów i zobaczę, czy ktoś tam ma jakiś trop. Dzięki.
intargc