Source Insight基础配置相关代码实例

我们提交的代码,要求不能有多余的空格与 TAB 键,而且代码是在 linux 环境中编译和运行的,而我们经常使用 source insight 编辑代码,因此有必要针对性地配置以省去反复去掉空格和 TAB 键的麻烦。

我们的配置基本上都在 Preference 的菜单里,下面逐个介绍如何设置。

处理 TAB 和空格

  • 去掉每行末尾的空格和 TAB 键:设置Options->Perferences->Files-> Remove extra white space when saving。
  • TAB 键可见:设置Options->Document Options->Editing Options->Visible tabs,就可以在代码里面看到 TAB 键。

处理换行键

*nix 系统和 Windows 系统文件中的换行符不同。

  • *nix 系统中的换行符只有一个字符,\n;
  • Windows 系统中的换行由两个字符组成,\r\n;

这种区别的影响包括

  • Unix/Mac 系统下的文件在 Windows 里打开的话,所有文字会变成一行;
  • Windows 里的文件在 Unix/Mac 下打开的话,在每行的结尾可能会多出一个 ^M 符号。
  • Linux 保存的文件在 windows 上用记事本看的话会出现黑点。

在 linux 下,可以使用命令unix2dos把 linux 文件格式转换成 windows 文件格式,命令dos2unix把 windows 格式转换成 linux 文件格式。

为了保证在 Windows 环境下打开文件之后仍然保持 linxu 的文件的显示正确,设置Preference->Other->Default file format为 Unix(LF)。

标题栏显示文件完整路径

这个功能在查看文档路径是非常有用,去掉Preference->Display->Options->Trim long path names while elipses。

文件名首字母不要大写

勾选Preference->Display->Options->Show exact case of file names。

其他设置

将 Preference 下面的所有 tab 页都过一遍。

General

  • Project File Synchronization->Remove missing file from project选上可以避免因文件找不到而弹出错误对话框;
  • 把Misc->Use stricter confirmation dialog选项去掉可以使确认时不输入”yes”。

Typing

  • ource Editing->Indent commands affect #-preprocessor statements去掉后(默认值),进行多行缩进时不会影响预处理语句(如 #if…#endif)。
  • Auto Completion->Use detailed completion window,选上后,联想时可以出现该函数的详细信息 。
  • Auto Completion->Insert paremeters for functions,去掉后,自动联想不会把整个参数都输出到当前行。
  • Browsing in Lists->Match syllables while typing(slower)在 symbol list 框检索符号时是否采用音节匹配方式,如对于函数 FindNext,输入 find 或者 next 都可以找到该函数。该功能可能导致反应缓慢(视工程和机器配置而定),建议关闭,因为即使在关闭状态下也可以通过先输入空格再输入单词来动态启用该功能。
  • 注意 Browsing in Lists 里其实有两个功能,但一般我们只能看到 Match syllables while typing 这一条,应该是 si 的菜单设计没有做好,导致在中文 windows 下不能显示全,另一个功能是 Match members while typing,用于打开 / 关闭按成员变量名来检索类 / 结构体的功能。

Files

  • Opening Files->Sharing: Let other programs modify files,以共享方式打开文件,这个很重要,保证可以在其它编辑中同时编辑该文件。典型的场景就是用 ide 环境去动态编译调试,而用 si 静态阅读;
  • Customize 'Open' Command...,用于设置 Ctrl+O 打开的页面,默认选项是 Project File list view in Project Window,建议保持默认。
  • Saving Files->Preserve Undo data and revision marks after saving,如果发现保存后就不能 undo 了,请检查该选项是否选中。
  • Remove extra white space when saving。保存时自动去除每行尾部的空格和 tab。建议选中。

Languages

自定义其它编程语言的语法解析,这个… 还是另写一篇来讲吧。

Conditional Parsing不要错过了,这里的 Conditions 功能实在让人喜欢。Conditions 是什么意思呢?我们的代码中一般都会有一些开关宏,通过在 Conditions 中配置这些宏的默认值,可以让 si 把配置为不开启的宏视为无效代码,从而不进行符号检索。

