VsCode下代码导航
Visual Studio Code具有高效的代码编辑器,当与编程语言服务结合使用时,可以为您提供IDE的强大功能和文本编辑器的速度。在本主题中,我们将首先描述VS Code的语言智能功能(建议,参数提示,智能代码导航),然后展示核心文本编辑器的强大功能。
快速文件导航
在浏览项目时,Explorer非常适合在文件之间导航。但是,当您处理任务时,您会发现自己在同一组文件之间快速跳转。VS Code提供了两个功能强大的命令,可以通过易于使用的键绑定在文件中导航和跨文件导航。
按住Ctrl键并按Tab键查看编辑器组中打开的所有文件的列表。要打开其中一个文件,请再次使用Tab选择要导航到的文件,然后释放Ctrl以将其打开。

或者,您可以使用^-和^⇧-在文件和编辑位置之间导航。如果您在同一文件的不同行之间跳转,这些快捷方式允许您轻松地在这些位置之间导航。
提示:键入⌘P(快速打开)时,可以按名称打开任何文件。
转到定义
如果某种语言支持它,您可以按F12转到符号的定义。
如果按Ctrl键并将鼠标悬停在符号上,将显示声明的预览:

提示:您可以使用Ctrl +单击跳转到定义,或使用Ctrl + Alt +单击打开侧面的定义。
转到类型定义
某些语言还支持通过从编辑器上下文菜单或命令选项板运行“ 转到类型定义”命令来跳转到符号的类型定义。这将带您到符号类型的定义。默认情况下,该命令不绑定到键盘快捷键,但您可以添加自己的自定义键绑定。editor.action.goToTypeDefinition
转到实施
语言还可以通过按⌘F12支持跳转到符号的实现。对于接口,它显示了该接口的所有实现者,对于抽象方法,这显示了该方法的所有具体实现。
转到符号
您可以使用⇧⌘O在文件中导航符号。通过键入:符号将按类别分组。只需按向上或向下键并导航到您想要的位置即可。

按名称打开符号
某些语言支持使用⌘T跨文件跳转到符号。只需键入要导航到的类型的第一个字母,无论哪个文件包含它,然后按Enter键。

窥视
我们认为没有什么比一个大的上下文切换更糟糕了,当你想要的只是快速检查一些东西。这就是为什么我们支持偷看的编辑。当您执行查找所有引用搜索(通过⇧F12)或Peek定义(通过⌥F12)时,我们将结果嵌入到内联:

您可以在窥视编辑器中的不同引用之间导航,并在那里进行快速编辑。单击隐藏的编辑器文件名或双击结果列表将在外部编辑器中打开引用。
提示:此外,如果您按下Escape或在peek编辑器区域中双击,则会关闭查看窗口。您可以使用该
editor.stablePeek设置禁用此行为。
支架匹配
只要光标靠近其中一个,匹配括号就会突出显示。

