1. 程式人生 > >source insight配置(自動排版,多標籤顯示,註釋,刪除中文亂碼)

source insight配置(自動排版,多標籤顯示,註釋,刪除中文亂碼)

一.下載ASTYLE_2.0(自動排版)
1,http://pan.baidu.com/s/1nu5Apdv
2,開啟你的SourceInsight, 選擇選單“Options–>Custom Commands–>Add”, 輸入Artistic Style(可以隨便輸入一個名字)。
3,Run中輸入: “”D:\Source insight\ASTYLE_2.0\AStyle\bin\AStyle.exe” –style=ansi -s4 -S -N -L -m0 -M40 –convert-tabs –suffix=.pre %f(前面是ASTYLE的路徑(注意路徑不可以是中文的))
4,Dir留空,將Iconic Window, File,then Line 前打上勾。
5,然後點對話方塊中右側的按鈕“Menu”, Menu—>Menu–>View–>, 右側Insert, OK.
6,此時在SourceInsight中的View選單下多了個Style的子選單選項,可以用它來對單個C/C++檔案進行格式化。
二.下載TabSiPlus多標籤顯示

http://pan.baidu.com/s/1nu2Suwh
三.快捷註釋程式碼
新增一些配置檔案巨集,比如:註釋掉程式碼:單行註釋、多行註釋,將選中內容註釋掉;在一行程式碼的前、後添加註釋性文字等。
開啟Projcet->Open project,選擇base,可以看到utils.em檔案,將下列巨集新增到該檔案中,並在其他工程里加入該檔案,
在上面介紹的快捷鍵新增方式裡找到該巨集並自定義快捷鍵。
單行、多行註釋:

macro MultiLineComment()  
{  
    hwnd = GetCurrentWnd()  
    selection = GetWndSel(hwnd)  
    LnFirst = GetWndSelLnFirst(hwnd)      //取首行行號  
LnLast = GetWndSelLnLast(hwnd) //取末行行號 hbuf = GetCurrentBuf() if(GetBufLine(hbuf, 0) == ”//magic-number:tph85666031”){ stop } Ln = Lnfirst buf = GetBufLine(hbuf, Ln) len = strlen(buf) while(Ln <= Lnlast) { buf = GetBufLine(hbuf, Ln) //取Ln對應的行
if(buf == ”“){ //跳過空行 Ln = Ln + 1 continue } if(StrMid(buf, 0, 1) == ”/”) { //需要取消註釋,防止只有單字元的行 if(StrMid(buf, 1, 2) == ”/”){ PutBufLine(hbuf, Ln, StrMid(buf, 2, Strlen(buf))) } } if(StrMid(buf,0,1) != ”/”){ //需要添加註釋 PutBufLine(hbuf, Ln, Cat(“//”, buf)) } Ln = Ln + 1 } SetWndSel(hwnd, selection) }

四.刪除中文退格鍵
*① 複製入SourceInsight安裝目錄;
* ② Project→Open Project,開啟Base專案;
* ③ 將複製過去的SuperBackspace.em新增入Base專案;
* ④ 重啟SourceInsight;
* ⑤ Options→Key Assignments,將Marco: SuperBackspace繫結到BackSpace鍵;
* ⑥ Enjoy!!

macro SuperBackspace()
    {
    hwnd = GetCurrentWnd();
    hbuf = GetCurrentBuf();

    if (hbuf == 0)
        stop;   // empty buffer

    // get current cursor postion
    ipos = GetWndSelIchFirst(hwnd);

    // get current line number
    ln = GetBufLnCur(hbuf);

    if ((GetBufSelText(hbuf) != "") || (GetWndSelLnFirst(hwnd) != 
    GetWndSelLnLast(hwnd))) {
        // sth. was selected, del selection
        SetBufSelText(hbuf, " "); // stupid & buggy sourceinsight :(
        // del the " "
        SuperBackspace(1);
        stop;
    }

    // copy current line
    text = GetBufLine(hbuf, ln);

    // get string length
    len = strlen(text);

    // if the cursor is at the start of line, combine with prev line
    if (ipos == 0 || len == 0) {
        if (ln <= 0)
            stop;   // top of file
        ln = ln - 1;    // do not use "ln--" for compatibility with older 
versions
        prevline = GetBufLine(hbuf, ln);
        prevlen = strlen(prevline);
        // combine two lines
        text = cat(prevline, text);
        // del two lines
        DelBufLine(hbuf, ln);
        DelBufLine(hbuf, ln);
        // insert the combined one
        InsBufLine(hbuf, ln, text);
        // set the cursor position
        SetBufIns(hbuf, ln, prevlen);
        stop;
    }

    num = 1; // del one char
    if (ipos >= 1) {
        // process Chinese character
        i = ipos;
        count = 0;
        while (AsciiFromChar(text[i - 1]) >= 160) {
            i = i - 1;
            count = count + 1;
            if (i == 0)
                break;
        }
        if (count > 0) {
            // I think it might be a two-byte character
            num = 2;
            // This idiot does not support mod and bitwise operators
            if ((count / 2 * 2 != count) && (ipos < len))
                ipos = ipos + 1;    // adjust cursor position
        }
    }

    // keeping safe
    if (ipos - num < 0)
        num = ipos;

    // del char(s)
    text = cat(strmid(text, 0, ipos - num), strmid(text, ipos, len));
    DelBufLine(hbuf, ln);
    InsBufLine(hbuf, ln, text);
    SetBufIns(hbuf, ln, ipos - num);
    stop;
}
/*

相關推薦

source insight配置(自動排版標籤顯示註釋刪除中文亂碼)

一.下載ASTYLE_2.0(自動排版) 1,http://pan.baidu.com/s/1nu5Apdv 2,開啟你的SourceInsight, 選擇選單“Options–>Custom Commands–>Add”, 輸入Artistic

轉載自:Hadas-Wk MyEclipse中建立WEB工程運用標籤顯示圖片等但無法顯示問題

首先,客戶端瀏覽器訪問jsp頁面的時候,解析圖片路徑後是在伺服器的tomcat的工程下面去尋找,在MyEclipse中是在WebRoot線面去找,這是關鍵所在。情況一:把圖片picture.jpg(比如這個圖片名是picture.jpg)放在和JSP檔案同一目錄下(即預設的W

.Net Excel 匯出圖表Demo(柱狀圖標籤頁)

1 使用外掛名稱Epplus,多個Sheet頁資料應用,Demo為柱狀圖(Epplus支援多種圖表) 2 Epplus 的安裝和引用    新建一個工程檔案或控制檯應用程式 開啟 Vs2017 Tools 的Nuget&nbs

如何在wine下為Source Insight配置字型

今天在Ubuntu下使用Source Insight時,發現裡面的字型實在醜的不行。而看到windows下source insight的字型可以配置的很漂亮,於是想搗騰一下試試看。 1、首先在windows下開啟source insight,點開option-

source insight程式碼自動對齊

一直使用source insight工具閱讀與編寫程式碼,以前也推薦過source insight的切換標籤欄工具(switch Tabbar),今天看到一款GNU的astyle工具,她是一個免費的程式碼格式化工具,能夠整理符合c/c++規範 ,可以將astyle.e

source insight 配置檔案(超好)

下載地址:http://www.rayfile.com/zh-cn/files/fc8b2fdc-ce9b-11df-bc91-0015c55db73d/ 0. 此為C/C++的SourceInsight配置檔案,其他語言的為預設。(字型顏色在其他程式語言有效) 1.

source insight 配置檔案(超好) --轉載

http://zhuang0393.blog.163.com/blog/static/9285104201093111912636/ 0. 此為C/C++的SourceInsight配置檔案,其他語言的為預設。(字型顏色在其他程式語言有效) 1. 主要就是給那些習慣於

ajax實現文件上傳文件上傳追加參數

bytes meta -- ets throw eal proc cti esp 1.html部分實現代碼: <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <

python:進程進程隊列進程管道,Manager,進程鎖,進程池

子進程 __name__ art get 調用 sta manage parent call #!usr/bin/env python# -*- coding:utf-8 -*-__author__ = "Samson"import multiprocessingimpor

潭州課堂25班:Ph201805201 第十一課 繼承繼承和魔術方法屬性和方法 (課堂筆記)

筆記 父類 當前 TE -s __del__ color true ont 繼承: class p : cls_name = ‘p‘ def __init__(self): print(‘正在實例化‘) def __del__(se

Spring-batch學習總結(2)—Job,Flow創建及應用線程並發決策器監聽器參數

class getname current ces 表達式 .get been ant string 一.Job的創建及其應用1.Job flow的介紹:(1)狀態機:例完成step1,是否繼續完成step2,step3,我們就需要通過Job flow來控制(2)進行演示:

區塊鏈社交IM系統開發幣種錢包系統開發直播系統開發

溝通 及時通訊 同時 數字資產 三種 發展 信息 什麽 資產 區塊鏈社交IM系統開發是現在能夠應用於各個行業增加用戶粘度的一款系統app。開發區塊鏈社交IM系統不僅僅是用於用戶與用戶之間的社交溝通,這類型的app系統還可以做一個多幣種錢包系統來使用,還可以是一個直播系統。區

jQuery遍歷個相同的class點選顯示隱藏圖示顯示及隱藏其下的內容

<!DOCTYPE html> <html lang="en"> <head> <meta charset="utf-8"> <meta http-equiv="X-UA-Compatible" content="IE=

PHP獲取單選下拉列表選下拉列表單選框複選框內的值

PHP獲取單選下拉列表,多選下拉列表,單選框,複選框內的值,此例將當前頁作為提交資料的頁面。 <form action=" " method="post" accept-charset="utf-8"> <!--單選下拉 學歷--> <selec

虛擬記憶體與swap使用者與單使用者64位32位

一、虛擬記憶體和swap分割槽: 這兩個概念分別對應windows和linux: windows:虛擬記憶體 linux:swap 在windows中即使實體記憶體沒有用完也會去用到虛擬記憶體,而Linux不一樣 Linux只有在實體記憶體用完的時候才

38_javaWeb介面個排序欄位使用者隨機選一個

0.可排序欄位:id,age,income 1.查詢介面中,有一個orderBy引數 2.如果使用者選擇的age,那麼就把orderBy引數的值設定成age 3.java中,虛擬碼如下(因為第4步中,我們會用$符號取值,在這裡防止sql注入): if(or

在搭建Hadoop 分散式叢集的時候次格式化檔案系統啟動hdfs,yarn後jps 發現datanode為啟動

可以參考:https://www.cnblogs.com/dxwhut/p/5679501.html https://blog.csdn.net/baidu_15113429/article/details/53739734 https://www.cnblogs.com/lishpei/p

防止使用者連續擊鍵次呼叫ajax時即防抖的封裝

在文字框中常常有這樣的需求,鍵入值時,實時呼叫相應的介面,但是每次觸發keydown都觸發,會嚴重消耗網頁的效能 基於此,可以進行封裝,設定鍵入值得間隔在一秒之內只調用一次,程式碼如下 呼叫如下 $("input").on("keydown",debounce(fu

Leetcode 213. House Robber II -打家劫舍每家都有一定數量的錢家組成一個圓形首尾相鄰不能偷盜相鄰的兩家求可偷盜的最大金額

You are a professional robber planning to rob houses along a street. Each house has a certain amount of money stashed. All houses at this place are&

自定義TreeView列帶有標頭支援選繫結

<Window x:Class="TreeGrid.MainWindow"         xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"         xmlns:x="http://schemas.microsof