source insight 使用技巧

source?insight?使用技巧

?
1 sourceinsight screen font 的默認字體是Verdana的,它是一直變寬字體。在Document style中可以將字體改為定寬的Courier
2???document options->auto indent 去掉indent Open Brace和Indent Close Brace的效果: 繼上一段,在相對縮進行里, 如果輸入"{"或"}", 則自動和上一行列對齊

3 今天把一個用sourceinsight排版整齊的C文件,偶然用VC打開一看,全亂了。研究了半天,發現SI對每個字符的寬度不太一致。

????發現選上"view --> draft view", 就可以讓每個字符的寬度一致了。快捷鍵是 "Alt + F12"4選中幾行代碼按tab鍵或者shift+tab可以左右移動代碼,調整代碼時很有用。配置成簡單好用的c/java代碼編輯器
1、縮進與tab
(1)Options菜單àPreferencesàTyping卡,勾掉下面兩項∶

Typing tab indents line,regardless of selection,空行按tab無法前進

Typing tab replaces current selection,選定部分內容、再按tab時會清除所選

(2)Options菜單àDocument Options(針對不同文件類型,分別進行設置)à下拉左上文件類型框、選擇合適類型(c源文件)àEditing Options框中,tab width=2à Editing Options框中,勾選Expand tabs(這樣,按tab鍵、等價于輸入2個空格)

(3)Options菜單àDocument Optionsà選擇合適的文件類型à點擊右邊中間的Auto Indent鈕à在彈出的框中,左邊一定要點Smart,右邊有兩個復選框Indent Open Brace和Indent Close Brace,具體效果可以看SIS的HELP。按照部門里的編程風格要求,最方便的就是把兩個復選框都取消掉,然后點OK。

勾選Auto Indent之SMART的效果∶在C程序里, 如果遇到行末沒有分號的語句,如IF, WHILE, SWITCH等, 寫到該行末按回車,則新行自動相對上一行縮進兩列。

勾掉Indent Open Brace和Indent Close Brace的效果∶繼上一段,在相對縮進行里, 如果輸入"}", 則自動和上一行列對齊(好像勾不勾都會有這個功能);而輸入"{"時,不會與下面的行對齊(這是勾上Indent Open Brace時的效果)。

2、向項目中添加文件時,添加特定類型的文件(文件類型過濾器)
添加.pc文件和makefile文件,類型分別為C++,和Make File

Options -> Document Options... Alt-T????-> 點擊Document Type的下拉框,然后選擇Make File,在右邊的File Filter中,在原先的*.mak后面加上一個分號,即多個不同過濾規則以分號間隔開,再加上*makefile,變成 *.mak;*makefile,并且選中Include when adding to projects,這樣,以后再新建工程的時候,就可以識別makefile或Makefile了(好像此處Source Insight并不區分大小寫)。

3、去掉功能強大但是無用的自動完成功能
Options菜單àPreferences àTyping卡àAuto Completion框,勾掉Use automatic symbol completion window(這里是SIS的全局設置)

Options菜單àDocument OptionsàEditing Options框中,勾掉Allow auto-complete(局部設置)

上面兩項必須全部勾選,才能啟用Auto Completion功能

4、恢復小鍵盤的“+,-,*,/”功能
Options菜單àKey assignments,通過關鍵詞Scroll 找到Scroll Half Page Up,取消小鍵盤/;通過關鍵詞Scroll 找到Scroll Half Page Down取消小鍵盤*;通過關鍵詞Function找到Function Up,取消小鍵盤-,通過關鍵詞Function找到Function down,取消小鍵盤+。

5、恢復ctrl+a的全選功能
通過關鍵詞save 找到save all,更改為ctrl+shift+a,通過關鍵詞select找到select all,更改為ctrl +a

Source Insight設置

1、背景色選擇
????要改變背景色Options->preference->windows background->color設置背景色
2、解決字符等寬對齊問題。
????SIS默認字體是VERDANA,很漂亮。這網頁上應該也是用的VERDANA字體。但由于美觀的緣故,VERDANA字體是不等寬的。比如下面兩行
????llllllllll
????MMMMMMMMMM
????同樣10個字符,長度差多了.用VERDANA來看程序,有些本應該對齊的就歪了。解放方法是使用等寬的字體,但肯定比較丑。比較推薦的是用Courier New。
3、解決TAB鍵縮進問題
????Options-> Document Options里面的右下角Editing Options欄里,把Expand tabs勾起來,然后確定。OK,現在TAB鍵的縮進和四個空格的縮進在SIS里面看起來就對齊咯

4、SI中的自動對齊設置:
????在C程序里, 如果遇到行末沒有分號的語句,如IF, WHILE, SWITCH等, 寫到該行末按回車,則新行自動相對上一行縮進兩列。
????Option->Document option下的Auto Indient中Auto Indient Type有三種類型 None,Simple,Smart。個人推薦選用Simple類型。
5、向項目中添加文件時,只添加特定類型的文件(文件類型過濾器)
????編輯匯編代碼時,在SIS里建立PROJECT并ADD TREE的時候,根據默認設置并不會把該TREE里面所有匯編文件都包含進來
????只加了.inc和.asm后綴的,.s后綴的沒有。而且用SIS打開.s的文件,一片黑白沒有色彩,感覺回到DOS的EDIT時代了……
????解決方法是在Options->Document Options里面,點左上的Document Type下拉菜單,選擇x86 Asm Source File,
????然后在右邊的File filter里*.asm;*.inc;的后面加上*.s;接著CLOSE就可以了。
????上面問題解決了,但注意加入*.s后還需要重新ADD TREE一遍才能把這些匯編加到PROJECT里面。
6、添加文件類型
????用戶可以定義自己的類型,Options->Document Options->add type,定義文件類型名以及文件名后綴。
????勾選include when adding to projects在添加目錄下文件到工程是該類文件就會添加進SI的工程。
????如果需要將所有文件添加進SI的工程,可以定義一種文件類型*.*。??
7、恢復ctrl+a的全選功能
????通過關鍵詞save 找到save all,更改為ctrl+shift+a,通過關鍵詞select找到select all,更改為ctrl +a

Source Insight常用的快捷鍵:
????Ctrl+= :Jump to definition
????Alt+/ :Look up reference
????F3 : search backward
????F4 : search forward
????F5: go to Line
????F7 :Look up symbols
????F8 :Look up local symbols
????F9 :Ident left
????F10 :Ident right
????Alt+, :Jump backword
????Alt+. : Jump forward
????Shift+F3 : search the word under cusor backward
????Shift+F4 : search the word under cusor forward
????F12 : incremental search
????Shift+Ctrl+f: search in project
????shift+F8 : 標亮所有文本中光標所在位置的單詞
???
Source Insight的窗口操作:

???Ctrl+W 關閉當前文件窗口
???Ctrl+Tab 切換文件窗口
????project window Ctrl+O打開
????symbol window Alt+F8打開和關閉
????Contex Window 自定義鍵打開和關閉
????Relation Window 自定義鍵打開 先鎖定再刷新聯系
匯總其他小技巧:

讓{ 和 } 不縮進:

Options->Document Options->Auto Indent->Indent Open Brace/Indent Close Brace

hao space: SourceInsight 小技巧
1、按住"ctrl", 再用鼠標指向某個變量,點擊一下,就能進入這個變量的定義。

2、今天把一個用sourceinsight排版整齊的C文件,偶然用VC打開一看,全亂了。研究了半天,發現SI對每個字符的寬度不太一致。
????請教同事發現選上"view --> draft view", 就可以讓每個字符的寬度一致了。快捷鍵是 "Alt + F12"

3、"shift+F8" 標亮所有文本中光標所在位置的單詞

4、跳到某一行:"ctrl + g"
=========================source insight 快捷鍵大全=======================

剪切一個字????????????????????????????: Ctrl+,
剪切行???????????????????:Ctrl+U
復制一行????????????????????????????????: Ctrl+K
剪切該位置右邊的該行的字符??????????????: Ctrl+;
激活語法窗口?????????????????????????: Alt+L
激活工程文件窗口?????????????????????????: Alt+R(自定義的)

退出程序????????????????????????????????: Alt+F4
重畫屏幕????????????????????????????????: Ctrl+Alt+Space
完成語法????????????????????????????????: Ctrl+E

恰好復制該位置右邊的該行的字符??????????: Ctrl+Shift+K
復制到剪貼板?????????????????????????: Ctrl+Del
剪切一行????????????????????????????????: Ctrl+U

剪切到剪貼板?????????????????????????: Ctrl+Shift+X

左邊縮進????????????????????????????????: F9
右邊縮進????????????????????????????????: F10
插入一行????????????????????????????????: Ctrl+I
插入新行????????????????????????????????: Ctrl+Enter
加入一行????????????????????????????????: Ctrl+J
從剪切板粘貼?????????????????????????: Ctrl+Ins
粘貼一行????????????????????????????????: Ctrl+P
重復上一個動作??????????????????????: Ctrl+Y
重新編號????????????????????????????????: Ctrl+R
重復輸入????????????????????????????????: Ctrl+\
替換???????????????????????????????????????: Ctrl+H
智能重命名?????????????????????????????: Ctrl+'
關閉文件????????????????????????????????: Ctrl+W
關閉所有文件?????????????????????????: Ctrl+Shift+W
新建???????????????????????????????????????: Ctrl+N
轉到下一個文件??????????????????????: Ctrl+Shift+N
打開???????????????????????????????????????: Ctrl+O
重新裝載文件?????????????????????????: Ctrl+Shift+O
另存為????????????????????????????????????: Ctrl+Shift+S
顯示文件狀態?????????????????????????: Shift+F10

回到該行的開始??????????????????????: Home
回到選擇的開始??????????????????????: Ctrl+Alt+[
到塊的下面?????????????????????????????: Ctrl+Shift+]
到塊的上面?????????????????????????????: Ctrl+Shift+[
書簽????????????????????????????????????????: Ctrl+M
到文件底部?????????????????????????????: Ctrl+End, Ctrl+(KeyPad) End
到窗口底部?????????????????????????????: (KeyPad) End (小鍵盤的END)
到一行的尾部??????????????????????????: End
到選擇部分的尾部???????????????????: Ctrl+Alt+]
到下一個函數??????????????????????????: 小鍵盤 +
上一個函數??????????????????????????????:??????小鍵盤 -
后退?????????????????????????????????????????: Alt+,, Thumb 1 Click
后退到索引??????????????????????????????: Alt+M
向前????????????????????????????????????: Alt+., Thumb 2 Click
轉到行??????????????????????????????????: F5, Ctrl+G
轉到下一個修改??????????????????????????: Alt+(KeyPad) +
轉到下一個鏈接??????????????????????????: Shift+F9, Ctrl+Shift+L
回到前一個修改??????????????????????????: Alt+(KeyPad) -
跳到連接(就是語法串口列表的地方)????????: Ctrl+L
跳到匹配????????????????????????????????: Alt+]
下一頁??????????????????????????????????: PgDn, (KeyPad) PgDn
上一頁??????????????????????????????????: PgUp, (KeyPad) PgUp
向上滾動半屏????????????????????????????: Ctrl+PgDn, Ctrl+(KeyPad) PgDn, (KeyPad) *
向下滾動半屏???????????????????????????: Ctrl+PgUp, Ctrl+(KeyPad) PgUp, (KeyPad) /
左滾????????????????????????????????????: Alt+Left
向上滾動一行????????????????????????????: Alt+Down
向下滾動一行????????????????????????????: Alt+Up
右滾????????????????????????????????????: Alt+Right
選擇一塊????????????????????????????????: Ctrl+-
選擇當前位置的左邊一個字符??????????????: Shift+Left
選擇當前位置右邊一個字符????????????????: Shift+Right
選擇一行????????????????????????????????: Shift+F6
從當前行其開始向下選擇??????????????????: Shift+Down
從當前行其開始向上選擇??????????????????: Shift+Up
選擇上頁????????????????????????????????: Shift+PgDn, Shift+(KeyPad) PgDn
選擇下頁????????????????????????????????: Shift+PgUp, Shift+(KeyPad) PgUp
選擇句子(直到遇到一個 . 為止)???????????: Shift+F7, Ctrl+.
從當前位置選擇到文件結束????????????????: Ctrl+Shift+End
從當前位置選擇到行結束??????????????????: Shift+End
從當前位置選擇到行的開始????????????????: Shift+Home
從當前位置選擇到文件頂部????????????????: Ctrl+Shift+Home
選擇一個單詞????????????????????????????: Shift+F5
選擇左邊單詞????????????????????????????: Ctrl+Shift+Left
選擇右邊單詞????????????????????????????: Ctrl+Shift+Right
到文件頂部??????????????????????????????: Ctrl+Home, Ctrl+(KeyPad) Home
到窗口頂部??????????????????????????????: (KeyPad) Home
到單詞左邊(也就是到一個單詞的開始)??????: Ctrl+Left
到單詞右邊(到該單詞的結束)??????????????: Ctrl+Right
排列語法窗口(有三種排列方式分別按1,2,3次)???????????: Alt+F7
移除文件????????????????????????????????: Alt+Shift+R
同步文件????????????????????????????????: Alt+Shift+S
增量搜索(當用Ctrl + F 搜索,然后按F12就會轉到下一個匹配)?????????: F12
替換文件????????????????????????????????: Ctrl+Shift+H
向后搜索????????????????????????????????: F3
在多個文件中搜索????????????????????????: Ctrl+Shift+F
向前搜索????????????????????????????????: F4
搜索選擇的(比如選擇了一個單詞,shift+F4將搜索下一個)???????: Shift+F4
搜索????????????????????????????????????: Ctrl+F
瀏覽本地語法(彈出該文件語法列表窗口,如果你光標放到一個變量/函數等,那么列出本文件該變量/函數等的信息)???????: F8
瀏覽工程語法????????????????????????????: F7, Alt+G
跳到基本類型(即跳到原型)????????????????: Alt+0
跳到定義出(也就是聲明)??????????????????: Ctrl+=, Ctrl+L Click (select), Ctrl+Double L Click
檢查引用????????????????????????????????: Ctrl+/
語法信息(彈出該語法的信息)??????????????: Alt+/, Ctrl+R Click (select)
高亮當前單詞????????????????????????????: Shift+F8
語法窗口(隱藏/顯示語法窗口)?????????????: Alt+F8
關閉窗口????????????????????????????????: Alt+F6, Ctrl+F4
最后一個窗口????????????????????????????: Ctrl+Tab, Ctrl+Shift+Tab

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/383214.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/383214.shtml
英文地址,請注明出處:http://en.pswp.cn/news/383214.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

