IntelliSense
IntelliSense 是一个涵盖各种代码编辑功能的通用术语,包括:代码补全、参数信息、快速信息和成员列表。IntelliSense 功能有时也被称为“代码完成”、“内容辅助”和“代码提示”等名称。
IntelliSense 用于你的编程语言
Visual Studio Code IntelliSense 开箱即用,支持 JavaScript、TypeScript、JSON、HTML、CSS、SCSS 等。VS Code 支持任何编程语言的基于单词的补全,但也可以通过安装语言扩展配置以获得更丰富的 IntelliSense。
以下是Visual Studio市场中最受欢迎的语言扩展。请选择下方的扩展瓷砖,阅读描述和评价,决定最适合您的扩展方案。
IntelliSense 功能
VS Code IntelliSense 的功能由语言服务驱动。语言服务基于语言语义和源代码分析,提供智能的代码补全。如果语言服务知道可能的完成性,IntelliSense 建议会在你输入时弹出。如果你继续输入字符,成员列表(变量、方法等)会被筛选,只包含包含你类型化字符的成员。按下Tab键或回车键即可插入所选成员。
你可以通过输入 ⌃Space(Windows,Linux 的 Ctrl+Space)或输入触发字符(例如 JavaScript 中的点字符 .)在任何编辑器窗口中触发 IntelliSense。
建议控件支持 CamelCase 过滤,这意味着你可以在方法名中输入大写字母来限制建议。例如,“cra”会引出“createApplication”。
如果你愿意,打字时也可以关闭IntelliSense。请参阅“定制IntelliSense”,了解如何禁用或自定义VS Code的IntelliSense功能。
根据语言服务提供的,你可以按⌃空格(Windows,Linux Ctrl+Space)或选择图标,快速查看每种方法的信息。该方法的配套文档则在旁边展开。扩展后的文档依然可用,并会随着你浏览列表而更新。你可以通过再次按⌃空格(Windows,Linux Ctrl+Space)或选择关闭图标来关闭它。>
选择方法后,你会获得参数信息。

在适用的情况下,语言服务会在快速信息和方法签名中显示底层类型。在上一张截图中,你可以看到几个任何类型。因为JavaScript是动态的,不需要或强制类型,任何表明变量可以是任意类型的。
完备类型
以下截图中的JavaScript代码展示了IntelliSense补全。IntelliSense既给出推断提案,也提供了项目的全局标识符。推断出的符号首先呈现,然后是全局标识符(由ABC单词图标)。
![]()
VS Code IntelliSense 提供多种类型的补全功能,包括语言服务器建议、摘要和基于单词的简单文本补全。
| 图标 | 名称 | 符号类型 |
|---|---|---|
| 方法与功能 | 方法,功能,构造者 |
|
| 变量 | 变量 |
|
| 场 | 场地 |
|
| 类型参数 | typeParameter |
|
| 常数 | 常数 |
|
| 课程 | 级别 |
|
| 接口 | 界面 |
|
| Architecture | struct |
|
| 活动 | 活动 |
|
| 运营方 | 算符 |
|
| 模 | 模块 |
|
| 属性与属性 | 财产 |
|
| 枚举 | 枚举 |
|
| 列举成员 | 会员 |
|
| 参考文献 | 参考文献 |
|
| 关键词 | 关键词 |
|
| 文件 | 文件 |
|
| 文件夹 | 文件夹 |
|
| 颜色 | 颜色 |
|
| 单位 | 单位 |
|
| 片段前缀 | 摘录 |
|
| 词汇 | 文本 |
定制IntelliSense
你可以在设置和快捷键中自定义IntelliSense体验。
背景设定
下面显示的设置是默认设置。你可以在设置编辑器中更改这些设置(⌘,(Windows,Linux Ctrl+,))。
{
// Controls if quick suggestions should show up while typing
"editor.quickSuggestions": {
"other": true,
"comments": false,
"strings": false
},
// Controls whether suggestions should be accepted on commit characters. For example, in JavaScript, the semi-colon (`;`) can be a commit character that accepts a suggestion and types that character.
"editor.acceptSuggestionOnCommitCharacter": true,
// Controls if suggestions should be accepted on 'Enter' - in addition to 'Tab'. Helps to avoid ambiguity between inserting new lines or accepting suggestions. The value 'smart' means only accept a suggestion with Enter when it makes a textual change
"editor.acceptSuggestionOnEnter": "on",
// Controls the delay in ms after which quick suggestions will show up.
"editor.quickSuggestionsDelay": 10,
// Controls if suggestions should automatically show up when typing trigger characters
"editor.suggestOnTriggerCharacters": true,
// Controls if pressing tab inserts the best suggestion and if tab cycles through other suggestions
"editor.tabCompletion": "off",
// Controls whether sorting favours words that appear close to the cursor
"editor.suggest.localityBonus": true,
// Controls how suggestions are pre-selected when showing the suggest list
"editor.suggestSelection": "first",
// Enable word based suggestions
"editor.wordBasedSuggestions": "matchingDocuments",
// Enable parameter hints
"editor.parameterHints.enabled": true,
}
制表补全
编辑器支持制表表补全,按 Tab 键时插入最匹配的补全。无论建议控制是否显示,这个方法都有效。另外,插入建议后按Tab键会插入下一个最佳建议。
默认情况下,标签完成功能是被禁用的。使用该
不对劲- (默认)Tab 补全功能被禁用。关于- 所有建议都启用制表表补全,重复调用插入下一个最佳建议。仅摘录- 制表表补全仅插入与当前行前缀匹配的静态片段。
地区奖励
建议的排序取决于扩展信息以及它们与你当前输入单词的匹配度。此外,你还可以请求编辑器提升那些看起来更接近光标位置的建议,使用以下工具

