vs code 搜索 jar 中的类

news2024/9/21 18:49:36

vs code 搜索文件非常的方便, 可以使用 ctrl / cmd + p, 但是只能搜索源码, 无法搜索 jdk 中的类.

可以使用 ctrl / cmd + t 来搜索. 但是搜索的时候需要注意不能像 ctrl/cmd + p 一样随意忽略大小写和跳过字符, 例如 InputStream 可以使用类似 inputst / InputSt / InSt, 不可以使用 inst


在 VS Code 中,搜索文件确实非常方便,特别是通过 Ctrl + P(或 macOS 上的 Cmd + P),可以快速搜索并打开项目中的源码文件。然而,默认情况下,这个功能仅限于项目内部的文件,无法直接搜索 JDK 中的类或第三方库的类(例如,java.lang.String 或 java.io.InputStream 这样的类)。这对开发 Java 项目的用户来说,有时可能会带来一些不便。

解决方案:如何在 VS Code 中搜索 JDK 或外部依赖的类

为了在 VS Code 中搜索 JDK 类或第三方依赖中的类文件,我们可以利用以下方法:

1. 使用 Ctrl + T(或 Cmd + T)搜索符号

Ctrl + T(或 Cmd + T)的快捷键是用于搜索项目中的符号,这包括类、方法、接口等定义。如果你的项目已经正确配置了 JDK 和 Maven 或 Gradle 等构建工具,VS Code 会自动索引 JDK 和外部依赖库中的符号。

你可以按下 Ctrl + T 然后输入类名(如 String 或 InputStream),VS Code 将会从已配置的 JDK 和外部库中进行搜索,并显示这些类的定义。这对于经常需要参考 JDK 类或者第三方库类的开发者是非常有用的功能。

在 VS Code 中,通过 Ctrl + P(或 Cmd + P)进行文件搜索时,你可以随意忽略大小写并跳过字符。例如,搜索文件 InputStream.java 时,你可以只输入 instinputst 或 InputSt,VS Code 会智能地匹配这些缩写。但在使用 Ctrl + T(或 Cmd + T)进行符号搜索时,规则会稍微不同,需要更精确地匹配符号名称。

关键点:
  • 大小写敏感:使用 Ctrl + T 进行符号搜索时,VS Code 通常要求输入的符号名称符合正确的大小写。比如你要搜索 JDK 中的类 InputStream,你必须匹配其大小写,输入 InputStInSt 是有效的,但像 inst 这样全小写的缩写通常不会被匹配到。
  • 不能随意跳过字符:不同于 Ctrl + P 的文件名模糊匹配,Ctrl + T 的符号搜索要求你更严格地输入类名或符号名。虽然你可以跳过部分字符(例如 InputStream 可以简写为 InputSt),但不能随意忽略太多字符。像 inst 这样直接跳过大部分字符的输入方式不会找到 InputStream
搜索建议:
  • 部分字符匹配:你可以只输入类名的一部分,比如 InputSt,这样 VS Code 可以快速匹配到 InputStream。这种输入方式是部分字符匹配,既节省输入,又能够保证精确查找。
  • 遵循大小写:为了提高匹配的准确性,尤其是当项目中有大量类似符号时,建议遵循符号的大小写。例如,输入 InStInputS,会比全小写 inst 更快找到你需要的类。

2. 确保正确配置 Java 环境

要确保上述功能能够正常工作,你需要正确配置 VS Code 的 Java 开发环境,主要包括:

  • 安装 Java 扩展包:确保你安装了 Java Extension Pack,这个扩展包为 VS Code 提供了 Java 开发所需的完整支持,包括代码提示、调试、依赖管理等。
  • 配置 JDK:在 VS Code 中,你需要确保设置了正确的 JDK 路径,这样工具才能正确索引和引用 JDK 的类。可以通过 VS Code 的设置文件 settings.json 或使用 Java 配置向导来指定 JDK。

3. 使用 Java 语言服务器

VS Code 的 Java 扩展使用了基于 LSP(Language Server Protocol)的 Java 语言服务器,它会为你索引所有的源文件、依赖项和 JDK 类库。这样你就可以在整个项目范围内进行精确的符号搜索。

4. 查看源码

