【转】让Souce Insight支持多种语言的语法高亮:Python,Ruby,ARM汇编,windows脚本文件(bat/batch),PPC,SQL,TCL,Delphi等
原文网址:http://www.crifan.com/source_insight_support_highlight_for_python_ruby_arm_batch_ppc_sql_tcl_delphi/
用Souce Insight建立了一个项目,添加了一堆python的*.py文件后,发现当前不支持Python的语法高亮:

所以想要使得SI支持Python文件的语法高亮。
【解决过程】
1.之前就折腾过,给si添加对于汇编文件语法高亮的支持,知道了就是去找到对应的配置文件,添加进来,然后再添加对应的后缀支持即可。
然后找了下,也找到了python的对应的配置文件。然后就是折腾,如何添加支持了。
2.打开SI的Option->Preferences:

然后切换到Language界面:

可以看到,当前已经支持了很多种语言的语法高亮了:

但是很明显,其中没有Python语言的支持。
所以,先去SI的官网中语言支持包的页面:
http://www.sourceinsight.com/public/languages/
中找到对应的Python语言的语法高亮的配置文件:
下载下来后,就可以点击Import,然后选择找到刚下载的Python.CLF文件:

点击“打开”,就可以导入了,然后就可以看到导入后的“Python Language”:

再点击“Doc Types”:

出现了Document Options对话框:

然后再点击Add Type,然后在跳出的“Add New Document Type”的“Document Type Name”中输入你所想要设置的名字,此处是Python的文件,所以我此处写了个“Python File”,你可以根据自己需要写相应的名字:

然后再去添加对应的File Filter:

此处想要过滤后缀名为py的文件,所以写成:
*.py
此处如果还想要支持更多类型的后缀的话,则可以通过分号分隔开,添加多种后缀的支持,
比如还想要支持后缀为python的,则写成:
*.py;*.python
另外,记得还要选上:
Include when adding to projects
这样,当新建项目的时候,自动就可以此处新加的python类型文件了。
然后再将此新建的后缀为*.py的python文件类型,和对应的解析器关联起来:
在Parsing部分的Language,选择为刚才刚导入的Python:

所有的配置完毕后,应该是这样的:

然后就可以点击Close去关闭,即完成此配置了。
这样,SourceInsight遇到*.py的Python文件时,就会使用此配置去解析,然后就可以正常的让Python文件实现语法高亮了:

对于添加别的类型的代码的语法高亮的支持,则也是这样的方法,
先找到对应的xxx.CLF文件,然后导入,之后再去添加对应的Document Type,加上对应的Filter,
再将两者关联起来,即可。
对应的目前其他的类型的文件,官方已经支持了很多了:
| 不同的语言 | 对应的Source Insight的语法高亮(CLF)配置文件 |
| asm | 390 Asm.CLF |
| 68K | 68000.CLF |
| ARM汇编 | ARM.CLF |
| windows批处理文件/Bat文件/Batch文件 | CMD Batch.CLF |
| Delphi | Delphi.CLF,delphi.key |
| Lua | Lua.CLF |
| 微软汇编文件 | MASM.CLF |
| PHP | PHP Script.CLF |
| PIC | PIC.CLF |
| PowerPC | PPC.CLF |
| Python文件 | Python.CLF |
| Ruby | Ruby.CLF |
| SQL | SQL.CLF |
| TCL | TCL.CLF |
| verilog | verilog.CLF |
【转】让Souce Insight支持多种语言的语法高亮:Python,Ruby,ARM汇编,windows脚本文件(bat/batch),PPC,SQL,TCL,Delphi等的更多相关文章
- Linux系统里让vim支持markdown格式的语法高亮
Markdown是深受程序员喜爱的一个文件格式. 然而Linux里默认的vim设置,并不支持markdown格式的语法高亮显示. 下面就来介绍如何设置使得markdown格式的文件在vim里也能享有语 ...
- C# 支持多种语言
通过Resource文件建立本地化. net 资源文件名(这里是Resource1.resx)由根名称(即Resource1),本地语言名称(默认情况下还没有)及扩展名组成,在读取资源时,资源管理器会 ...
- 宣布正式发布 Windows Azure Notification Hub,新增 SQL Server AlwaysOn 可用性组侦听器支持
今天,我们非常高兴地宣布,针对使用 Windows Azure 的移动和企业开发人员推出一些新功能.这些新功能可以减少构建移动应用程序的开发时间和成本,并能帮助企业开发人员实现高可用性和全球业务连续性 ...
- Netflix 开源 Polynote:对标 Jupyter,一个笔记本运行多种语言
谈到数据科学领域的开发工具,Jupyter 无疑是非常知名的一种.它具有灵活高效的特点,非常适合进行开发.调试.分享和教学.近日,Netflix(奈飞)居然也玩起了跨界,他们开源了一个名为 Polyn ...
- django支持多语言
Django支持多语言切换 下面介绍下如何使网站或APP国际化,让其支持多种语言 . 官网 效果 1.创建locale文件夹 先在项目根目录下创建一个名为locale的文件夹,这个文件夹是用来存放dj ...
- 让你的.NET程序支持多语言
辛辛苦苦做出来的软件,我们当然希望能让更多的人用,支持多语言是必须的.下面我将以Asp.net Web Form为例来介绍如何支持多语言.其他程序比如windows程序,过程都是大同小异的. 大概分以 ...
- 【Android Developers Training】 11. 支持不同语言
注:本文翻译自Google官方的Android Developers Training文档,译者技术一般,由于喜爱安卓而产生了翻译的念头,纯属个人兴趣爱好. 原文链接:http://developer ...
- Python与C语言基础对比(Python快速入门)
代码较长,建议使用电脑阅读本文. 10分钟入门Python 本文中使用的是Python3 如果你曾经学过C语言,阅读此文,相信你能迅速发现这两种语言的异同,达到快速入门的目的.下面将开始介绍它们的异同 ...
- Cassandra在CQL语言层面支持多种数据类型
Cassandra在CQL语言层面支持多种数据类型. CQL类型 对应Java类型 描述 ascii String ascii字符串 bigint long 64位整数 blob ByteBuffer ...
随机推荐
- Android核心分析之十六Android电话系统-概述篇
Android电话系统之概述篇 首先抛开Android的一切概念来研究一下电话系统的最基本的描述.我们的手机首先用来打电话的,随后是需要一个电话本,随后是PIM,随后是网络应用,随后是云计算,随后是想 ...
- Java:网络编程之UDP的使用
java.net 类 DatagramSocket 此类表示用来发送和接收数据报包的套接字,数据报套接字是包投递服务的发送或接收点. java.net 类 DatagramPacket 此类表示数 ...
- SSIS -->> Variable
变量的特点: 1)大小写敏感 2)可见范围限制,里层可以看到外层,外层看不到里层的: 在属性窗口开启EvaluateAsExpression选项可以支持expression动态赋值变量
- WPF如何用TreeView制作好友列表、播放列表
WPF如何用TreeView制作好友列表.播放列表 前言 TreeView这个控件对于我来说是用得比较多的,以前做的小聊天软件(好友列表).音乐播放器(播放列表).类库展示器(树形类结构)等都用的是T ...
- SPOJ 227 Ordering the Soldiers 线段树 / 树状数组
题意:设原数组为a[i],pos[i]代表第 i 个位置之前有多少个数比a[i]大,求原数组a[i]. 这个题意是看了别人的题解才明白,我自己没读出来…… 方法:假设我们从左往右放,因为后面的数还有可 ...
- 【Tech】Ganglia安装配置
基础配置: Hadoop 2.2.0,Hbase 0.96. 四台集群机器,一台master,三台slave. 三台slave上分别装gmond:namenode机器上设置datasource. 客户 ...
- oracle层次查询的陷阱
今天开发组同事找到我,说一个简单的层次查询非常慢,业务就是有一个存设备表连接关系的表,从node1连入,从node2连出,现在要找出node2的连出顺序,sql类似于: SELECT LEVEL ID ...
- js 去空格函数与正则
如果项目没有用到jQuery等框架的话,js本身又没有这样的函数,我们不得不自己写这样的函数,下面是函数的具体实现: //供使用者调用 function trim(s){ return trimRig ...
- Java实体书写规范
** * 用户角色表 */ public class BaseUserRole implements Serializable { private static final long serialVe ...
- psycopg2.pool – Connections pooling / psycopg2.pool – 连接池 / postgresql 连接池
创建新的PostgreSQL连接可以是一个昂贵的操作.这个模块提供了一些纯Python类直接在客户端应用程序实现简单的连接池. class psycopg2.pool.AbstractCon ...