如果源代码中的开关宏太多,还可以使用 Condition Parsing 中的 Scan Files 来自动找出所有开关宏。

Symbol Lookups

没有特别的。

Display

  • 显示配置和个人喜好和显示器的状态有关,偶用的 x60 小本,屏幕资源有限,所以在 Display Elements 里把 Project Window, Status Bar, Tool Bar,Clip Window 都关了,基本用快捷键可以代替它们。
  • Options->Horizontal scroll bars for each new window。很多大师都教导我们说一行不要写太多代码。在这个指导思想下,我们不需要这个东东。
  • Show exact case of file names。如果看不惯 si 把所有的文件名首字母都大写就勾上这个选项吧。
  • Tile source and destination windows for Source Link commands。Source Link 很多时候用于外部命令输出结果的解析(如 Make, lint),这个功能会把解析结果与目标窗口自动 tile,很实用。
  • Trim long path names with ellipses。这个建议不要选中。事实上这个主要影响标题栏,但一般来说标题栏上的空间是充裕的,选上之后往往会令我们不知道所编辑文件的具体位置。

Color

自己配置。

Syntax Decorations

  • 可以把一些符号转换成特殊形式显示,如 -> 转换成→。如果要使用该功能,不能开启Syntax Formatting->Basics->Use only color formatting。
  • Auto annotations下的三个功能都比较有用;
  • Show arrows at goto statements可以在 goto 时显示一个向上或向下的箭头,表示是向上 goto 还是向下 goto,不过我们还是尽量不要用 goto 了。
  • Annotate closing braces with end-statement。在”}” 后显示标识,表示该”}” 与哪个 if/switch 配对,而下面的Annotate closing braces only for long blocks则是一个补充选项,表示只在较长的语句块时才显示标识。

Syntax Formatting

如果让大家说出喜欢 si 的几个理由,我想语法着色一定会是其中之一。

  • Basics->Use only color formatting。只启用 style 中关于颜色的设置。其它如粗体、斜体、阴影等都不启用。
  • Apply Styles for Lanugage Elements。把分类启用 style,都选上吧。
  • Symbol Reference Lookups->Qualify references to members。检测成员的有效性,如果不是类 / 结构体中的一部分,则不启用 style。虽然可能导致性能降低,但还是建议打开。同样Qualify references to functions也是。
  • 这里有个按钮可以进入 Doc Types 页面(Options 菜单也可以进入),里面有很多重要选项:
    • Editing Options中, Expand tabs, Visible tabs可以帮助我们发现并转换 tab。
    • Show right margint和Margin width可以提醒我们是否把一行写得太长。
    • Symbol Window选项建议关闭(因为有快捷键)。
    • Auto Indent对话框中, 如果没有特别喜好,建议把Smart Indent Options的两个勾都去掉,同时Auto Indent Type选Smart。

其他的没有什么特别的了,最后简单说下 si 的配置文件。可以通过Options->Load Configuration/Save Configuration来导入 / 导出配置,可以导出全部,也可以导出某几个部分(如 style)。si 的配置有两级,一是全局配置,一是项目配置。出入方便考虑,统一一个配置就好了,在创建项目时选择用全局配置(默认值)。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。

(0)

