LensSmith
Ошибки, предупреждения и сообщения — прямо в конце строки, к которой они относятся, а сама строка подсвечена цветом проблемы. Больше не нужно наводить указатель на волнистые линии или искать глазами «Список ошибок».
Бесплатно · Visual Studio 2022 и 2026 · 14 языков интерфейса · без телеметрии
Зачем LensSmith

Там, куда вы смотрите
Сообщение стоит рядом с кодом, к которому относится. Вы видите, что не так, прямо во время набора — не двигая ни мышь, ни взгляд.
Не мешает при наборе
Редактируемые строки молчат, пока вы не сделаете паузу, поэтому недописанный код не мигает ошибками.
Все языки с волнистыми линиями
C#, Visual Basic, F#, C++, TypeScript — и XAML, где опечатка раньше обнаруживалась только при сборке или запуске.
Бесплатно и без подвохов
Без подписки, пробного периода, назойливых окон и телеметрии. Работает в Visual Studio 2022 и 2026, x64 и ARM64.
Возможности
- Сообщение в конце строки: круглый значок, код диагностики и текст в цвете уровня — красный для ошибок, жёлтый для предупреждений, синий для сообщений.
- Сначала самое серьёзное: если в строке несколько диагностик, показывается самая серьёзная, а
+Nговорит, сколько их ещё; дубликаты отбрасываются. - Полный текст при наведении: наведите указатель на сообщение, чтобы прочитать все диагностики строки целиком.
- Подсветка строк: мягкий градиент за строкой, затухающий вправо, — проблемы видны даже при прокрутке. Для тем, где градиент плохо заметен, есть сплошной стиль и полоса.
- Не мешает при наборе: в редактируемых строках сообщения появляются после короткой паузы.
- Помещается в окно: длинный текст сокращается до «…» по границе слова, в том числе в узком окне; компактный режим показывает только код.
- Скрытые коды: диагностики, которые вы не хотите видеть в строке (например,
IDE0008), пропускаются; в «Списке ошибок» они остаются. - Ошибки сборки в других файлах: файлы, которые ничто не проверяет во время правки, —
.idl, списки CMake,.props— показывают ошибки последней сборки из «Списка ошибок». - Тёмная и светлая темы: цвета следуют теме Visual Studio.
Где работает
| Редактор | Откуда берутся сообщения |
|---|---|
| C#, Visual Basic, F# | диагностика компилятора и анализаторов (CS…, BC…, IDE…, CA…) |
| C++ | ошибки и предупреждения IntelliSense |
| TypeScript, JavaScript | диагностика языковой службы (TS…) |
| XAML | «Список ошибок» (XLS…, XDG…): редактор XAML рисует волнистые линии без текста |
| Другие редакторы | любой редактор, в котором Visual Studio рисует волнистые линии |
| IDL, CMake, MSBuild и подобные | ошибки последней сборки из «Списка ошибок» |
В коде
Каждая строка показывает свою самую серьёзную проблему. Сообщения (подсказки вроде IDE0017) синие и тише ошибок и предупреждений, чтобы не заглушать их.

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

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

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

Вопросы и ответы
Он заменяет «Список ошибок»?
Нет. LensSmith только показывает то, о чём Visual Studio уже сообщает; волнистые линии, «Список ошибок», быстрые действия и сборка работают как раньше.
Почему строка подсвечена, а текста нет?
У её волнистой линии нет текста, и в «Списке ошибок» для этой строки тоже нет записи — например, если «Список ошибок» показывает только текущий документ или скрывает предупреждения. Текст появится, как только он будет в «Списке ошибок».
Почему сообщение появляется не сразу, а когда я перестаю печатать?
Это пауза после ввода: редактируемые строки молчат 500 мс, чтобы недописанный код не мигал ошибками. В настройках её можно сократить или выключить.
Сообщений слишком много. Что делать?
Выключите «Сообщения» в «Показывать», скройте отдельные коды вроде IDE0008 в «Скрытых кодах» или переключите содержимое на «Только код».
Не тормозит ли он на больших файлах?
Нет. Читаются и рисуются только видимые строки, а для строк без диагностик ничего не рисуется.
Отправляет ли LensSmith какие-нибудь данные?
Нет. Телеметрии нет, доступа к сети тоже.
Где сообщить о проблеме или предложить идею?
Создайте issue в репозитории Feedback на GitHub — там есть формы для ошибок и идей (конфиденциальные имена лучше изменить). Также можно воспользоваться вкладкой Q&A на Marketplace.
История изменений
1.0.2
- Сообщения встают после значений ресурсов LocaleSmith на той же строке, а не поверх них.
1.0.1
- Ссылка «Оценить на Marketplace» в настройках.
1.0.0
- Первый публичный выпуск.