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,这将显示详细说明问题的内联区域和可能的代码操作(如果可用):

代码行动

警告和错误可以提供代码操作(也称为快速修复)以帮助解决问题。这些将作为灯泡显示在左边距的编辑器中。单击灯泡将显示“代码操作”选项或执行操作。

下一步

既然你知道编辑器是如何工作的,那么现在就去尝试其他一些事情......

VsCode下代码导航的更多相关文章

  1. Nodejs在VSCode下代码智能提示

    在学习Nodejs的过程中发现vscode下默认没有提示,在网上也测试了传统的一些方法,都不好用,最后找到这个npm install --save-dev @types/node

  2. 20款jquery下拉导航菜单特效代码分享

    20款jquery下拉导航菜单特效代码分享 jquery仿京东商城左侧分类导航下拉菜单代码 jQuery企业网站下拉导航菜单代码 jQuery css3黑色的多级导航菜单下拉列表代码 jquery响应 ...

  3. 通过html和css做出下拉导航栏的效果

    通过观察了百度的首页,对于更多产品一栏,觉得可以不涉及JS便可写出下拉导航栏的效果 1.先设计出大体的框架 <div class="nav"> <ul> & ...

  4. CSS制作一个简单网页的下拉导航栏

    网页下拉导航栏的制作 网页下拉导航栏的制作很简单,只需要运用好CSS中伪选择器. 首先说明几个简单的伪选择器(比较常用的): link:连接平常的状态 visited:连接被访问过之后 hover:鼠 ...

  5. MDNavBarView下拉导航菜单(仿美团导航下拉菜单)

    说到下拉导航菜单这个东西用得还真不少,细心算一下做开发以来这样的菜单已经写了第三次了,但基本都是不能复用.感觉特累人.不经意看到同事写一个类似的下拉菜单,但他引用了开源库仿大众菜单的库,大致看了一下, ...

  6. 详解Android ActionBar之二:ActionBar添加Tabs标签和下拉导航

    本节主要讲解ActionBar如何添加Tabs标签和下拉导航. 一.添加标签 Tabs 在ActionBar中实现标签页可以实现android.app.ActionBar.TabListener ,重 ...

  7. Android ActionBar详解(二):ActionBar实现Tabs标签以及下拉导航

    一.添加标签 Tabs   在ActionBar中实现标签页可以实现android.app.ActionBar.TabListener ,重写onTabSelected.onTabUnselected ...

  8. Vetur:VSCode下强大的Vue开发工具

    Vue自从发布以来就一直受到前端开发人员的热爱,而除了一些本身优秀的特征之外,还有就是丰富的插件和工具的支持和更新.虽然现在的编辑器需要安装相应的plugins才能进行Vue组件化开发,但是越来越多优 ...

  9. yolov3源码darknet在vscode下调试

    1. 安装配置: https://pjreddie.com/darknet/yolo/ darknet文件夹下make命令搞定: 2. 配置vscode 打开安装好的vscode并安装扩展C/C++( ...

随机推荐

  1. JavaScript之Ajax(一)创建Ajax对象

    // 支持浏览器的源码 function AjaxObject() { var AjaxRequest; // 缓存XHR对象便于 Ajax 使用 try { // Opera 8.0+, Firef ...

  2. mysql案例 ~ 主从复制延迟处理(3)

    一 简介:今天咱们来汇总下如何避免主从延迟 二 方案: 1 集群硬件配置统一,磁盘组更好(SSD最佳),更大的内存 2 linux系统+mysql的配置参数已经优化 3 mysql从库没有任何慢语句进 ...

  3. python - format函数 /class内置format方法

    format函数 # format函数 # 用于字符串格式化 # 基本用法: # 方式一:(位置方式) x = "{0}{1}{2}".format(1,2,3) print('1 ...

  4. js获取当前日期时间“yyyy-MM-dd HH:MM:SS”

    获取当前的日期时间 格式“yyyy-MM-dd HH:MM:SS” 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 function getNowFormatDat ...

  5. Spring+CXF整合来管理webservice(服务器启动发布webservice)

    Spring+CXF整合来管理webservice    实现步骤:      1. 添加cxf.jar 包(集成了Spring.jar.servlet.jar ),spring.jar包 ,serv ...

  6. C++学习2--坦克大战编写-前置知识

    基础班学习的这一个多月里的前三周讲解基础的语法,最后一周需要做坦克大战的项目巩固提高自己掌握的语法知识.这个系列博文主要是为了把学习过程中的知识点总结并记录下来: 开发语言与开发工具:C++,VS20 ...

  7. Linux内存管理--物理内存分配【转】

    转自:http://blog.csdn.net/myarrow/article/details/8682819 1. First Fit分配器 First Fit分配器是最基本的内存分配器,它使用bi ...

  8. python各种post上传文件

    1.带证书上传文件 filename = '/tmp/test.cert'hash_v = 'assumethisisahash' #这是一种流式上传的方式with open(filename, 'r ...

  9. shell脚本中冒号

    格式:: your comment here 格式:# your comment here 写代码注释(单行注释). 例如: 格式:: 'comment line1 comment line2 mor ...

  10. centos6.7环境之kvm虚拟化quem工具配置及使用详解

    环境准备 需要勾选CPU的虚拟化支持,支持cpu虚拟化的CPU列表: intel支持虚拟化技术CPU列表: Intel 6 Cores / 12 Threads CPU Number: Code Na ...