How to make vim smart like Jetbrains IDE ?

This page summarizes the projects mentioned and recommended in the original post on /r/neovim

Our great sponsors
  • WorkOS - The modern identity platform for B2B SaaS
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • SaaSHub - Software Alternatives and Reviews
  • refactoring.nvim

    The Refactoring library based off the Refactoring book by Martin Fowler

  • That's what language servers are for. Rename and code actions, some servers also have auto-imports. Most functionality that is missing you should be able to implement with treesitter and LSP. Treesitter for modifying the AST and LSP for querying the language server for stuff like all places where something was referenced etc. I haven't learned how to use treesitter yet, but it's definitely possible: https://github.com/ThePrimeagen/refactoring.nvim

  • pyright

    Static Type Checker for Python

  • For pyright maybe you have to include files or something like that: https://github.com/microsoft/pyright/blob/main/docs/configuration.md

  • WorkOS

    The modern identity platform for B2B SaaS. The APIs are flexible and easy-to-use, supporting authentication, user identity, and complex enterprise features like SSO and SCIM provisioning.

    WorkOS logo
  • nvim-lsp-ts-utils

    Discontinued Utilities to improve the TypeScript development experience for Neovim's built-in LSP client.

  • Coc.nvim for typescript can watch the file system and update imports on filename change. With built-in LSP a similar thing can be done using TSLspRenameFile from https://github.com/jose-elias-alvarez/nvim-lsp-ts-utils (but it doesn't watch the filesystem)

  • beande

    This repository contains the configuration for Neovim to make it like an IDE.

  • I’m moving from IntelliJ to Neovim. I have the idea like as you. The problem with not rename var in many files is because the setting about your project or root_dir is incorrect. You can check my configure file at https://github.com/baobaoit/beande on the branch main or development. The README.md is not up-to-date. I use lspconfig + jdtls (I clone the jdtls repository and build it) or you can try nvim-jdlts, almost key mapping is from lspconfig guide.

NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts