Вимкнення форматування коду Visual Studio у Razor


118

Це було задано раніше: Чому форматування коду Visual Studio не працює належним чином для розмітки Razor?

Але це питання - пару років. І форматування Razor все ще абсолютно неприйнятне. Я відмовився від її виправлення.

Чи можна відключити ВСЕ Visual Studio форматування для файлів CSHTML? Якщо ні, чи можу я повністю відключити всі форматування Visual Studio? Будь-які сторонні хаки, які я можу використовувати? Треба щось бути!

Я перейшов до 2013 року, і форматування так само погано.

[EDIT]: 2015 також жахливий. Я дійсно бажаю, щоб вони це виправили.

[EDIT]: 2017 також жахливий. Я дійсно бажаю, щоб вони це виправили.

[EDIT]: 2019 рік також жахливий. Я дійсно бажаю, щоб вони це виправили.


15
ЇЇ КОРОЗ у 2013 році
TombMedia

3
Серйозно. Щось із цим можна зробити ...
JustMaier

7
ЦІЛЬКО В 2015 році ТОО!
Павло

4
Не зафіксовано у 2017 році rtm
квітня

5
Не зафіксовано у 2018 році.
Дірк Бур

Відповіді:


53

Ви не можете. Це вбудована "особливість" VS з першої версії .net (візуальна студія 2002/2003).

Про помилки форматування є багато з’єднань, але Microsoft цілком ігнорує їх або натискає виправлення на "наступну версію". Приклад відповіді Microsoft ви можете побачити тут .

Ви можете опублікувати свої власні відгуки в команді Microsoft тут


1
Я шукав це в роздратуванні знову ж , я не знаю , я чи вони що - щось змінилося, але виправити Metroid Hunter працює для мене Razor stackoverflow.com/a/28053865/62829
mattmanser

4
Як HTML у візуальній студії все-таки смокче так погано у 2015 році?
schmoopy

1
Насправді це гірше у 2015 році, ніж версія 2013 (те саме стосується і C #, де він буде відступати непов’язані речі щоразу, коли ви відкриваєте брекет). Я любив візуальну студію, але це поволі вбиває її.
youen

1
Примітка: посилання на підключення зараз уже мертві
jrh

64

У розділі Інструменти -> Параметри -> Текстовий редактор -> HTML -> Додатково

є ключове значення "Вставити", яке говорить "Формат на пасту" і має булеве значення поруч. Якщо змінити це значення на false, вимкнено форматування пасти для мене в синтаксисі бритви.

Я використовую VS Professional 2013, версія 12.0.30110.00 Оновлення 1


Дякую! Автоматичне (неправильне) форматування пасти зводило мене з розуму. Це, здається, усунуло це.
Торрент

Дивовижно, саме це потрібно для того, щоб прогнати це! Дякую!
Martin S Ek

Я хотів би проголосувати за вас більше одного разу. Це правильна відповідь для версії 2013 року версії 1 та новішої.
Ерік Симоніч

2
Не працює у візуальному 2015 році? Я не відмітив "формат на пасту" в HTML / Advanced, але все одно отримую фанк неформатування / шалений відступ під час вставки. Я розглядаю можливість використовувати інший редактор для файлів cshtml, але тоді б я втратив C # autocompletion. Ця ситуація шалена.
youen

5
Працював для мене у VS2017.
Дейв

36

Місця, які варто подивитися:

Tools -> Options -> Web Essentials -> HTML -> Auto-format HTML on Enter

(Потрібна установка розширення Web Essentials)

Встановити помилково

Tools -> Options -> Text Editor -> HTML -> Advanced -> Format on Paste

Встановити помилково

З цими налаштуваннями у мене немає проблем у Visual Studio 2013.

Мені довелося занадто часто натискати на Ctrl-Z, і якщо ви забули розплутати безлад, коли ваш код був написаний і перевірений, це був великий біль. Я думаю, що Microsoft може зробити багато чого, щоб допомогти користувачам налаштувати це, а також зробити його більш доступним.


3
Немає сфери "Основи Інтернет".
Павло

Чудова відповідь! Це клопоче мене роками, але не більше!
Девід Кіркленд

2
@Paul Web Essentials - розширення VS, яке розширює багато речей, пов’язаних із редакторами HTML, CSS, JS. Встановлення та відключення автоматичного формату дуже допомагає .
SandRock

3
Це слід позначити як відповідь. Особливо рядок про веб-основи. Дякую @dazbradbury!
Aggromonster

1
Другий варіант не виправляє його у VS2017, а перший навіть не існує.
ygoe

24

Що для мене трюк було натискання CTRL + Z після вставки, потім форматування видаляється.


3
тут працювали ... я вставляв шматок, включаючи <вибір> із серією атрибутів вибивання даних, розкиданих на ~ 8 рядків, і це вбивало кожух верблюда та видаляло колонки ... ось-ось збирався пограбувати та знову вписати це ... тоді я зробив це Ctrl + Z і про кричав, що він працює ... @ Miros
beauXjames

Отримано. Це працює у VS 2015 :) Жодне інше рішення (різні налаштування в розділі Інструменти> Параметри) не працювало для мене, принаймні, не коли вставляти вміст, який повинен якимось чином змінюватись між кодом / html, тобто вставляти рядки, що містять код C #, а потім html тегів або розміщення HTML-розмітки безпосередньо після рядків з кодом C #.
savehansson

