Как добавить решение @ts-ignore в быстрые исправления?

Я хотел бы добавить опцию в быстрое исправление VSCode, которая добавляет // @ts-ignore над предупреждением, чтобы оно исчезло. В настоящее время я получаю только следующую опцию для устранения предупреждений noUnusedLocals:

Как добавить решение @ts-ignore в быстрые исправления?

Есть ли способ заставить Quick Fix отображать // @ts-ignore в качестве решения?

Я поискал в Интернете, но практически не нашел официальной документации о том, как работает Quick Fix.

Образец СПО:

// Need to get @ts-ignore here.
function someFn (){
    //   ^^^^^^ From ctrl+. "Quick Fix" menu option here.
}

const makeThisModule = 1;
export default makeThisModule;
// don't export { someFn };

И действительно ли (добавление вручную) //@ts-ignore над этим объявлением функции предупреждение исчезнет? Я предполагаю, что «игнорировать» имеет смысл только для реальных ошибок TS (обычно вокруг типов), а не для «предложений» линтера о неиспользуемом коде. Я предполагаю, что неиспользуемая функция останется неиспользованной с "игнорировать" или без него (?). Знаете ли вы, откуда именно поступило предложение? Если из ESLint, то лучшим решением может быть настройка ESLint более снисходительно к неиспользуемым функциям.

myf 09.08.2024 17:57

@ts-ignore — это директива компилятора Typescript. Если ошибка исходит от eslint, который представляет собой совершенно другой инструмент, то вместо этого вам нужно будет использовать директиву eslint-ignore .

Jared Smith 09.08.2024 18:03

Этот вопрос похож на: Отключение правила eslint для конкретной строки. Если вы считаете, что это другое, отредактируйте вопрос, поясните, чем он отличается и/или как ответы на этот вопрос не помогают решить вашу проблему.

Jared Smith 09.08.2024 18:03

Указывает ли в представлении «Проблемы» источник (eslint или tsxxxx) этого конкретного предупреждения?

Mark 09.08.2024 18:22

@myf Да, если добавить его, предупреждение исчезнет. Ошибка не из-за eslint; извините за путаницу. Я удалил упоминания об eslint в исходном вопросе.

fart 09.08.2024 18:55

@JaredSmith, извини, но это не связано с eslint. Я удалил упоминания об Эслинте из вопроса. Вопрос, на который вы ссылаетесь, не решает мою проблему; Я хочу иметь возможность сделать это из меню быстрого исправления VSCode, я не хочу вводить его вручную.

fart 09.08.2024 18:56

@Mark Источник: ts(6133). Я удалил упоминания об eslint из исходного вопроса.

fart 09.08.2024 18:57

Хорошо, я не уверен, что вы сможете это сделать, потому что очевидным решением проблемы неиспользуемой переменной является ее удаление, и именно это плагин предложит вам сделать. Обычно он рекомендует добавить такую ​​директиву компилятора только в том случае, если не знает лучшего решения. Честно говоря, если вам действительно нужно сохранить это по какой-то причине, вы можете просто закомментировать его, но я бы избавился от него, если бы это был я, и вытащил бы его из истории git, если бы он мне понадобился (при условии, что он был зафиксирован в какой-то момент).

Jared Smith 09.08.2024 19:01

И уточню, изменение правил линтера не решит мою проблему. Я хочу иметь возможность быстро игнорировать предупреждения во время отладки, только те предупреждения, которые я намерен игнорировать в данный момент (например, я не хочу игнорировать предупреждения для всего файла сразу).

fart 09.08.2024 19:01

@fart да, мы поняли, ваши изменения к вопросу наиболее убедительны +1. Я все еще не думаю, что ты сможешь получить то, что ищешь здесь, но я могу ошибаться. Если бы это был я, согласно моему предыдущему комментарию, я бы удалил его или Cmd+L, а затем Cmd+/, чтобы прокомментировать строку.

Jared Smith 09.08.2024 19:03

