Вопрос или проблема
Во-первых, я только несколько недель как использую Vim и Neovim.
Недавно я обновился через LazyVim и добавил язык Typescript через :LazyExtras
, потому что я использовал TS в прошлом и планирую использовать его в будущем, но сейчас мой код просто завален мусором.
- Типы параметров функций такие длинные, что я даже не вижу конца строк
- “Информационная панель”, которая появляется, когда я пишу что-то вроде
console.log()
, раньше не было, и хотя она информативна, мне хотелось бы знать, как её настроить
Где я могу отключить подсказки по типам в Typescript (я работаю в .js файле)?
Что предоставляет предложения по типам / автозаполнение / что угодно?
Ответ или решение
Проблемы с подсказками типов TypeScript в Neovim: Полное руководство
Когда вы начинаете работать с Neovim и сталкиваетесь с проблемами, связанными с подсказками типов TypeScript, важно понимать, что это может быть связано с несколькими факторами настройки вашего редактора и используемых плагинов. Давайте рассмотрим основные проблемы и способы их решения.
1. Длинные подсказки для типов параметров функций
Если вы заметили, что подсказки для типов параметров функций слишком длинные и переполняют экран, это может значительно ухудшить удобство работы. Есть несколько решений для управления отображением подсказок:
-
Настройка LSP (Language Server Protocol): В большинстве случаев для работы с TypeScript используется сервер языка, такой как TypeScript Language Server. Вам нужно будет найти конфигурационный файл для LSP, который, вероятно, настраивается в вашей конфигурации Neovim (например, в
init.lua
илиinit.vim
). Загляните туда и измените параметры отображения подсказок. -
Сокращение типов: В некоторых LSP-клиентах есть возможность сократить выводимые типы. Например, вы можете включить или отключить расширенное выводимость типов. Ознакомьтесь с документацией вашего конкретного плагина LSP, чтобы найти параметры, касающиеся того, как выводиться типы (такие как
show_type_hints
).
2. Панели с информацией при вводе
Вы упомянули, что теперь видите информационные панели, когда вводите такие функции, как console.log()
. Эти панели могут быть полезными для быстрой справки, но, если они вам мешают, вы можете отключить их следующим образом:
-
Отключение авто-подсказок: Проверьте конфигурацию плагина, отвечающего за автозаполнение и подсказки. Например, если вы используете
nvim-cmp
или аналогичный плагин, обратите внимание на настройки, связанные с отображением подсказок, и отключите нужные вам параметры. -
Настройка отображения информации: Возможно, в настройках вашего LSP есть опция для управления уведомлениями и панелями. Зачастую стоит просто зайти в документацию используемого вами LSP плагина и поискать параметры, такие как
enable_signs
илиhover
, чтобы настраивать, как информация отображается.
3. Отключение подсказок для JavaScript файлов
Раз вы упомянули, что работаете с .js
файлами, но все еще получаете подсказки для типов TypeScript, есть несколько рекомендаций:
-
Изменение конфигурации LSP: Некоторые LSP-серверы могут по умолчанию включать поддержку типов для JavaScript. Убедитесь, что в конфигурации вашего LSP-сервера отключена поддержка типизации для JavaScript. Например, у TypeScript Language Server может быть опция
checkJs
, которую можно отключить. -
Редактирование настройки проекта: Если ваш проект содержит файл
tsconfig.json
, перепроверьте его настройки. Параметры, такие какallowJs
, могут влиять на то, как обрабатываются JS файлы.
4. Понимание используемых плагинов
Судя по вашему описанию, вы используете LazyVim
и включили поддержку TypeScript через :LazyExtras
. Чтобы глубже понять, какие именно плагины устанавливаются и какие функции они выполняют, рекомендуется:
-
Изучите документацию: Посетите репозитории GitHub, из которых происходят плагины, и ознакомьтесь с их документацией, чтобы понять, какие параметры и альтернативные настройки доступны.
-
Расширьте настройки: В некоторых случаях возможно изменить настройки конкретного плагина прямо в вашем конфигурационном файле.
Заключение
Проблемы с подсказками типов TypeScript в Neovim могут быть оптимизированы через правильные настройки LSP и плагинов. Изменяя конфигурации, вы сможете значительно улучшить удобство работы, что положительно скажется на вашем программировании. Вам нужно лишь немного поэкспериментировать с настройками, чтобы добиться желаемого результата. Если у вас возникнут дополнительные вопросы, не стесняйтесь задавать их сообществу Neovim.