Як ви можете змінити, як автоматично формати коду Intellij? [зачинено]


13

IntelliJ робить якесь дивне форматування з кодом Javascript, і я намагаюся зрозуміти, як змусити його зупинити форматування таким чином. Кожен раз, коли я ланцюг функцій jQuery разом, він над відступами створює автоматично створений код, такий як цей:

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

Я хочу, щоб це виглядало так:

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

Як це змінити?


виправлення тут не спрацювало для мене, тому я зв’язався з jetbrains, і вони відкрили проблему. Будь ласка, проголосуйте за це тут: youtrack.jetbrains.com/issue/WEB-15066
JonnyRaa

4
Я голосую, щоб закрити це питання поза темою, оскільки мова йде про програмний інструмент, однак він занадто старий, щоб перейти до Stack Overflow.

Відповіді:


11

Як згадує @intarg, у коментарях. Ви можете змінити File|Settings|Code Style|Generalі на вкладці Javascript встановити Continuation Indent0 для Javascript.

Це отримає вам більшу частину того, що ви хочете. проблема полягає в тому, що ваш код - це фактично все 1 довге твердження.

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

Не впевнений, що існує відповідна опція, щоб запобігти розриву лінії після focus(

О, і будьте впевнені, що у вас є активна вкладка зразка коду Javascript під час зміни параметрів - інакше ви не зміните їх на Javascript.

EDIT: Тепер, коли я дивився далі. Формат Javascript кодується, щоб додати рядок рядків у цьому конкретному випадку, для нього немає варіанту.


Це не працює для мене - я все одно отримую збоку
повзуче,

0

Усі параметри, необхідні для керування форматуванням коду в Intellij, знаходяться у меню Файл> Інші налаштування> Налаштування шаблону.

Якщо Javascript не вказаний (тобто ви не встановили плагін Javascript), ви можете визначити форматування коду на вкладці Загальні, а потім на вкладці Інше. Будуть варіанти контролю відступів та проміжків.


Я думаю, що проблема полягає в тому, що вона вважає, що функція від .blur () є відступом продовження. Єдиний спосіб, коли я не можу це зробити, це встановити відступ продовження на 0, але це також робить другий код також поганим. Чи трапляється вам знати, як сказати, що це не відступ від продовження, чи відбувається якийсь внутрішній матеріал?
intargc

Ви встановили плагін Javascript в intellij? Я знаю, що є кілька доступних. Якщо ви не використовуєте жоден із них, IDE просто відступатиме від стандартного відступу / інтервалу. Ідеально використовувати плагін для того, щоб IDE дізнався про ці конструкції.
Спустошена планета

Ви пробували реактивні мозолі? Крім того, ви намагалися зробити це за допомогою Eclipse. Я не торкався Intellij деякий час, але я знаю, що Eclipse отримав досить гарну підтримку плагінів, і це досить просто керувати відступами, але у вас дійсно не повинно виникнути проблем з Intellij.
Спустошена планета

Оскільки видання спільноти є відкритим кодом, ви завжди можете отримати вихідний код, створити його та вставити точки проходу там, де воно виконує форматування, щоб виключити наявність внутрішньої проблеми. Якщо він не робить те, що ви хочете, застосуйте виправлення та надішліть виправлення одному з власників репо, якщо у вас є час та схильність до цього :)
Desolate Planet

У мене встановлений плагін JavaScript. Я спробую jetbrains і побачу, чи хтось там має підказку. Спасибі.
intargc
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.