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. mac系统在配置navicat时连接数据的时候提示can't connect to mysql server on '127.0.0.1'

          新建数据库连接的时候,将默认的端口号更改掉,改为3307,即可解决这个问题. 具体是为什么我也不清楚,我自己想的一个可能就是mac电脑 上的某个程序可能已经占用了3306那个默认的端口,因 ...

  2. 【黑客免杀攻防】读书笔记7 - 软件逆向工程基础1(函数调用约定、Main函数查找)

    0x1 准备工作 1.1.准备工具 IDA:交互式反汇编工具 OllyDbg:用户层调试工具 Visual Studio:微软开发工具 1.2.基础知识 C++开发 汇编语言 0x2 查找真正的mai ...

  3. Python基础-封装与扩展、静态方法和类方法

    一.封装与扩展 封装在于明确区分内外,使得类实现者可以修改封装内的东西而不影响外部调用者的代码:而外部使用者只知道一个接口(函数),只要接口(函数)名.参数不变,使用者的代码永远无需改变.这就提供一个 ...

  4. EB-GAN系(Energy-based GAN)

    学习总结于国立台湾大学 :李宏毅老师 EB-GAN: Energy-based Generative Adversarial Network MA-GAN:MAGAN: Margin Adaptati ...

  5. Django 聚合与查询集API实现侧边栏

    本文从Django官方文档总结而来,将聚合的主要用法和查询集的常见方法做一归纳. 聚合 1. 聚合的产生来源于django数据库查询,通常我们使用django查询来完成增删查改,但是有时候需要更复杂的 ...

  6. [转]HEX文件格式解析

    1.前言 本文主要讲述keil MDK 下STM32编译生成的的HEX镜像文件格式.并说明镜像load地址是如何添加进HEX文件的. 2.keil MDK如何在HEX文件中添加load addr 通过 ...

  7. saltstack自动化运维系列⑥SaltStack实践安装配置HAproxy的Keepalived

    saltstack自动化运维系列⑥SaltStack实践安装配置HAproxy的Keepalived 安装配置Keepalived 1.编写功能模块 #创建keepalived目录# mkdir -p ...

  8. nagios系列(六)之nagios实现对服务器cpu温度的监控

    1.安装硬件传感器监控软件sensors yum install -y lm_sensors* 2.运行sensors-detect进行传感器检测 ##一路回车即可 Do you want to ov ...

  9. jdbc驱动加载

    使用sqlserver数据库时,加载驱动: Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver"); Strin ...

  10. ThreadLocal和线程同步机制对比

    共同点: ThreadLocal和线程同步机制都是为了解决多线程中相同变量的访问冲突问题. 区别: 在同步机制中,通过对象的锁机制保证同一时间只有一个线程访问变量. 这时该变量是多个线程共享的,使用同 ...