在之前的截图中,你可以看到伯爵,背景, 和共址根据它们出现的作用域(循环、函数、文件)排序。
建议选择
默认情况下,VS Code 会预先选择建议列表中的第一个建议。例如,如果你希望有不同的行为,比如总是在建议列表中选择最近使用过的项目,你可以使用
可用的
首先- (默认)始终选择最顶的列表项目。最近使用- 选择之前使用的项目,除非前缀(选择类型)选择了其他项目。最近UsedByPrefix- 根据之前完成这些建议的前缀选择项目。
选择最近使用的物品非常有用,因为你可以快速多次插入同一个补全。
“输入选择”意味着当前前缀(大致是光标左侧的文本)用于过滤和排序建议。当发生这种情况,且其结果与最近使用,将优先处理。
使用最后一种方式时,最近UsedByPrefix,VS Code 会记住特定前缀(部分文本)中选中的项目。比如,如果你输入科罗拉多然后被选中控制台, 下次你打字时科罗拉多,建议控制台会被预选。这让你能快速将各种前缀映射到不同的建议,比如科罗拉多 -> 控制台以及缺点 -> 续航.
建议片段
默认情况下,VS Code 会在一个控制点中显示摘要和完成提案。你可以用
“没有”.如果你想看片段,可以指定相对于建议的顺序;顶部(“顶”),在底部(“底层”),或按字母顺序排列的内联顺序(“内线”).默认为“内线”.
键盘快捷键
这里显示的键盘快捷键是默认的快捷键。要分配不同的快捷键,可以使用键盘快捷键编辑器(⌘K ⌘S(Windows,Linux Ctrl+K Ctrl+S))。
| 指挥 | 按键绑定 |
|---|---|
editor.action.triggerSuggest |
⌃Space(Windows,Linux Ctrl+Space) |
toggleSuggestionDetails(切换建议详情) |
⌃Space(Windows,Linux Ctrl+Space) |
toggleSuggestionFocus(切换建议焦点) |
⌃⌥Space(Windows,Linux Ctrl+Alt+Space) |
还有许多与IntelliSense相关的快捷键。打开默认快捷键(偏好设置>快捷键>文件),搜索“建议”。
用AI提升完成
GitHub Copilot 在你输入编辑器时会提供编程建议。你也可以问与Copilot编码相关的问题,比如如何最好地编写代码、如何修复漏洞,或者别人的代码是如何工作的。
开始:
-
通过我们的Copilot快速入门,发现关键功能。
如果你还没有Copilot订阅,可以通过注册Copilot免费计划免费使用Copilot,并获得每月的在线建议和聊天互动限制。
故障排除
如果你发现IntelliSense停止工作,语言服务可能无法运行。试着重启 VS Code,应该能解决问题。如果安装语言扩展后仍然缺少 IntelliSense 功能,请在该语言扩展的仓库中打开一个问题。
在非常大的工作区中,IntelliSense 功能可能会部分禁用,以下功能为
性能方面的原因。如果出现这种情况,试着排除大文件夹(比如node_modules或构建输出目录)通过
有关配置和排查JavaScript IntelliSense,请参见JavaScript文档。
某些语言扩展可能不支持所有VS Code IntelliSense功能。查看扩展的README,了解支持什么内容。如果你觉得语言扩展有问题,通常可以通过VS Code市场找到扩展的issue仓库。进入扩展的详情页面,选择支持链接。
下一步
IntelliSense 只是 VS Code 强大的功能之一。继续阅读以了解更多信息:
- 调试——学习如何为你的应用程序设置调试。
- 创建语言扩展——学习如何为新编程语言添加IntelliSense扩展。
- GitHub Copilot 在 VS Code 中——学习如何利用 GitHub Copilot 的 AI 来提升你的编码能力。
常见问题
为什么我没有得到任何建议?
这可能由多种原因引起。首先,试着重启 VS Code。如果问题依旧,请查阅语言扩展的文档。关于JavaScript相关的故障排除,请参见JavaScript语言主题。
为什么我没有看到方法和变量的建议?

这个问题是由于 JavaScript 中缺少类型声明(类型)文件引起的。大多数常见的JavaScript库都附带声明文件,或者提供类型声明文件。
一定要安装对应你用的库的npm或yarn包。想了解更多关于IntelliSense的信息,请参阅“JavaScript协作”一文。如需其他语言,请参阅扩展文档。