設計模式----2(簡單工廠模式的概念,簡單工廠模式的實現,簡單工廠模式的優缺點)

簡單工廠模式 簡單工廠模式的概念 簡單工廠模式屬于類的創建型模式,又叫做靜態工廠方法模式。通過專門定義一個類來負 責創建其他類的實例,被創建的實例通常都具有共同的父類。 具體分類 工廠(Creator)角色 簡單工廠模式的核心&#xff0…

Redis常見問題及其一些重點知識總結

1、什么是 Redis?簡述它的優缺點? Redis 的全稱是:Remote Dictionary.Server,本質上是一個 Key-Value 類型的內存數據庫,很像 memcached,整個數據庫統統加載在內存當中進行操作,定期通過異步操…

shell生成隨機文件名

1 #!/bin/bash 2 # tempfile-name.sh: 臨時文件名產生器 3 4 BASE_STRmcookie # 32-字符的 magic cookie. 5 POS11 # 字符串中隨便的一個位置. 6 LEN5 # 取得 $LEN 長度連續的字符串. 7 8 prefixtemp # 最終的一個臨時文…

設計模式---3(工廠方法模式的概念,工廠方法模式的實現,工廠方法模式和簡單工廠模式比較)

工廠方法模式 概念 工廠方法模式同樣屬于類的創建型模式又被稱為多態工廠模式 。 工廠方法模式的意義 定義一個創建產品對象的工廠接口,將實際創建工作推遲到子類當中。 核心工廠類不再負責產品的創建,這樣核心類成為一個抽象工廠角色,僅…

設計模式---4(抽象工廠模式的概念,產品組和產品等級的概念,抽象工廠模式的實現)

抽象工廠模式 抽象工廠模式的概念 抽象工廠模式是所有形態的工廠模式中最為抽象和最其一般性的。抽象工廠模式可以向 客戶端提供一個接口,使得客戶端在不必指定產品的具體類型的情況下,能夠創建多個產品 族的產品對象。 抽象工廠的角色及其職責 抽象工…

Win32項目關于MessageBox參數的詳細說明

函數功能:該函數創建、顯示、和操作一個消息框。消息框含有應用程序定義的消息和標題,加上預定義圖標與Push(下按)按鈕的任何組合。 函數原型:int MessageBox(HWND hWnd,LPCTSTR IpCaption,UINT…

w3af解析

1. w3af簡介 w3afis a Web Application Attack and Audit Framework.即Web應用攻擊和審計框架。w3af用python編寫&#xff0c;依賴的庫主要有2類&#xff0c;分別如下&#xff1a; <1> Core requirements: Python 2.6 fpconst-0.7.2&#xff1a;用于處理IEEE 754浮點…

1.c++中初始化列表和構造函數初始化的區別是什么?2.類的成員變量的初始化順序是按照聲明順序嗎?

初始化列表和構造函數初始化的區別是什么&#xff1f; 初始化和賦值對內置類型的成員沒有太大的區別&#xff0c;在成員初始化列表和構造函數體內進行&#xff0c;在性能和結果上都是一樣的。只有一些需要注意的事項 初始化列表一般情況如下&#xff1a; Date(int year, int …

設計模式---5(建造者模式的概念及其實現,建造者模式的角色與職責,建造者模式和工廠模式的區別)

建造者模式 建造者模式的概念 Builder 模式也叫建造者模式或者生成器模式&#xff0c;是由 GoF 提出的 23 種設計模式中的一種。 Builder 模式是一種對象創建型模式之一&#xff0c;用來隱藏復合對象的創建過程&#xff0c;它把復合對象的 創建過程加以抽象&#xff0c;通過子…

system阻塞SIGCHLD信號原因

system阻塞SIGCHLD信號原因 標簽&#xff1a; c 2014-11-08 11:58 198人閱讀 評論(0) 收藏 舉報 分類&#xff1a; linux編程&#xff08;1&#xff09; 代碼1&#xff1a;APUE10.18節的system函數源代碼 int system(const char *cmdstring) /* with appropriate signal ha…

設計模式6---(單例模式的概念及其實現(懶漢式和餓漢式),線程安全)

單例模式 單例模式的概念 單例模式是一種對象創建型模式&#xff0c;使用單例模式&#xff0c;可以保證為一個類只生成唯一的實例對象。也就是說&#xff0c;在整個程序空間中&#xff0c;該類只存在一個實例對象。 GoF 對單例模式的定義是&#xff1a;保證一個類、只有一個實…

C語言解析http請求表單內容

[1].[文件] cgi.h ~ 405B 下載(105) 跳至 [1] [2] [3] [4] [5] [6] [7] [8] ?123456789101112131415161718192021222324252627#ifndef CGI_H#define CGI_H#include <stdio.h>#include <string.h>#include <stdlib.h>typedef struct Node{char *…

centos給用戶添加sudo權限

linux給用戶添加sudo權限&#xff1a; 有時候&#xff0c;linux下面運行sudo命令&#xff0c;會提示類似&#xff1a; xxxis not in the sudoers file. This incident will be reported. 這里&#xff0c;xxx是用戶名稱&#xff0c;然后導致無法執行sudo命令&#xff0c;這時候…

php手冊

http://www.php100.com/manual/php/ http://www.kuqin.com/php5_doc/

套接字編程---2(TCP套接字編程的流程,TCP套接字編程中的接口函數,TCP套接字的實現,TCP套接字出現的問題,TCP套接字多進程版本,TCP套接字多線程版本)

TCP模型創建流程圖 TCP套接字編程中的接口 socket 函數 #include <sys/types.h> /* See NOTES */ #include <sys/socket.h> int socket(int domain, int type, int protocol); domain: AF_INET 這是大多數用來產生socket的協議&#xff0c;使用TCP或UDP來傳輸&…

安全關注

http://yttitan.blog.51cto.com/70821/1576365

Linux中netstat工具詳解

簡介 Netstat 命令用于顯示各種網絡相關信息&#xff0c;如網絡連接&#xff0c;路由表&#xff0c;接口狀態 (Interface Statistics)&#xff0c;masquerade 連接&#xff0c;多播成員 (Multicast Memberships) 等等。 常見參數 -a (all)顯示所有選項&#xff0c;默認不顯示…

網絡基礎 2-1(應用層,HTTP三點注意,HTTP協議格式, 最簡單的HTTP服務器)

應用層 應用層 負責應用程序之間的數據溝通-----協議都是用戶自己定的 自定制協議&#xff1a; 結構化數據傳輸 序列化&#xff1a; 將數據對象以指定的協議&#xff08;數據格式&#xff09;進行可用于持久化存儲或者數據傳輸時的數據組織 例如在分布式的系統中&#xf…

正則表達式 學習

http://regexr.com/ 在線匹配 http://c.biancheng.net/cpp/html/1434.html 查詢網址

網絡基礎2-2(傳輸層,端口,詳談UDP)

傳輸層 負責數據能夠從發送端傳輸接收端. 端口號 端口號(Port)標識了一個主機上進行通信的不同的應用程序;在TCP/IP協議中, 用 “源IP”, “源端口號”, “目的IP”, “目的端口號”, “協議號” 這樣一個五元組來標識一個通信(可以通過 netstat -n查看);一個端口只能被一個…