LazowskiAnton · Extensions

LensSmith

Ошибки, предупреждения и сообщения — прямо в конце строки, к которой они относятся, а сама строка подсвечена цветом проблемы. Больше не нужно наводить указатель на волнистые линии или искать глазами «Список ошибок».

Бесплатно · Visual Studio 2022 и 2026 · 14 языков интерфейса · без телеметрии

Зачем LensSmith

Один и тот же код с обычными волнистыми линиями и с LensSmith

Там, куда вы смотрите

Сообщение стоит рядом с кодом, к которому относится. Вы видите, что не так, прямо во время набора — не двигая ни мышь, ни взгляд.

Не мешает при наборе

Редактируемые строки молчат, пока вы не сделаете паузу, поэтому недописанный код не мигает ошибками.

Все языки с волнистыми линиями

C#, Visual Basic, F#, C++, TypeScript — и XAML, где опечатка раньше обнаруживалась только при сборке или запуске.

Бесплатно и без подвохов

Без подписки, пробного периода, назойливых окон и телеметрии. Работает в Visual Studio 2022 и 2026, x64 и ARM64.

Возможности

Где работает

РедакторОткуда берутся сообщения
C#, Visual Basic, F#диагностика компилятора и анализаторов (CS…, BC…, IDE…, CA…)
C++ошибки и предупреждения IntelliSense
TypeScript, JavaScriptдиагностика языковой службы (TS…)
XAML«Список ошибок» (XLS…, XDG…): редактор XAML рисует волнистые линии без текста
Другие редакторылюбой редактор, в котором Visual Studio рисует волнистые линии
IDL, CMake, MSBuild и подобныеошибки последней сборки из «Списка ошибок»

В коде

Каждая строка показывает свою самую серьёзную проблему. Сообщения (подсказки вроде IDE0017) синие и тише ошибок и предупреждений, чтобы не заглушать их.

Код C# с ошибкой, предупреждением, сообщением и +1 в конце строк

XAML

Неверное значение свойства, неизвестный тип, опечатка в привязке — редактор XAML их подчёркивает, но текст прятался в «Списке ошибок». LensSmith пишет его рядом со строкой, и ошибка видна сразу, а не при сборке или запуске.

XAML с неверным значением и неизвестным типом, у каждого своё сообщение в конце строки

Подсветка строк

Три стиля и три уровня яркости, потому что все тёмные темы разные: градиент (по умолчанию), сплошная подсветка или только узкая полоса у левого края, которая не трогает фон кода. Подсветку можно включить для каждого уровня отдельно.

Стили подсветки «градиент», «сплошной» и «полоса», а также светлая тема

Настройки

Средства → Параметры → SmithWorks → LensSmith. У каждого параметра есть описание, а предпросмотр вверху сразу показывает результат.

ПараметрПо умолчанию
Показывать диагностику в конце строквкл.
Показывать: Ошибки, Предупреждения, Сообщениявсе вкл.
Ошибки сборки в файлах без проверки на летувкл.
ЦветаОбычные
СодержимоеКод и текст
Максимальная длина120
Пауза после ввода500 мс
Скрывать сообщение на строке с курсоромвыкл.
Скрытые коды—
Подсвечивать строки с: Ошибки, Предупреждения, Сообщениявсе вкл.
СтильГрадиент
ЯркостьОбычная

Настройки хранятся в %LocalAppData%\LensSmith.

Страница параметров LensSmith
Страница параметров с живым предпросмотром.

Вопросы и ответы

Он заменяет «Список ошибок»?

Нет. LensSmith только показывает то, о чём Visual Studio уже сообщает; волнистые линии, «Список ошибок», быстрые действия и сборка работают как раньше.

Почему строка подсвечена, а текста нет?

У её волнистой линии нет текста, и в «Списке ошибок» для этой строки тоже нет записи — например, если «Список ошибок» показывает только текущий документ или скрывает предупреждения. Текст появится, как только он будет в «Списке ошибок».

Почему сообщение появляется не сразу, а когда я перестаю печатать?

Это пауза после ввода: редактируемые строки молчат 500 мс, чтобы недописанный код не мигал ошибками. В настройках её можно сократить или выключить.

Сообщений слишком много. Что делать?

Выключите «Сообщения» в «Показывать», скройте отдельные коды вроде IDE0008 в «Скрытых кодах» или переключите содержимое на «Только код».

Не тормозит ли он на больших файлах?

Нет. Читаются и рисуются только видимые строки, а для строк без диагностик ничего не рисуется.

Отправляет ли LensSmith какие-нибудь данные?

Нет. Телеметрии нет, доступа к сети тоже.

Где сообщить о проблеме или предложить идею?

Создайте issue в репозитории Feedback на GitHub — там есть формы для ошибок и идей (конфиденциальные имена лучше изменить). Также можно воспользоваться вкладкой Q&A на Marketplace.

История изменений

1.0.2

1.0.1

1.0.0