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. SpringBoot在IDEA中实现热部署

    gradle构建形式 添加依赖 compile("org.springframework.boot:spring-boot-devtools") 其他设置 步骤1 步骤2 按下 C ...

  2. geeksforgeeks-Array-Rotation and deletion

      As usual Babul is again back with his problem and now with numbers. He thought of an array of numb ...

  3. Struts通配符映射

  4. OGG实现两台Oracle数据库的同步

    今天通过最简单的一个例子,给大家讲解下 goldengate 实现两台Oracle数据库的同步.内容如下:1.配置数据库信息.2.安装golden gate.3.配置golden gate.4.测试同 ...

  5. Linux文件目录类指令

    ⒈pwd 显示当前工作目录的绝对路径 ⒉ls [Options] [目录或文件] 常用选项: -a:显示当前目录下所有的文件和目录,包括隐藏的. -l:以列表的方式显示信息. ⒊cd [目录的绝对路径 ...

  6. jQuery中【width(),innerWidth(),outerWidth()】

    这个问题,已经别扭我多年了,今天终于彻底解决了,拿出来庆贺一下.jquery作为开源项目,无论从思路上,还是从严谨性上,让人崇敬. 随着时间的流逝,jquery的一些功能被逐渐挖掘出来.通过jQuer ...

  7. SSD win7优化步骤

    随着固态硬盘价格不断下降,目前固态硬盘也得到了广泛了应用,一些新笔记本以及组装电脑也开始普遍采用固态硬盘平台,超级本就更不用说了,采用固态硬盘已经成标配化,虽然固态硬盘速度很快,但不懂的优化,依然无法 ...

  8. PHP查看编译参数

    PHP查看编译参数 [root@test ~]# php -i|grep configure Configure Command => './configure' '--prefix=/usr/ ...

  9. 字符串cookies转字典 scrapy使用。

    配置文件 DOWNLOADER_MIDDLEWARES = { 'weibo.middlewares.CookiesMiddleware': 543, } 中间件内容 class CookiesMid ...

  10. Ajax jsonp 跨域请求实例

    跨域请求 JSONP的缺点则是:它只支持GET请求而不支持POST等其它类型的HTTP请求:它只支持跨域HTTP请求这种情况,不能解决不同域的两个页面之间如何进行JavaScript调用的问题. $. ...