提示:您可以使用⇧⌘跳转到匹配的括号
参考信息
某些语言(如C#)支持内联参考信息,即实时更新。这使您可以在整个项目中快速分析编辑的影响或特定方法或属性的受欢迎程度:

提示:通过单击这些注释直接调用“ 查找所有引用”操作。
提示:可以通过
editor.codeLens设置打开或关闭CodeLens中显示的参考信息。
重命名符号
某些语言支持跨文件重命名符号。按F2键,然后键入新的所需名称,然后按Enter键。符号的所有用法都将在文件中重命名。

错误和警告
警告或错误可以通过已配置的任务,丰富的语言服务或者在后台不断分析代码的连接器生成。由于我们喜欢无错误的代码,警告和错误会出现在多个地方:
- 在状态栏中,有一个所有错误和警告计数的摘要。
- 您可以单击摘要或按⇧⌘M以显示“ 问题”面板,其中包含所有当前错误的列表。
- 如果打开包含错误或警告的文件,它们将与文本和概述标尺一起呈现。

提示:要循环显示当前文件中的错误或警告,可以按F8或⇧F8,这将显示详细说明问题的内联区域和可能的代码操作(如果可用):

代码行动
警告和错误可以提供代码操作(也称为快速修复)以帮助解决问题。这些将作为灯泡显示在左边距的编辑器中。单击灯泡将显示“代码操作”选项或执行操作。
下一步
既然你知道编辑器是如何工作的,那么现在就去尝试其他一些事情......
- 简介视频 - 代码编辑 - 观看有关代码编辑功能的介绍性视频。
- 用户界面 - 如果您错过了围绕VS Code的基本方向。
- 键绑定 - 了解如何修改您的首选项的键绑定。
- 调试 - 这是VS Code真正发挥作用的地方。
VsCode下代码导航的更多相关文章
- Nodejs在VSCode下代码智能提示
在学习Nodejs的过程中发现vscode下默认没有提示,在网上也测试了传统的一些方法,都不好用,最后找到这个npm install --save-dev @types/node
- 20款jquery下拉导航菜单特效代码分享
20款jquery下拉导航菜单特效代码分享 jquery仿京东商城左侧分类导航下拉菜单代码 jQuery企业网站下拉导航菜单代码 jQuery css3黑色的多级导航菜单下拉列表代码 jquery响应 ...
- 通过html和css做出下拉导航栏的效果
通过观察了百度的首页,对于更多产品一栏,觉得可以不涉及JS便可写出下拉导航栏的效果 1.先设计出大体的框架 <div class="nav"> <ul> & ...
- CSS制作一个简单网页的下拉导航栏
网页下拉导航栏的制作 网页下拉导航栏的制作很简单,只需要运用好CSS中伪选择器. 首先说明几个简单的伪选择器(比较常用的): link:连接平常的状态 visited:连接被访问过之后 hover:鼠 ...
- MDNavBarView下拉导航菜单(仿美团导航下拉菜单)
说到下拉导航菜单这个东西用得还真不少,细心算一下做开发以来这样的菜单已经写了第三次了,但基本都是不能复用.感觉特累人.不经意看到同事写一个类似的下拉菜单,但他引用了开源库仿大众菜单的库,大致看了一下, ...
- 详解Android ActionBar之二:ActionBar添加Tabs标签和下拉导航
本节主要讲解ActionBar如何添加Tabs标签和下拉导航. 一.添加标签 Tabs 在ActionBar中实现标签页可以实现android.app.ActionBar.TabListener ,重 ...
- Android ActionBar详解(二):ActionBar实现Tabs标签以及下拉导航
一.添加标签 Tabs 在ActionBar中实现标签页可以实现android.app.ActionBar.TabListener ,重写onTabSelected.onTabUnselected ...
- Vetur:VSCode下强大的Vue开发工具
Vue自从发布以来就一直受到前端开发人员的热爱,而除了一些本身优秀的特征之外,还有就是丰富的插件和工具的支持和更新.虽然现在的编辑器需要安装相应的plugins才能进行Vue组件化开发,但是越来越多优 ...
- yolov3源码darknet在vscode下调试
1. 安装配置: https://pjreddie.com/darknet/yolo/ darknet文件夹下make命令搞定: 2. 配置vscode 打开安装好的vscode并安装扩展C/C++( ...
随机推荐
- 第3月第1天 GCDAsyncSocket dispatch_source_set_event_handler runloop
+ (void)startCFStreamThreadIfNeeded { LogTrace(); static dispatch_once_t predicate; dispatch_once(&a ...
- python - 发送邮件(email模块(内置))
发送邮件 import smtplib from email.mime.text import MIMEText #邮箱件内容 HTML = """ 发送邮件测试2,加密 ...
- Struts自定义拦截器&拦截器工作原理
0.拦截器的调用原理: 拦截器是一个继承了序列化接口的普通接口.其工作原理是讲需要被拦截的对象作为参数传到intercept()方法内,在方法内部对此对象进行处理之后再执行原方法.intercept( ...
- linux内核中链表代码分析---list.h头文件分析(一)【转】
转自:http://blog.chinaunix.net/uid-30254565-id-5637596.html linux内核中链表代码分析---list.h头文件分析(一) 16年2月27日17 ...
- 【转】SourceInsight4破解笔记
时隔好多年,sourceinsight4以迅雷不及掩耳之势的来了.与3.5相比,sourceinsight4多了代码折叠以及文件标签功能,可谓是让sourceinsight迷兴奋了好几晚上.废话不多说 ...
- 读SRE Google运维解密有感(四)-聊聊问题排查
前言 这是读“SRE Google运维解密”有感第四篇,之前的文章可访问www.addops.cn来查看.今天我们来聊聊“问题排查”这个话题,本人到目前为止还在参与一线运维的工作,遇到过很多“稀奇古怪 ...
- git 的入门使用到团队协作
1.git 的安装.下载---安装,esay. 下载地址:https://git-for-windows.github.io/ 2.创建一个自己的身份 git config --global user ...
- mongodb数据库安装及常见操作
客户端和服务端的安装 # rpm -ivh mongo-10gen-2.4.6-mongodb_1.x86_64.rpm mongo-10gen-server-2.4.6-mongodb_1.x86_ ...
- 最全的基于MFC的ActiveX控件开发教程
浏览器插件之ActiveX开发(一) 一般的Web应用对于浏览器插件能不使用的建议尽量不使用,因为其涉及到安全问题以及影响用户安装(或自动下载注册安装)体验问题.在有特殊需求(如涉及数据安全的金融业务 ...
- 深度学习Bible学习笔记:第六章 深度前馈网络
第四章 数值计算(numerical calculation)和第五章 机器学习基础下去自己看. 一.深度前馈网络(Deep Feedfarward Network,DFN)概要: DFN:深度前馈网 ...