Source Insight 工具栏图标功能介绍
这篇文章并不介绍 Source Insight 的具体使用方法,这类教程网上有很多,这里只分析 Souce Insight 工具栏图标的功能。
文章目录
- Source Insight 简介
- Souce Insight 工具栏
- 文件操作
- 新建(Ctrl+N)
- 打开(Ctrl+O)
- 保存(Ctrl+S)
- 另存为(Ctrl+Shift+S)
- 打印
- 剪切(Ctrl+X)
- 复制(Ctrl+C)
- 粘贴(Ctrl+V)
- 撤销(Ctrl+Z)
- 恢复(Ctrl+Y)
- 查找与替换
- 查找(Ctrl+F)
- 往回查找(F3)
- 往前查找(F4)
- 在多文件中查找(Ctrl+Shift+F)
- 替换(Ctrl+H)
- 查找网页(Ctrl+Alt+W)
- 移动光标位置(简单代码定位)
- 返回(Alt+,)
- 前进(Alt+.)
- 跳转到上一个链接(Shift+F8)
- 跳转到下一个链接(Shift+F9)
- 跳转到指定行(Ctrl+G)
- 书签窗口
- 其他定位方法
- 高级代码定位
- 跳转到定义处(Ctrl+=)
- 查看符号信息
- 跳转到调用处(Ctrl+Alt+C)
- 查找引用(Ctrl+/)
- 代码窗口布局
- 水平平铺
- 突出显示
- 平铺两个窗口
- 层叠窗口
- 窗口管理(非代码窗口)
- 项目窗口
- 项目符号列表
- 上下文窗口
- 文件关系窗口
- 代码段窗口
- 剪切窗口
- 搜索结果窗口
- 窗口列表
- 小工具
- FTP 浏览器
- 总览
- 目录比较
- 文件比较
- 概述(展开与折叠)
- 切换展开状态
- 展开全部
- 折叠全部
- 显示概括
- 布局管理
- 保存布局
- 加载布局 A-D
- 加载布局文件
- 其他图标
Source Insight 简介
Source Insight是一个面向项目开发的程序编辑器和代码浏览器,它拥有内置的对C/C++, C#和Java等程序的分析。能分析源代码并在工作的同时动态维护它自己的符号数据库,并自动显示有用的上下文信息。
Source Insight不仅仅是一个强大的程序编辑器,它还能显示reference trees,class inheritance diagrams和call trees。Source Insight提供了最快速的对源代码的导航和任何程序编辑器的源信息。 Source Insight提供了快速和革新的访问源代码和源信息的能力。与众多其它编辑器产品不同。
Source Insight是如今最好用的语言编辑器之一,支持几乎所有的语言, 如C、C++、ASM、PAS、ASP、HTML等常见的,还支持自己定义关键字,Source Insight提供了可快速访问源代码和源信息的功能。
Source Insight自动创建并维护它自己高性能的符号数据库,包括函数、method、全局变量、结构、类和工程源文件里定义的其它类型的符号。Source Insight 可以迅速地更新的文件信息,即使在编辑代码的时候。而且符号数据库的符号可以自动创建到的工程文件中。——百度百科
Souce Insight 工具栏
本文讲解的”工具栏“位与 Source Insight 窗口第二行,这些功能按钮几乎覆盖了 Source Insight 的所有查阅代码的操作,下面就简单介绍一下各个功能按钮对应的功能。
我可能不会按照从左往右的顺序介绍这些功能,不同版本 Source Insight 的工具栏图标也有一定差别(比如图标位置发生改变,新增图标),所以我会将它们分为几大类来介绍。
文件操作
这些都是对当前正在编辑的文件的操作(除了新建文件)
新建(Ctrl+N)
创建一个新文件
打开(Ctrl+O)
在当前工程打开或创建一个新文件
保存(Ctrl+S)
保存当前文件
另存为(Ctrl+Shift+S)
将当前文件另存为一个新命名的文件
打印
打印当前文件
剪切(Ctrl+X)
将选中的文本拷贝到剪贴板并删除原文本
复制(Ctrl+C)
复制选中文本到剪贴板
粘贴(Ctrl+V)
从剪贴板粘贴文本
撤销(Ctrl+Z)
撤销崔后一次编辑操作
恢复(Ctrl+Y)
在撤销操作后,可以使用该命令来恢复最后的编辑操作
查找与替换
查找和替换也是编辑器的基本功能,图标也是很简洁易懂,稍微多看几眼就能记住了。
查找(Ctrl+F)
查找指定文本,查找的起始位置是当前光标所在位置
往回查找(F3)
查找之前出现的搜索项,即向上查找
往前查找(F4)
查找后文出现的搜索项,即向下查找
在多文件中查找(Ctrl+Shift+F)
在多个文件中搜索文本
这个功能还是非常给力的(虽然我只用过Ctrl+F),它可以在指定的文件里查找指定文本,而且查找选项很多,可以高效率解决代码定位问题。
替换(Ctrl+H)
在当前文件中替换文本
当然,点击 “Files…” 也可以实现多文件替换
查找网页(Ctrl+Alt+W)
使用浏览器搜索指定内容
这个功能作用应该不大,毕竟,大家应该都是在没有网络的环境下使用的 Source Insight。。(懂得都懂🙄)
移动光标位置(简单代码定位)
移动光标位置,这在阅读代码时是很重要的操作,比如在main函数里进入某个子函数时,可以通过返回功能回到main函数。
返回(Alt+,)
将光标返回到选择历史的上一个位置
前进(Alt+.)
将光标返回到选择历史的下一个位置
跳转到上一个链接(Shift+F8)
将光标移到到上一个链接目标
这里的链接目标指的是搜索结果窗口(后文有介绍)中,每个搜索结果对应位置。其实就和上面的往后查找类似,只不过这里会跨文件查找。
跳转到下一个链接(Shift+F9)
将光标移到到下一个链接目标
和往前查找类似,只是这里会在不同文件直接跳转者
跳转到指定行(Ctrl+G)
移动光标到指定行
书签窗口
这个按钮可以开启或者关闭书签窗口
打开窗口后,点击左下角的新建书签,即可在当前光标所在行添加书签,当然,直接输入 Ctrl+M 也可以打开书签窗口(只不过再输 Ctrl + M 不能关闭窗口)。
其他定位方法
这里还有一种高亮方式的定位方式,它并没有对应操作快捷图标,不过可以在右键菜单中找到它们:
高亮文字和高亮引用,在使用时,貌似只能高亮一个单词(不能高亮指定文本),两者作用几乎没有差别,只不过高亮引用貌似不能高亮关键字(这里指 C 语言的关键字),下图中黄色为高亮文字,蓝色为高亮引用。
高级代码定位
上一节介绍到的代码定位操作可能你在普通的编辑器上都能看到,但下面几个代码定位操作,可能要在 IDE(Integrated Development Environment )或者高级代码编辑器上才看得到(比如 VS Stduio 、Qt Creator 以及 VS Code)。
跳转到定义处(Ctrl+=)
跳转到所选符号(变量、函数等)的定义处
查看符号信息
显示一个符号定义的弹窗(符号包括函数、变量等)
和跳转到定义处功能一样,都是找到符号的定义位置,只不过后者不会跳转到定义处,而是在一个新的弹窗中显示。
跳转到调用处(Ctrl+Alt+C)
跳转到函数(或标识符)的调用或引用处
查找引用(Ctrl+/)
搜索指定字段的引用
和之前的查找文件相比,这个查找引用更加强大,它可以在整个工程中查找某一文本字段,选项也是非常多,还可以规定查找的文件类型(比如C/C++,Java)。
代码窗口布局
窗口布局这种功能我几乎没用过,屏幕太小,基本上是最大化当前操作的代码窗口。
水平平铺
平铺所有窗口,普遍宽大于高(呈长方形)
突出显示
只显示一个当前窗口,其他窗口最小化
平铺两个窗口
只平铺显示两个最近使用的代码窗口
层叠窗口
层叠窗口,将窗口以层叠的方式重新排列
窗口管理(非代码窗口)
这里主要包含一些项目、符号、上下文窗口的开启或关闭,一般都不是针对某一个代码文件,而是整个项目工程的资源窗口。
项目窗口
项目窗口默认位于代码窗口右侧,里面还包括几个子窗口,分别是工程文件、工程目录、工程符号和工程符号类别,其中工程符号还有一个单独的工具栏图标(下文有介绍)。
项目符号列表
项目符号列表位于项目窗口内部,该列表包括代码项目的所有符号,而每个代码窗口左侧也有一个符号窗口,它只包含当前代码文件里存在的符号。下图左侧为代码窗口的符号列表,右侧为项目符号列表:
上下文窗口
上下文窗口会把选中文本的上下文单独显示出来。
文件关系窗口
它会把光标处符号与其他符号的关联图显示出来。
代码段窗口
代码段就是一些语句模板,如 case 语句、for 循环语句、if 语句,个人觉得,没啥用处。
剪切窗口
剪切窗口默认存在 Clipboard,我们复制和粘贴时会修改该剪切板的内容,我们也可以自己创建一个剪切板,比如下图我创建了一个名为 “my_clip” 的剪切板。
搜索结果窗口
调转到搜索结果窗口,前提是有搜索结果的窗口(除了普通查找外,其他查找都会出现该窗口,如在多文件查找和查找引用)
窗口列表
窗口列表里的内容是代码窗口中所有的子窗口,
小工具
FTP 浏览器
打开或关闭 FTP 浏览窗口,
文件传输协议(File Transfer Protocol,FTP)允许用户以文件操作的方式(如文件的增、删、改、查、传送等)与另一主机相互通信。
FTP 这里就不多做介绍,主要是用来下载其他主机文件的工具,目前我没在 Source Insight 上用过它。
总览
显示或隐藏总览窗格
总览窗格就是下面框中的那玩意:
目录比较
显示目录比较窗口
比较目录和文件还是用专业工具吧,这里的小工具应该不好用
文件比较
显示文件比较窗口
比较目录和文件还是用专业工具吧,这里的小工具应该不好用
概述(展开与折叠)
展开和折叠只能操作当前文件
切换展开状态
切换所选区域的展开状态
函数方法或者宏条件语句可以选择折叠起来或者展开显示:
展开全部
展开所有被折叠的语句(包括子项,如函数里的#if)
折叠全部
折叠所有主概括项,不会折叠子项
例如下面的 1 被折叠了,但子概括项 2 没有折叠:
显示概括
开启或关闭当前文件的概括
布局管理
布局管理是用来加载和保存之前提到的窗口布局的,窗口布局本来我就用得少,这个就更不用说了。
保存布局
可以将当前窗口布局保存为 Layout A-D,或者保存为一个文件,
加载布局 A-D
可以加载四种快捷布局
加载布局文件
从已经保存的布局文件中加载布局
其他图标
工具栏除了上面提到的图标,其实还有两类,分别是 Source Control 和 Build,不过这两个类操作默认没有在工具栏里显示,需要手动打开:
它们的图标包括:
只不过点击它们基本都会报类似下面的这种错误,提示 “Comand shell program not found”,既然这样我也就不去研究它们了。
相关文章:
Source Insight 工具栏图标功能介绍
这篇文章并不介绍 Source Insight 的具体使用方法,这类教程网上有很多,这里只分析 Souce Insight 工具栏图标的功能。 文章目录 Source Insight 简介Souce Insight 工具栏文件操作新建(CtrlN)打开(CtrlO)保…...
模板与泛型编程-函数模板
本专栏由于缺少函数模板专题,我本以为这个不用讲解,但由于某些同学基础比较薄弱,特地在此补充一下。 函数模板的定义一般都在头文件中。 一、如何定义一个模板函数 下面是一个求和函数 template<typename T,typename U> auto Add(T a, U b) {return a + b; }int...
了解ActiveMQ、RabbitMQ、RocketMQ和Kafka的特点
ActiveMQ ActiveMQ是一种基于JMS(Java消息服务)规范的消息中间件,由Apache基金会开发和维护 核心组件和特点: Broker(代理):ActiveMQ的核心组件是Broker,它负责接收、存储和路由消息…...
第七章 用户和组管理
7.1 Linux中的用户和组的分类 用户类别 超级用户(0) root 系统用户(1-999) 一般用户(1000-60000) 组类别 管理组 root 基本组(默认组/主组) 附加组(额外组) 7.2 用户管理 7.2.1 添加新用户 语法 useradd 【…...
给奶牛做直播之三
一、前言 上一篇给牛奶做直播之二 主要讲用RTMP搭建点播服务器,整了半天直播还没上场,今天不讲太多理论的玩意,奶牛今天放假了也不出场,就由本人亲自上场来个直播首秀,见下图,如果有兴趣的话࿰…...
【Java 进阶篇】MySQL 数据控制语言(DCL):管理用户权限
MySQL 是一个强大的关系型数据库管理系统,提供了丰富的功能和选项来管理数据库和用户。数据库管理员(DBA)通常使用数据控制语言(Data Control Language,简称 DCL)来管理用户的权限和访问。 本文将详细介绍…...
WPF 03
staticResource和dynamicResource的区别 首先看一个案例 MainWindow.xaml <Window x:Class"WpfDay03.MainWindow"xmlns"http://schemas.microsoft.com/winfx/2006/xaml/presentation"xmlns:x"http://schemas.microsoft.com/winfx/2006/xaml&quo…...
Android 使用kotlin+注解+反射+泛型实现MVP架构
一,MVP模式的定义 ①Model:用于存储数据。它负责处理领域逻辑以及与数据库或网络层的通信。 ②View:UI层,提供数据可视化界面,并跟踪用户的操作,以便通知presenter。 ③Presenter:从Model层获…...
数据结构——堆(C语言)
本篇会解决一下几个问题: 1.堆是什么? 2.如何形成一个堆? 3.堆的应用场景 堆是什么? 堆总是一颗完全二叉树堆的某个节点总是不大于或不小于父亲节点 如图,在小堆中,父亲节点总是小于孩子节点的。 如图&a…...
B058-SpringBoot
目录 springboot概念与作用入门案例springboot运行方式热部署配置文件Profile多环境支持整合测试-springboot-testSpringboot-web1.返回json数据2.返回页面(模板技术)thymeleaf1.导入thymeleaf依赖2.模板文件3.controller4.启动类 SSM整合1.导包2.项目目…...
龙迅LT9611UXC 2PORT MIPICSI/DSI转HDMI(2.0)转换器+音频,内置MCU
龙迅LT9611UXC 1.描述: LT9611UXC是一个高性能的MIPI DSI/CSI到HDMI2.0转换器。MIPI DSI/CSI输入具有可配置的单 端口或双端口,1高速时钟通道和1~4高速数据通道,最大2Gbps/通道,可支持高达16Gbps的总带 宽。LT9611UXC支持突发…...
STM32存储左右互搏 I2C总线读写FRAM MB85RC1M
STM32存储左右互搏 I2C总线读写FRAM MB85RC1M 在较低容量存储领域,除了EEPROM的使用,还有铁电存储器FRAM的使用,相对于EEPROM, 同样是非易失性存储单元,FRAM支持更高的访问速度, 其主要优点为没有EEPROM持续写操作跨页…...
1340. 跳跃游戏 V;2039. 网络空闲的时刻;2767. 将字符串分割为最少的美丽子字符串
1340. 跳跃游戏 V 核心思想:动态规划记忆化搜索。定义dfs(i),表示从i开始最多可以访问多少个下标,然后统计往左跳和往右边跳的最大值,思路其实比较简单,但是代码我感觉还是不太好想。 2039. 网络空闲的时刻 核心思想…...
ElementUI之CUD+表单验证
目录 前言: 增删改查 表单验证 前言: 继上篇博客来写我们的增删改以及表单验证 增删改查 首先先定义接口 数据样式,我们可以去elementUI官网去copy我们喜欢的样式 <!-- 编辑窗体 --><el-dialog :title"title" :visib…...
Linux:nginx---web文件服务器
我这里使用的是centos7系统 nginx源码包安装 Linux:nginx基础搭建(源码包)_鲍海超-GNUBHCkalitarro的博客-CSDN博客https://blog.csdn.net/w14768855/article/details/131445878?ops_request_misc%257B%2522request%255Fid%2522%253A%25221…...
go 端口转发 代理V2 --chatGPT
问:broker(localPort, targetPort), 实现远程访问localPort的http代理转发到目标机器 gpt: 要实现一个简单的 HTTP 代理服务器,你可以使用 Go 的 net/http 包来处理 HTTP 请求和响应。以下是一个示例,演示如何创建一个 HTTP 代理服务器将本地…...
idea环境下如何打包可运行jar?
工作中有时候偶尔写一些工具类、小程序,可是java程序员制作一个可运行jar实在折腾,利用idea开发环境,可以快速打包自己的可运行jar。具体怎么操作呢? 创建一个空白的java项目并完成自己的程序开发 完成java代码: /**…...
基于FFmpeg的Android播放器
基于FFmpeg的Android播放器 文章目录 基于FFmpeg的Android播放器1. 前言2. 编译相关组件库3. 解码器4. 解码流程5. 音频输出6. 视频输出(需要优化) 1. 前言 FFmpeg是一个最有名的开源的编解码库,实现了通常的编解码逻辑。它还能够根据平台特…...
osgPBR(十五)镜面IBL--查看不同级别的HDR环境贴图
首先,设置可以使用Mipmap,启用三线性过滤,设置最大级别和最小级别 osg::ref_ptr<osg::TextureCubeMap> tcm new osg::TextureCubeMap; tcm->setTextureSize(128, 128);tcm->setFilter(osg::Texture::MIN_FILTER, osg::Texture:…...
Docker的学习记录
Docker是一个被广泛使用的开源容器引擎,基于Go语言,遵从Apache2.0协议开源。 docker的三个概念:容器、镜像和仓库。 镜像(Image):镜像是Docker中的一个模板。通过 Docker镜像 来创建 Docker容器ÿ…...
Android Jetpack组件架构:ViewModel的原理
Android Jetpack组件架构:ViewModel的原理 导言 本篇文章是关于介绍ViewModel的,由于ViewModel的使用还是挺简单的,这里就不再介绍其的基本应用,我们主要来分析ViewModel的原理。 ViewModel的生命周期 众所周知,一般…...
数据分析(python)学习笔记1.0
《利用Python进行数据分析》(原书第2版) 《利用Python进行数据分析》(原书第2版) 《利用Python进行数据分析》(原书第2版) 社区和会议 除了网络搜索,科学、数据相关的Python邮件列表对于解决问题也非常有帮助。可以看看下列邮件列表: pydata:与数据分析和pandas相…...
SW免安装的toolbox只读问题
把SOLIDWORKSDATA 整体复制到另外的目录,然后这里设置目录位置。不然原始位置有只读属性...
nodejs在pdf中绘制表格
需求 之前我已经了解过如何在pdf模板中填写字段了 nodejs根据pdf模板填入中文数据并生成新的pdf文件https://blog.csdn.net/ArmadaDK/article/details/132456324 但是当我具体使用的时候,我发现我的模板里面有表格,表格的长度是不固定的,所…...
使用不同尺寸的传感器拍照时,怎么保证拍出同样视场范围的照片?
1、问题背景 使用竞品机做图像效果对比时,我们通常都会要求拍摄的照片要视场范围一致,这样才具有可比性。之前我会考虑用同样焦距、同样分辨率的设备去拍照对比就可以了,觉得相机的视场范围只由镜头焦距来决定。 但如果对于不同尺寸的传感器…...
01-工具篇-windows与linux文件共享
一般来说绝大部分PC上装的系统均是windows,为了开发linux程序,会在PC上安装一个Vmware的虚拟机,在虚拟机上安装ubuntu18.04,由于windows上的代码查看软件、浏览器,通信软件更全,我们想只用ubuntu进行编译&a…...
医疗实施-住院流程详解
住院就诊流程详解 1.病人入院登记2.病人进入病区3.医生操作病人4.医嘱录入与审核执行5. 医嘱收费前在对应业务系统的操作5.1.药物医嘱5.2.检查检验医嘱5.3.手术医嘱 6.住院医嘱费用的产生7. 医嘱收费后在对应业务系统的操作8. 病人出院 这篇文章是基于我的文章《医疗实施-住院就…...
本地连接服务器 jupyter notebook
本地连接服务器 jupyter notebook 一、前提工作二、服务器操作三、Windows 操作 一、前提工作 准备一台Linux云服务器新建一个用户,并切换到此用户安装 Anaconda 二、服务器操作 远程服务器上安装和配置 Jupyter Notebook: pip3 install jupyter接着…...
Android 使用Kotlin封装RecyclerView
文章目录 1.概述2.运行效果图3.代码实现3.1 扩展RecyclerView 3.2 扩展Adapter3.3 RecyclerView装饰绘制3.3.1 以图片实现分割线3.3.2 画网格线3.3.3空白的分割线3.3.4 不同方向上的分割线 3.4 使用方法 1.概述 在一个开源项目上看到了一个Android Kotlin版的RecyclerView封装…...
WPF 实现点击按钮跳转页面功能
方法1. 配置环境 首先添加prism依赖项,配置好所有文件。需要配置的有两个文件:App.xaml.cs和App.xaml App.xaml.cs using System.Data; using System.Linq; using System.Threading.Tasks; using System.Windows;namespace PrismDemo {/// <summa…...
网站站点连接不安全/百度搜索引擎的特点
-- 十年一顾, iOS 与 Android 这样改变了我们- http://blog.csdn.net/csdnnews/article/details/78217466 进行图像、视频相关应用的开发,不仅仅关注普通应用层的开发技能,对图像视频领域的内容也有了更多的关注。最近从零学习移动端的 Op…...
忻州做网站公司/什么关键词可以搜到那种
今天接到一个任务,根据jar包清单,去maven仓库中下载jar包和pom文件,并且按照仓库里的目录结构保存。 本来用python可以很好的解决这项任务,不过我还没有用过java下载文件,想着学习一下。 整体流程 读jar包清单文件&a…...
全套vi设计案例欣赏/成都seo优化
Python 中的类装饰器只要在类中实现两个方法 init 方法和__call__ 方法就可以了。 不带参数的类装饰器 json_ex{"poetry": [{ "name":"春晓" , "content":"春眠不觉晓,处处闻啼鸟。夜来风雨声,花落知多少…...
网站的访问量/潍坊网站建设解决方案
阅读目录 您可能感兴趣的文章:转自:http://www.jb51.net/article/79960.htm 这篇文章主要介绍了Linux内核的基本的模块管理与时间管理操作,包括模块加载卸载函数的使用和定时器的用法等知识,需要的朋友可以参考下内核模块管理Linux设备驱动会以内核模块的形式出现&a…...
dw做网站小技巧/免费网络推广软件
Educational Codeforces Round 110 (Rated for Div. 2) A. Fair Playoff 题目入口 思路 找出最大和次大模拟即可 代码 #include<bits/stdc.h> using namespace std; int a[5]; int main() {int t;cin>>t;while(t--){int maxx-1,max2-1;for(int i1;i<4;i){c…...
东山县建设银行网站/百度云盘登录入口
**** SQL server 安装与基础使用**** 一.安装SQL Server 2008 R2企业版(64位)x64前的准备二、安装SQL server 要安装.NET的组件 三.插入SQL server 光盘 默认下一步即可。 默认下一步 安装完成后打开Microsoft SQL Server Mama…...