相关推荐

  • ubuntu20.04 LTS系统默认源sources.list文件的修改

    如果不慎修改了source.list内容,导致一系列错误,建议恢复默认源文件. sudo gedit /etc/apt/sources.list 然后把下面默认源内容复制进去 ubuntu20.LTS系统默认源sources.list文件内容 #deb cdrom:[Ubuntu 20.04 LTS _Focal Fossa_ - Release amd64 (20200423)]/ focal main restricted # See http://help.ubuntu.com/commu

  • 基于Springboot2.3访问本地路径下静态资源的方法(解决报错:Not allowed to load local resource)

    最近在做的一个项目中有一个比较奇葩的需求: 要在springboot中,上传本地的图片进行展示 我的第一反应是,直接在数据库字段加一个存储本地路径的字段,然后用thymeleaf的th:src渲染到前端就好了嘛! 理想很丰满,但现实却很骨感~ 前端报了这样的错误Not allowed to load local resource 于是我想到了可以使用IO将图片先上传到static/images目录下,这样就不会出现禁止访问本地路径的问题了 但是这样实现,问题又来了:上传后的图片必须重启sprin

  • 修改ubuntu 18.04的sources.list源为阿里或清华镜像的方法

    1. 备份源列表 Ubuntu缺省的配置的源并不是国内的服务器,下载更新软件都比较慢,本文介绍如何设置源列表,选择比较快的源以节省下载时间. # 首先备份源列表 sudo cp /etc/apt/sources.list /etc/apt/sources.list_backup 2. 打开sources.list文件修改 选择合适的源,替换原文件的内容,保存编辑好的文件, 以阿里云更新服务器为例(从实际测试上结果分析,个人认为阿里云比网易和搜狐的服务器要快): sudo vim /etc/apt

  • 在.NET中使用DiagnosticSource的方法

    前言 DiagnosticSource是一个非常有意思的且非常有用的API,对于这些API它们允许不同的库发送命名事件,并且它们也允许应用程序订阅这些事件并处理它们,它使我们的消费者可以在运行时动态发现数据源并且订阅与其相关的数据源. DiagnosticSource在AspNetCore.EntityFrameworkCore.HttpClient.SqlClient中被使用,在我们实际的开发过程中他使我们能够进行拦截请求与响应的http请求.数据库查询.对HttpContext.DbConn

  • 怎么修改Ubuntu的源列表(source list)详解

    简介 Ubuntu缺省的配置的源并不是国内的服务器,下载更新软件都比较慢,本文介绍如何设置源列表,选择比较快的源以节省下载时间. 配置步骤 1. 备份源列表 sudo cp /etc/apt/sources.list /etc/apt/sources.list_backup 2. 选择合适的源,替换原文件的内容,保存编辑好的文件 以阿里云更新服务器为例(从实际测试上结果分析,个人认为阿里云比网易和搜狐的服务器要快): deb http://mirrors.aliyun.com/ubuntu/ X

  • 解决SpringBoot打成jar运行后无法读取resources里的文件问题

    开发一个word替换功能时,因替换其中的内容功能需要 word 模版,就把 word_replace_tpl.docx 模版文件放到 resources 下 在开发环境中通过下面方法能读取word_replace_tpl.docx文件,但是打成jar包在 linux下运行后无法找到文件了 File file = ResourceUtils.getFile(ResourceUtils.CLASSPATH_URL_PREFIX + "static/office_template/xxx.docx&q

  • Maven项目读取resources文件路径问题解决方案

    读取resources下文件的方法 网上有问答如下: 问: new FileInputStream("src/main/resources/all.properties") new FileInputStream("./src/main/resources/all.properties") 上面两个无法读取maven下资源文件目录下的文件嘛,总是提示找不到该路径,这么写错了嘛,但是我的其他maven可以读取 答: 要取编译后的路径,而不是你看到的src/main/r

  • IDEA下因Lombok插件产生的Library source does not match the bytecode报错问题及解决方法(亲测可用)

    写项目的时候 遇到了个这个问题:Library source does not match the bytecode XXX 然后自己找了找 大部分的解决方法都是没有解决方法 越看心越凉 部分解决方案是清空缓存 试了下并没有什么用 还有些解决方案是用Gradle管理的 而我是用Maven管理的 不太适用 最后然后自己摸索着解决了 由于该问题我已经解决了 无法复现 因而无法截图 就用文字来描述吧: 1.卸载IDEA中的Lombok插件 File-Settings-Plugins 搜索Lombok

  • java(包括springboot)读取resources下文件方式实现

    本文主要介绍了java(包括springboot)读取resources下文件方式实现,分享给大家,具体如下: 1.使用项目内路径读取,该路径只在开发工具中显示,类似:src/main/resources/resource.properties.只能在开发工具中使用,部署之后无法读取.(不通用) File file = new File("src/main/resources/resource.properties"); @Test public void testReadFile2(

  • Source Insight基础配置相关代码实例

    我们提交的代码,要求不能有多余的空格与 TAB 键,而且代码是在 linux 环境中编译和运行的,而我们经常使用 source insight 编辑代码,因此有必要针对性地配置以省去反复去掉空格和 TAB 键的麻烦. 我们的配置基本上都在 Preference 的菜单里,下面逐个介绍如何设置. 处理 TAB 和空格 去掉每行末尾的空格和 TAB 键:设置Options->Perferences->Files-> Remove extra white space when saving.

  • Docker的安装与配置命令代码实例

    docker 安装 安装依赖包 sudo yum install -y yum-utils device-mapper-persistent-data lvm2 设置阿里云镜像源 sudo yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo 安装 Docker-CE sudo yum install docker-ce 启动docker # 开机自启 sudo

  • Win Oracle 监听文件配置参考代码实例

    这篇文章主要介绍了Win Oracle 监听文件配置参考代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 Win lister.ora配置参考 # listener.ora Network Configuration File: C:\app\Administrator\product\11.2.0\dbhome_1\NETWORK\ADMIN\listener.ora # Generated by Oracle configuratio

  • spring boot 配置HTTPS代码实例

    这篇文章主要介绍了spring boot 配置HTTPS代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 spring boot 版本是<version>1.5.8.RELEASE</version> 1.配置文件里,看下不要有空格=[不要有空格] 2.别名 ================ server.port=8095 server.ssl.key-store=*.pfx server.ssl.key-store-pa

  • SpringBoot配置Apollo代码实例

    这篇文章主要介绍了SpringBoot配置Apollo代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 Windows环境安装下载,参考:https://github.com/ctripcorp/apollo 项目引用 <dependency> <groupId>com.ctrip.framework.apollo</groupId> <artifactId>apollo-client</art

  • java读取xml配置参数代码实例

    这篇文章主要介绍了java读取xml配置参数代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 paras.xml文件 <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.

  • Spring Boot2读取配置常用方法代码实例

    1. 前言 在Spring Boot项目中我们经常需要读取application.yml配置文件的自定义配置,今天就来罗列一下从yaml读取配置文件的一些常用手段和方法. 2. 使用@Value注解 首先,会想到使用@Value注解,该注解只能去解析yaml文件中的简单类型,并绑定到对象属性中去. felord: phone: 182******32 def: name: 码农小胖哥 blog: felord.cn we-chat: MSW_623 dev: name: 码农小胖哥 blog:

  • Source Insight 4.0.093 安装破解详细图文教程

    sourceinsight破解版下载及安装教程——是一款功能强大的程序编辑器和代码浏览器,只要你拥有相应的程序语言包就能够进行程序分析,比如说目前最好的开源语言java.软件提供个用户快速的对源码进行导航和任何程序编辑器的元信息,还提供了快速和革新的访问源代码和原信息的能力,让开发人员轻松进行编程. source insight 4也是如今最好的与演变及其之一,支持近乎所有的语言,比如C.C++之类常见的语言,以及一些不常见的比如GO语言.这款语言编辑器能够自动创建并维护自己高性能的符号数据库,

  • Logback日志基础及自定义配置代码实例

    Logback日志基础配置 logback日志配置有很多介绍,但是有几个非常基础的,容易忽略的.下面是最简单的一个配置,注意加粗的描述 <?xml version="1.0" encoding="UTF-8"?> <configuration debug="true" scan="true" scanPeriod="30 seconds"> <!--log.path定义的是局部

  • java 使用memcached以及spring 配置memcached完整实例代码

    Memcached是一个高性能的分布式内存对象缓存系统,本文介绍了java 使用memcached以及spring 配置memcached完整实例代码,分享给大家 本文涉及以下内容: 1,要使用的jar包 2,java 使用memcached 3,spring 配置memcached 导入jar java_memcached-release_2.6.6.jar commons-pool-1.5.6.jar slf4j-api-1.6.1.jar slf4j-simple-1.6.1.jar 示例

随机推荐