如果你希望不仅仅是找到类,还希望能查看它们的源码(例如查看 JDK 类的实现),那么需要确保 JDK 源码也被正确配置。一般来说,安装 OpenJDK 或 Oracle JDK 时,会包含源码包 (src.zip),VS Code 能够识别并自动解析这些源码。如果没有找到源码,可以手动将源码路径添加到项目的配置中。

结论

VS Code 中默认的 Ctrl + P(或 Cmd + P)只能搜索项目中的文件,要搜索 JDK 或外部依赖中的类或符号,推荐使用 Ctrl + T(或 Cmd + T)来进行符号级别的搜索。通过正确配置 Java 开发环境、JDK 路径以及使用 Java 扩展包,VS Code 可以成为一个强大、便捷的 Java 开发工具。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2153041.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【设计模式-备忘录】

备忘录模式(Memento Pattern)是一种行为型设计模式,用于保存对象的内部状态,以便在将来某个时间可以恢复到该状态,而不暴露对象的内部实现细节。备忘录模式特别适合在需要支持撤销(Undo)操作的应…

如何在多台Linux虚拟机上安装和配置Kafka集群

Kafka是一个高性能、分布式的流处理平台,被广泛应用于大规模实时数据处理场景。它具有高吞吐量、低延迟和可水平扩展等特点,能够有效地处理海量数据流。为了提高Kafka的可用性和容错性,通常会在多个节点上部署Kafka集群。在这个指南中&#x…

十大排序(一):冒泡排序

目录 一、简介 实现过程 时间复杂度 二、代码实现 函数声明 Swap函数 单趟 多趟 测试 优化 一、简介 冒泡排序是一种简单的排序算法,它重复地比较相邻的两个元素,如果顺序错误就交换它们,直到没有元素需要交换为止。这个过程类…

获取zabbix API 监控数据shell脚本,自动日常巡检服务器信息、并发送指定群组

一,前言 有zabbix监控,也并不是时刻盯着数据,所以想着,每天固定某个时刻,自动发送服务器数据到指定群组,给其他人更直观的数据。 数据就可以从zabbix API获取。参考官方API文档:https://www.z…

如何使用IIC外设(硬件IIC)

本文重点叙述如何使用芯片自带的 IIC 外设,即硬件 IIC,实现 IIC 通信。文章《IIC通信基础_cpu的iic通信-CSDN博客》 中,叙述了软件 IIC 通信和硬件 IIC 通信的区别, 并且重点叙述了 IIC 的通信协议。在使用软件进行 IIC 通信时&am…

git安装包夸克网盘下载

git安装包夸克网盘下载 git夸克网盘 git网站上的安装包下载速度有点慢,因此为了方便以后下载就将文件保存到夸克网盘上,链接:我用夸克网盘分享了「git」,点击链接即可保存。 链接:https://pan.quark.cn/s/07c73c4a30…

MongoDB在Linux系统中的安装与配置指南

在这篇文章中,我们将介绍如何在CentOS 7服务器上安装MongoDB,并通过DataX将数据从MongoDB迁移到MySQL数据库。这将包括MongoDB的安装、配置、数据准备以及使用DataX进行数据迁移的详细步骤。 MongoDB简介 MongoDB是一个高性能、开源、无模式的文档型数据…

c++9月20日

1.思维导图 2.顺序表 头文件 #ifndef RECTANGLE_H #define RECTANGLE_H#include <iostream>using namespace std;using datatype int ;//类型重定义class Seqlist { private://私有权限datatype *ptr; //指向堆区申请空间的起始地址int size;//堆区空间的长度int len …

鸿蒙OS 线程间通信

鸿蒙OS 线程间通信概述 在开发过程中&#xff0c;开发者经常需要在当前线程中处理下载任务等较为耗时的操作&#xff0c;但是又不希望当前的线程受到阻塞。此时&#xff0c;就可以使用 EventHandler 机制。EventHandler 是 HarmonyOS 用于处理线程间通信的一种机制&#xff0c…

Spring Boot助力高校心理辅导系统升级

