2015-10-17 5 views
3

Я использую VB.NET, и мой код содержит много строк, которые очень часто имеют двойные кавычки внутри них. Моя проблема заключается в том, что, когда я исправляю строку, чтобы избежать двойных кавычек (заменяя каждую строку «» на «» внутри внутренней строки), она смешивается с действующим кодом, временно предполагая, что все является строкой (так как двойные кавычки don 't match up) и полностью испортить форматирование других строк. Предполагается, что начало следующей строки - это конец текущей строки, которая заставляет фактическую строку интерпретировать и форматировать как код, который мне нужно вернуться и исправление (поскольку оно добавляет пробелы и другие символы форматирования, которые на самом деле не должны быть там).Как отключить автоматическое определение строк в VS2015?

Есть ли способ отключить это поведение? У меня не было той же проблемы в VS2013. Инструменты> Параметры> Текстовый редактор> Основные, но я не нашел ничего подходящего.

Дополнительная информация: Я могу просто изменить строки в отдельном текстовом документе, чтобы избежать всех двойных кавычек (к чему я сейчас обращался), но в VS2013 я мог просто просто скопировать/вставить строки прямо в мой код, не запуская при этом строки, временно интерпретируя их как код из-за нечетного количества двойных кавычек.

Это поведение особенно проблематично при ручном добавлении двойных кавычек в строки, потому что, если вы не ускользаете от них достаточно быстро (или сделайте короткую опечатку при этом), вы получите ту же проблему.

Возможно, вы заметили, что для других языков, таких как C++, запись строки в одной строке (даже с нечетным количеством двойных кавычек) не влияет на исходящие строки. Такое же поведение для VB было бы замечательным, предполагая, что есть некоторые настройки, чтобы включить его.

+0

будет использовать XML-литералы в качестве опции? Я могу предоставить пример кода в ответе, если он будет. –

ответ

-2

Вместо этого используйте Chr (34), или если вы в конечном итоге повторяете строки, сохраните их как resource.

+0

Это очень неудобно делать для больших строк, содержащих много-много (неповторимых) двойных кавычек, и редко я заканчиваю повторять строки. В основном я занимаюсь анализом определенных значений из HTML-документов несогласованного макета/стиля (путем поиска подстрок, специфичных для документа). – Squidy

+0

Действительно ли это найти/заменить? Было бы неплохо, если бы функция, которую вы искали, существовала, но AFAIK это не так, и вы первый человек, с которым я когда-либо сталкивался, просил об этом, а не просто использовал Chr (34) или строковые ресурсы, как жизнеспособные, даже если они нежелательны, альтернативы. Во что бы то ни стало, если вы найдете что-то лучше, бросьте это как ответ, и я буду голосовать, если он будет соответствовать вашим требованиям лучше. Но эта идея людей с правом голоса и высказывание того, насколько «неудобны» их фактические ответы, будет смертью этого сайта. –

+0

FYI, я не проголосовал за ваш ответ. Это прежде всего проблема удобства, так как я могу легко найти миллионы неудобных решений; проблема заключается в нахождении чего-то, что работает, как и VS2013 для обработки строк (особенно когда речь заходит о вставке строк непосредственно в код, и в этом случае я сталкиваюсь с той же проблемой с решением Chr (34) »). Прошу прощения, если это неясно.Вы могли заметить, что для других языков, таких как C++, он не пытается делать форматирование за пределами линии, с которой вы в настоящее время работаете. Если это невозможно с VS2015, пусть будет так. – Squidy

0

Да, это неудобство.

Что я обычно делаю, это добавить неиспользуемый символ (например, какой-то неиспользуемый символ на клавиатуре или Alt + {some number}) вместо двойных кавычек. Когда я закончил строить свою строку так, как хочу, я просто завершаю ее, либо поднимая поле Find and Replace, и заменяя этот символ двумя двойными кавычками. Или просто поставьте сразу после него заявление REPLACE, заменив этот символ на Chr(34).

Смежные вопросы