Це завжди працює, всюди в VS. Це єдиний спосіб скасувати безлад, який робив форматування. (Або ти справді чистив це вручну ??) Я вже звик, але це дуже дратує.
ygoe

10

У моєму випадку R # винуватець, тут можна відключити:

ReSharper> Опції> Редагування коду> Бритва> Редактор та форматування

https://www.jetbrains.com/help/resharper/2016.1/Reference__Options__Languages__Razor__Editor.html


Це не входить до Visual Studio, хоча вам потрібно було б встановити його окремо.
Павло

2
Причиною, про яку я тут згадую, є хтось, можливо, думає, що Visual Studio робила переформатування (як я), коли це насправді може бути R # (що використовують багато розробників). Тож якщо хтось не в змозі його відключити, і у них встановлений R #, він хотів би переконатися, що він відключений в обох.
hcoverlambda

5
У R # 2017.3 ці налаштування є у ReSharper | Параметри | Довкілля | Редактор | Поведінка редактора
Темний Даскін

1
У R # 2018.3 мені довелося також встановити поведінку редактора, автоматичний формат на пасті на "None"
EM0

7

На жаль, єдиний спосіб запобігти автоматичному форматування пасти - прокоментувати місце, де ви збираєтесь вставити новий код, а після операції вставки видалити інструкції для коментування.

Пошук і заміна, схоже, не викликають автоматичне форматування. Але вставлення переформатує весь блок коду.

Це жахливо поза словами. Це робить ID Visual Studio IDE практично непридатним для редагування Razor. Для файлів Razor потрібно використовувати зовнішній редактор.

Що ще гірше, навіть найсвіжіші збої Visual Studio 2013 Update 1 під час редагування переглядів Razor постійно.


6

Приємна частина полягає в тому, що ви можете відключити форматування C # та форматування HTML, але не форматування Razor.

Я не зняв прапорець "Інструменти> Параметри> Текстовий редактор> C #> Форматування> Автоматичне форматування на вставці" і те саме для HTML.

Це призводить до таких цікавих вражень у файлах cshtml:

  • Вставити HTML-код: формату немає
  • Вставити код C #: формату немає
  • Вставити код Razor: відформатувати все неправильно

І оскільки немає можливості змінити параметри бритви, ви, мабуть, повинні жити з цим.

Моє "рішення": вставити та ctrl-z, щоб скасувати автоматичний формат


1
Я теж .. але це мене зводить з розуму!
Метт Кокай

Ваше рішення вирішує проблему, яка займає кілька хвилин, коли редагує великі файли.
Артуро Торрес Санчес

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