3 系统分析 3.1可行性分析 在进行可行性分析时&#xff0c;我们通常根据软件工程里方法&#xff0c;通过四个方面来进行分析&#xff0c;分别是技术、经济、操作和法律可行性。因此&#xff0c;在基于对目标系统的基本调查和研究后&#xff0c;对提出的基本方案进行可行性分析。…

如何着手创建企业数据目录?(三)权限管理及版本控制

前文导读&#xff1a; 《如何着手创建企业数据目录&#xff1f;&#xff08;一&#xff09;数据目录的设定》 《如何着手创建企业数据目录&#xff1f;&#xff08;二&#xff09;数据的命名与维护》 前面聊过了数据目录的设定、数据命名规则和维护规则&#xff0c;今天我们继续…

【java实现json转化为CSV文件】

文章目录 JSON文件中的数据格式测试文件转换的接口 JSON文件中的数据格式 单条数据展开后如下&#xff1a; {"text": "《邪少兵王》是冰火未央写的网络小说连载于旗峰天下","spo_list":[{"predicate": "作者", "objec…

Windows环境下搭建MySQL主从同步实现读写分离

文章目录 前言读写分离的基本原理 环境介绍及说明主库my.ini初始配置创建用于同步的数据库和表 一、新增mysql从库1.复制mysql文件夹2.修改从库的my.ini3.安装到windows服务 二、在my.ini中配置主、从库相关参数1.主库新增配置参数不同版本参数不同问题 2.从库新增配置参数3.删…

rabbitmq 短信验证码

1.生成的验证码用redis存 减少数据库压力 2.通知运营商发送短信的事情交给rabbitmq的队列去做&#xff0c;无论成功或者是失败&#xff0c;用户那边都不知道。没有收到验证码&#xff08;监听失败&#xff09;用户只会觉得是运营商的问题&#xff0c;而不会怀疑是我们的系统有问…

Linux文件IO(四)-返回错误处理与errno详解

1.前言 在上一文章中&#xff0c;给大家编写了很多的示例代码&#xff0c;大家会发现这些示例代码会有一个共同的特点&#xff0c;那就是当判断函数执行失败后&#xff0c;会调用 return 退出程序&#xff0c;但是对于我们来说&#xff0c;我们并不知道为什么会出错&#xff0…

C++进阶|多态知识点详解及经典面试题总结

&#x1f36c; mooridy-CSDN博客 &#x1f9c1;C专栏&#xff08;更新中&#xff01;&#xff09; 目录 1. 多态的概念 2. 多态的定义及实现 2.1 多态的构成条件 2.2 虚函数的重写/覆盖 2.3 虚函数重写的⼀些其他问题 2.4 override 和 final关键字 2.5 重载/重写/隐藏的…

(笔记自用)位运算总结+LeetCode例题:颠倒二进制位+位1的个数

一.位运算总结: 在解题之前理解一下为什么需要位运算&#xff1f;它的本质是什么&#xff1f; 力扣上不少位运算相关的题&#xff0c;并且很多题也会用到位运算的技巧。这又是为什么&#xff1f; 位运算的由来 在计算机里面&#xff0c;任何数据最终都是用数字来表示的&…

mysqldump使用cmd窗口和powersell窗口导出sql中文乱码的问题

项目场景 我在使用Mariadb数据库更新数据的时候&#xff0c;由于数据库的表格中含有中文&#xff0c;在使用mysqldump导出sql语句的时候&#xff0c;中文显示乱码&#xff0c;如下图所示&#xff1a; 环境描述 系统&#xff1a;windows10数据库&#xff1a; Mariadb -10.6.16…

Vue2中路由的介绍和使用

一.路由的基本概念 一说路由&#xff0c;大家首先想到的可能是路由器&#xff0c;路由器的原理就是给连接的设备一个IP地址&#xff0c;通过IP地址来映射到设备&#xff0c;实现连接&#xff0c;本质上是一种映射关系。 在vue2中就是路径与组件间的映射。 路由是使用vue2制作…

Python爬虫使用实例-umei

优美图库 www.umei.cc BV1Ag41137re 1/获取资源 查看网站资源结构 多页&#xff0c;每个item只有一张图 多页&#xff0c;每个item都是一个图集 最大页码 内外层图集均有若干page。 通过尾页按钮确定pageNum&#xff1a; 2/发送请求 response requests.get(urlurl, header…