@JaredSmith В основном это проблема с объявлениями функций, которые могут состоять из нескольких десятков строк, которые мне придется закомментировать. Я всегда могу просто добавить горячую клавишу AHK для быстрой вставки в строку игнорирования, но я очень надеялся на собственное решение в VS Code :)

fart 09.08.2024 19:07

@fart для функций, вы всегда можете просто экспортировать их, чтобы устранить ошибку. Вы также можете закомментировать функцию, выполнив Ctrl+Shift+Right с курсором в теле функции, а затем Cmd+/. Наверное, я до сих пор не понимаю, почему вам нужна возможность компилировать неиспользуемые функции, но это ваш код.

Jared Smith 09.08.2024 19:11

@fart Не могли бы вы сделать небольшой репродукцию (на codeandbox.io/GtHub Codespace/StackBlitz/что-нибудь с использованием VSC) с конфигурацией вашего рабочего пространства, показывающей проблему? Или покажите нам свой конфиг? В настоящее время я не могу даже заставить свой VSCode ворчать о неиспользуемых функциях.

myf 09.08.2024 19:23

VSC предложил быстрое исправление «удалить неиспользуемое» (добавлен STR к вашему вопросу), поэтому могу подтвердить, что для меня и для TS нет «добавить ts-игнорировать». Однако наличие //@ts-ignore для меня там не имеет значения. Примечание: переключение синтаксиса того же файла на JavaScript заставляет VSC предлагать «игнорировать» и даже «отключить проверку этого файла» в опциях быстрого исправления.

myf 09.08.2024 19:51

@myf Ах, вам, вероятно, нужно «noUnusedLocals»: правда, в ваших компиляционных опциях tsconfig.json, чтобы увидеть это предупреждение.

fart 09.08.2024 20:15
Зод: сила проверки и преобразования данных
Зод: сила проверки и преобразования данных
Сегодня я хочу познакомить вас с библиотекой Zod и раскрыть некоторые ее особенности, например, возможности валидации и трансформации данных, а также...
Как заставить Remix работать с Mantine и Cloudflare Pages/Workers
Как заставить Remix работать с Mantine и Cloudflare Pages/Workers
Мне нравится библиотека Mantine Component , но заставить ее работать без проблем с Remix бывает непросто.
Угловой продивер
Угловой продивер
Оригинал этой статьи на турецком языке. ChatGPT используется только для перевода на английский язык.
TypeScript против JavaScript
TypeScript против JavaScript
TypeScript vs JavaScript - в чем различия и какой из них выбрать?
Синхронизация localStorage в масштабах всего приложения с помощью пользовательского реактивного хука useLocalStorage
Синхронизация localStorage в масштабах всего приложения с помощью пользовательского реактивного хука useLocalStorage
Не все нужно хранить на стороне сервера. Иногда все, что вам нужно, это постоянное хранилище на стороне клиента для хранения уникальных для клиента...
Что такое ленивая загрузка в Angular и как ее применять
Что такое ленивая загрузка в Angular и как ее применять
Ленивая загрузка - это техника, используемая в Angular для повышения производительности приложения путем загрузки модулей только тогда, когда они...
1
15
76
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Я создал расширение VSCode для этого:

Другие вопросы по теме

При использовании matplotlib для отображения графики графика не отвечает, и появляется сообщение об ошибке: ModuleNotFoundError: нет модуля с именем «imp»
Подключение к служебной шине из стандартного рабочего процесса приложения логики в сравнении с кодом
Как настроить интерпретатор Python кода Visual Studio для виртуальной среды Python в родительском каталоге?
Почему VSCode «Перейти к определению» работает только частично?
Vscode, как удалить график входящих/исходящих изменений
C++, собственная библиотека, #include не видит файл/каталог
Как я могу использовать VSCode с CMake и иметь разные цели, каждая из которых имеет разную архитектуру и набор инструментов?
Есть ли способ выбрать все элементы класса («btn»), родители которых относятся к классу («место»), используя javaScript, и изменить цвет фона?
Какое сочетание клавиш используется для достижения конца строки мультикурсора в Ubuntu?
Как включить Intellisense при использовании YouTube API с Python в VSCode