代码的自动补全/auto-complete(微软的智能感应/intellis
发布网友
发布时间:2024-10-16 13:51
我来回答
共1个回答
热心网友
时间:2024-12-05 17:39
省略了细节,主要介绍了代码自动补全工具的用途和工作原理。
Lint,或称为linter,是静态代码分析工具,用于标记编程错误、错误代码、风格错误及可疑结构。
以Python为例,使用了PEP8作为风格指南,其主体仅有一个文件,包含约2000行代码。flake8是一个基于PEP8的代码质量检查工具。
flake8依赖于pylint进行代码分析。
在LSP(Language Server Protocol)流行之前,静态代码分析的实现较为困难,且大多数工具与所使用的编辑器紧密相关。
2018年,出现了独立于编辑器的standalone python语言服务器,例如Introcing the Python Language Server。
coc.nvim是基于LSP的客户端,pylance则是Visual Studio Code中Python默认的语言服务器,提供IntelliSense功能。
pylance由微软开发和维护,包含Pyright,其是一个静态类型检查工具。
在Vim或neovim中,可以安装coc-pyright或使用ALE进行代码检查。
jedi家族提供了出色的自动完成、静态分析和重构功能,是Python的库。
jedi最初由David Halter开发,于2012年开始,以弥补缺乏合适VIM解决方案的问题。
jedi-language-server与coc-jedi同为David Halter的项目,专注于支持所有jedi功能以减少对第三方依赖的暴露。
Levenshtein距离(编辑距离)在自动补全工具中也常有应用,用于匹配代码片段。
Vim的Ctrl x模式提供了一种易于定制的实现方式,详细的文档可在帮助页面中找到。