2017-01-02 3 views
9

Я не знаю, является ли это поведением по умолчанию для кода VS (у меня много настраиваемой конфигурации поверх значения по умолчанию)VS Code - Как выровнять конец тега и открытие тегов при форматировании? (JSX)

Но когда я форматирую код, он преобразует такой код:

const simpleInput = (
    <Input 
     {...input} 
     {...others} 
     state={state} 
    /> 
); 

в:

const simpleInput = (
    <Input 
     {...input} 
     {...others} 
     state={state} 
     /> <- Here is the difference 
); 

И мой эс-пуха бросить предупреждение об этом [eslint] The closing bracket must be aligned with the line containing the opening tag (expected column 5) (react/jsx-closing-bracket-location)

Как я могу настроить его так, чтобы выровнять правильно с началом тега?

Примечание: файл JSX в файле .js, я сконфигурировал код VS accordingly.

ответ

3

VSCode использует https://github.com/Microsoft/TypeScript внизу для автоматического форматирования.

Существует недавно закрытая тема в машинописном репо для одной и той же проблемы, у вас есть: https://github.com/Microsoft/TypeScript/issues/8663

изменения не были отражены в VSCode стабильной версии пока нет, но с текущей версией VSCode инсайдеров (https://code.visualstudio.com/insiders) им теге -aligns закрывающий кронштейн.

Вы можете скачать и использовать VSCode инсайдеров или изменить правило eslint использовать реквизита выровненных скобки, пока она не делает для стабильного выпуска:

"react/jsx-closing-bracket-location": [ "warning", "props-aligned" ],

+0

Это временное решение, а не решение. Спасибо, что поделились, это помогает лучше понять проблему! :) – Vadorequest