Source Insight 添加代码排版和编码转换

Source Insight 提供了宏实现和命令实现。

命令实现:

1、代码排版

需要借助indent工具。可以下载GnuWin32,可以安装大多数Linux命令。

indent排版很简单。

添加命令:indent.exe  -npro -nip -nlp -npsl -i4 -ts4 -sob -l80 -ss -bl -bli 0 %f

%f代表当前文件。

Souce Insight可以给命令添加菜单和快捷键。

2、编码转换

需要借助iconv工具。可以下载libiconv工具。

iconv.exe命令使用:

iconv.exe -f utf-8 -t gbk sourceFile > targetFile

由于iconv.exe不能将sourceFile > sourceFile,可以考虑添加临时文件进行转换。

添加命令:copy %f  d:\tmp;iconv.exe -f utf-8 -t gbk "d:\tmp" > %f;del d:\tmp;

由于命令的格式确定了当前文件的编码和目标文件的编码。不是很方便使用。

这时候可以使用宏来实现。

宏实现:

macro _GetSourceCode()
{
    str = Ask ("请输入源编码:")
    return str
}

macro _GetTargetCode()
{
    str = Ask ("请输入目标编码:")
    return str
}

macro CodeConvert()
{
        codeConvert = "iconv.exe";
        sCode = _GetSourceCode()
        tCode = _GetTargetCode()

        hbuf = GetCurrentBuf()
        sFile = GetBufName(hbuf)
        msg("Convert @[email protected]  to @[email protected]")

        exitcode = RunCmdLine ("cmd /c copy  \"@[email protected]\" \"@[email protected]_bak\";",".",true)
        exitcode = RunCmdLine ("cmd /c iconv.exe -f @[email protected] -t @[email protected] \"@[email protected]_bak\" > \"@[email protected]\";",".",true)
        exitcode = RunCmdLine ("cmd /c del \"@[email protected]_bak\";",".",true)

        RunCmd("Reload File");
        RunCmd("Reload Modified Files");
        RunCmd("Parse File Now");
}

这样可以动态的获取源编码和目标编码。

可以通过iconv.exe -l来查询所支持的编码。

可能出现的问题,iconv.exe转换编码失败,文件的内容会被错误的修改。最好能够确定源编码类型。

另外Windows的编码类型会有Bom和无Bom的区别。这个还要进行区分。

时间: 2024-10-11 07:37:47

Source Insight 添加代码排版和编码转换的相关文章

Source insight添加工具自动排版

当在网上找了一些别人的程序拿来学习,用Source insight来看时,会不会因为代码太乱看了义愤填膺呢? 有很多集成的开发环境可以自动排版,但source insight却不行!不过,有工具和配置,可以帮助完成这个事情: 1,下载astyle工具:http://download.csdn.net/detail/taixinlfx/43067302,打开你的SourceInsight, 选择菜单"Options-->Custom Commands-->Add", 输入Ar

Source Insight添加新的文件类型

1.前言 Source Insight这个软件工具功能非常强大,很适合用来分析一些大型的code工程,例如Linux内核源码,本文将简单介绍如何在Source Insight工程中添加一种新的文件类型. 2.添加步骤 在添加的过程中以Linux内核中设备树文件进行举例测试,设备树是一种描述硬件设备的文件,以下进行简单步骤分析: 首先在菜单栏上依次点击Options-->File Type Options按钮,如下: 在打开的页面中点击Add Type按钮,进行新的文件类型添加,如下: 然后输入新

给source insight添加.cc的C++文件后缀识别(转载)

转自:http://blog.chinaunix.net/uid-9950859-id-99172.html 今天在读mysql代码的时候,发现.cc结尾的文件都没有添加进来,google下了,发现原来这么操作一下就ok了 Options -> Document Options, Document Type 下拉选 C++ Source File, File Filter 中加入,*.cc

source insight 添加 python 支持

从http://www.sourceinsight.com/public/languages/下载Python的配置文件Python.CLF 选择Options > Preferences,单击Languages选项: 单击import按钮,装载并导入Python.CLF: 这时可以看到,左栏语言列表多了一项Python Language: 单击Document Types按钮,打开文档选项对话框: 添加Document Type为Python,File filter为“*.py”,Passer

source Insight 添加python 工程

1. 下载python的识别文件 Python.CLF 2.设置     原文地址:https://www.cnblogs.com/jlmgary/p/8946667.html

【转】Source Insight 有用设置配置

source insight代码对齐Tab键终极版 以前也写过一个source insight代码对齐,由于自己理解不够深刻,只能解决部分问题,不能根治在source insight中对齐的代码在XXX编辑器中全乱了的问题. 在改变字体为Courier New字体后,代码无法对齐的主要原因就是Tab与空格的问题.在很多大公司如华为已经禁止在代码中使用Tab来对齐了,这是个好习惯.有同学要说了,什么不准用tab来对齐,你想累死我呀.不用Tab来对齐,不代表不能使用Tab键,按下图设置你的sourc

Source Insight 有用设置配置

source insight代码对齐Tab键终极版 以前也写过一个source insight代码对齐,由于自己理解不够深刻,只能解决部分问题,不能根治在source insight中对齐的代码在XXX编辑器中全乱了的问题. 在改变字体为Courier New字体后,代码无法对齐的主要原因就是Tab与空格的问题.在很多大公司如华为已经禁止在代码中使用Tab来对齐了,这是个好习惯.有同学要说了,什么不准用tab来对齐,你想累死我呀.不用Tab来对齐,不代表不能使用Tab键,按下图设置你的sourc

Source Insight 插件

一提到外挂程序,大家肯定都不陌生,QQ就有很多个版本的去广告外挂,很多游戏也有用于扩展功能或者作弊的工具,其中很多也是以外挂的形式提供的.外挂和插件的区别在于插件通常依赖于程序的支持,如果程序不支持插件机制,那么就无法为其开发插件,而外挂则不然,它不依赖于程序本身的功能,通常是一个单独运行的程序,“挂”其它程序的方法就是跨进程代码注入.如果这个世界的所有软件都是开放源代码的,而且没有那么多的License限制,黑客们可以自由修改代码发布新功能,那么就不会出现外挂这东西.给别的程序做外挂是一件很麻

Source Insight: has been changed outside of Source Insight

has been changed outside of Source Insight 2018年04月26日 09:41:01 linux_c_coding_man 阅读数:247 摘自:https://blog.csdn.net/peng314899581/article/details/80089339 版权声明:本文为博主原创文章,如需转载请标明出处链接!否则追究法律责任! https://blog.csdn.net/peng314899581/article/details/800893