abap 添加alv上的工具栏的按钮_神器必会!“世界上最好的编辑器Source Insight”...
生活随笔
收集整理的這篇文章主要介紹了
abap 添加alv上的工具栏的按钮_神器必会!“世界上最好的编辑器Source Insight”...
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
前言“Source Insight(以下簡稱SI)是世界上最好的編輯器”,說這句話不知道會不會出門被打呢?-_- 中國古話說得好,“文無第一,武無第二”,所以不敢說SI是最好的,但是說是“最好的之一”絕對是妥妥的。它以豐富的語言支持、便捷的功能、快速的源碼導航、實時的上下文顯示、獨立的符號數據庫等眾多優點,在全世界范圍內廣受程序員們的歡迎。本文將結合筆者的實際操作和學習,基于SI3.5做一些使用記錄。另外,筆者對SI的使用,主要是用于閱讀源碼,本文介紹的功能也是基于閱讀方面的。本文的主要內容如下:一、SI簡介SI是一款面向項目開發的程序編輯器和代碼瀏覽器,它提供了一個視圖將分散在各個地方的代碼匯合在一起形成一個虛擬的整體,供開發者方便地閱讀和編輯,如下圖所示。Source Insight was designed to enhance your ability to understand and modify your program. Our company mission is to increase programming team productivity by clarifying source code, presenting information in a useful way, and allowing programmers to modify software in large, complex projects. ……Source Insight acts as an information server that surrounds your project’s source code. With it, you can have instant access to symbolic and textual information in your program.該段英文摘自SI官方幫助文檔,從這里可以看出SI的設計宗旨就是方便開發者查看和修改項目源碼。二、SI的優勢SI是如今最好用的語言編輯器之一,具有很多其他編輯器無法比擬的優點,比如下面幾點。1、支持語言種類多。SI幾乎支持所有的語言,如C、C++、C#、JAVA、ASM、PAS、ASP、HTML等,而其它編輯器往往只支持其中某類或某幾種語言,豐富性遠不及SI。2、擁有自己的數據庫。SI自動傳創建并維護他自己高性能的符號數據庫,包括包名、函數、method、全局變量、結構、類、注釋和功能源文件里定義的其它類型的符號等。我們可以通俗地理解為緩存,當需要再次查找某個符號時,就可以直接從數據庫中查找,而不用在整個源碼庫中搜索,極大提高了效率。3、顯示豐富的程序相關信息。? ? ??SI提供了豐富多彩的窗口,為被選中的代碼提供豐富的信息,如reference trees、class inheritance diagrams、call tress,symbol windows等。后面會專門介紹這些窗口的使用。4、實時顯示上下文信息。SI提供了Context Window,當鼠標選擇代碼中的某個符號時,該window會實時顯示選中符號的上下文信息。在下文中的Context Window會詳細講到。甚至在你編輯的時候,SI同時分析你的源碼,提供實時的信息并進行分析。?5、快速。提供了快速和革新的訪問源代碼和源信息的能力,能以最快的速度對源代碼導航和提供任何程序編輯器的源信息。參考資料:Source Insight 百度百科三、創建項目在SI窗口的頂部工具欄上依次點擊 Project > New Project,即可開始創建一個新的項目了。之所以要特別介紹項目的創建過程,除了這是一個極常用的操作外,還有就是創建過程中有一些注意事項需要留心,筆者在使用過程中就曾經走過不少彎路,在這里特別記錄一下。1、項目命名及設置項目存儲路徑2、項目設置如下圖,在紅框部分選擇需要打開的源碼所在的路徑,筆者最初使用的時候,就忽略了這里,導致在后面的步驟中,找不到源碼,一度以為是SI版本異常了,所以這里特別提醒一下。其它的選項這里就按照默認的選擇就可以了,筆者就是這么做的。當然,這個要根據用戶自己需要來選擇了,看個人喜好。3、添加/刪除項目文件在這個界面上,可以看到左側“Directory”這一欄的根節點,就是第二步“項目設置”中咱們選擇的源碼路徑所在的盤符,如果你要添加的源文件不在這個盤符,就沒法找到了。在該盤符下選擇想要添加的文件,如藍色部分“Android-8.0.0_r1”,這是Android 系統源碼根目錄,因為這里選擇的是文件夾,所以點擊右邊的“Add Tree”來添加整個目錄。如果選擇的是文件,多個文件就選擇“Add All”,單個文件就選擇“Add”添加時會給出對話框,表示正在添加。筆者添加的源碼目錄有4G以上,所以這時需要等待好幾分鐘的時間。添加完成以后,可以看到對話框提示,點擊“確定”即可,此時可以繼續添加項目文件。4、完成項目創建當不需要再添加文件了,點擊“Close”按鈕關閉該界面,即完成了項目的創建。此時顯示的界面如下,左下區域顯示的就是新建的項目,列表顯示了項目中文件。四、常用窗口SI的用戶接口主要包含如下幾種類型:(1)頂部主要菜單和工具欄;(2)用于編輯的源文件窗口;(3)可停放或浮動的工具窗口。由于SI是一個MDI(Multiple Document Interface,多文檔接口),這意味著每一個你打開的源文件都擁有它自己的子窗口。在這一節中,將主要介紹主要菜單和最常用到的9個應用窗口。下圖展示了主界面常用窗口概貌:1、主菜單(Main Menu)和其他所有編輯器一樣,主菜單欄包含了所有編輯器功能的入口。每一類功能又都分類到某個子菜單中,這一點自然不用多說,地球人都知道,就不一一展示每個子菜單和功能點界面了,一些常用和重要的操作,咱們后文詳細介紹。從上圖可以看到,分類其實是非常簡潔和明確的,看子菜單名稱大概就能知道其中包含了哪些功能,很方便查找。這里筆者著重推薦一下“Help”子菜單。無疑,官方的幫助文檔,是最權威,最全面的,如果英文不是太差,對某些功能不是太明白的話,完全可以從這個文檔中去查找,筆者看過其中不少說明,其實還是很容易看懂的。如下為官方幫助文檔概貌,內容還是比較全面的:2、工具欄(Toolbars)工具欄列出了不少比較常用的一些功能快捷按鍵,這個也是地球人都知道的吧。如下顯示了SI設置的所有快捷工具圖標。(1)顯示/隱藏工具欄點擊菜單欄View子菜單欄,點開Toolbars,就可以看到工具欄顯示選擇界面,可以在這里選擇顯示/隱藏哪些工具,如下圖所示。也可以右鍵點擊SI窗口頂部或工具欄空白處,也可以顯示下圖界面。(2)工具欄工具簡介把鼠標停留在工具欄的圖標上,會簡單說明該工具的作用。咱們下面簡單看看工具欄都包含了哪些功能,做到心中有數,這有助于以后快速定位到某些功能的入口而不用每次都到菜單欄中去找,少走一些彎路。1)標準工具欄(Standard Toolbar):包含了基本的文件操作2)編輯工具欄(Edit Toolbar):包含一些基本的編輯操作3)搜索工具欄(Search Toolbar):包含了一些搜索命令4)導航工具欄(Navigation Toolbar):包含了一些界面導航功能。a)Go To Previous Link / Go To Next Link:在搜索結果界面,用于跳轉到前一個/后一個結果的鏈接。b)Go Back/Go Forward:回到上個/下個操作界面;c)Go To Line:跳轉到某一行d)Bookmarks:添加書簽,或定位到書簽處。鼠標光標停留在編輯窗口的某一行,點擊該按鈕,會顯示如下界面。可以選擇在“Name”處輸入書簽名并點擊“Set”按鈕,新增一個書簽;也可以在“Marks”處顯示的書簽列表中選擇一個書簽,雙擊或者點擊“Go To”按鈕,就可以跳轉到該書簽對應的代碼處了。對于要經常查看某處代碼,這個工具算是相當給力了。5)符號工具欄(Symbol Toolbar):用于訪問一些符號信息(這里說的符號,前面第二大點第2小點講過其含義了,不明白的可以返回去看看)。a)Jump To Definition:跳轉到選中的某個符號定義的地方。其實當在編輯器中用鼠標選擇某個符號,如果打開了“Contex Window”的話,可以在“Context Window”中實時看到該符號的定義處,這個后面講到該窗口時再詳細講,這里不贅述。b)Symbol Info:彈出對話,顯示選擇的符號的相關信息,以及一些操作按鈕,如下圖所示。可以看到上面“Jump To Definition”是這里的一個小功能。c)Browser Project Symbols:可以查看整個項目中的符號列表。d)Look up References:顯示該符號被引用的地方。會彈出一個對話框,根據選擇的搜索條件進行搜索,顯示一個搜索結果窗口列出這些引用信息(由于該該窗口尺寸原因,這里不好顯示,就不貼圖了)。其實在“Relation Window”中,也會實時顯示這些應用列表的,這個后面在講該窗口時會詳細講,這里就不贅述了。6)窗口工具欄( Window Toolbar):用于控制窗口的排列7)幫助工具欄(Help Toolbar):訪問幫助文檔。點擊“Help Mode”后會出現一個“?”,將其拖到你想尋求幫助的地方,就會顯示該處相關的幫助文檔。8)視圖工具欄(View Toolbar):開啟/隱藏常用的幾個窗口,后面會專門對這幾個窗口做介紹。9)構建工具欄(Build Toolbar):運行和編譯項目。10)版本控制工具欄(Source Control Toolbar):包含了操作版本控制的相關工具。3、源文件窗口(Source File Windows)源文件窗口,可以稱作是SI的主角了,因為源碼都顯示在這個窗口,可編輯,可同時打開多個窗口,在左上角紅框處顯示了源文件文件名和路徑。在源文件窗口選中某個符號并點擊右鍵,會顯示一個功能菜單,可以對源文件進行操作,如下圖所示:這些功能有些是基本操作,有些是“見名思義”,一看就知道功能,有些在前面介紹工具欄的時候介紹過,這里就不再一一說明了,僅選擇性簡單介紹幾個:
版權歸原作者所有,如有侵權,請聯系刪除。▍推薦閱讀
- Highlight Word 將文件中所有所選單詞高亮顯示,再次點擊會取消高亮。比如截圖中選擇“reason”并高亮,文件中的所有“reason”這個單詞都高亮了。另外,這個功能對注釋區無效。
- Special Window Color/Remove Special Window Color 設置和取消編輯窗口的背景顏色。
- Keyword List 顯示當前文件所有的的關鍵字列表。
- Style Properties
- Document Options 設置編輯區文字顏色、大小、間隔等屬性。
- Language Properties
- Edit Condition
- Project File List:項目文件列表。默認選擇為該項,在“內容顯示區”顯示當前項目中的所有文件列表,并降序排列,如概貌圖中所示。Tips:這里可以在搜索欄中靈活使用通配符,比如輸入“*.java”再按“Enter”按鍵,可以篩選出所有的java文件;如果再輸入“*”并“Enter”,則取消前面通配符效果,也可以理解是“*”表示顯示所有。
- Project File Browser:項目文件瀏覽器,以目錄樹的形式顯示。
- Project Document Types:按照文件的文檔類型來分類顯示。
- Project Symbol List:顯示項目中符號列表。
- Project Symbol Classes:按照符號的類型進行分類顯示。
- Jump To Definition:將光標移動到所選項被定義的地方,可能是某個方法,或者某個類等。
- Symbol Info:彈出一個popup window,顯示Relation Window中被選項的定義。
- Lookup Reference:搜索指定或者選中字段的應用情況,后面講搜索的時候會詳細講到。
- Lock Relation Window:選中后表示鎖住當前窗口,不會實時改變內容。
- Refresh Relation Window:刷新窗口。
- View Relation Outline:以大綱的形式顯示內容,如圖4.6.2所示。
- View Relation Horizonal Graph:水平顯示內容,如圖4.6.3所示。
- View Relation Vertical Graph:垂直顯示內容,如圖4.6.1所示。
- Relation Window Properties:窗口屬性設置,里面功能點比較多,這里單獨劃出一個小節詳細說明。
- Contains:顯示當前symbol的內容。
- Calls:被當前symbol調用的其他symbol。比如選中了函數,則會顯示被該函數調用的其他函數。
- References:顯示有哪些symbol調用了當前symbol,作用范圍僅在當前文件。比如,選中了某個函數,則會顯示當前文件中調用了該函數的函數。在比較大的項目中,這項關系的匹配是比較耗時的。
- New Clip:創建一個新的clip。
- Delete Clip:刪除選中的clip。
- Edit Clip:編輯選中的clip的內容。
- Cut To Clip:在“Source File Window”選中某字符串,點擊該按鈕,所選擇部分將被剪切并彈出對話框創建一個新的clip,被剪內容將作為新clip的內容,clip名稱需要自定義。
- Copy To Clip:與“Cut To Clip”類似,不同的是,該功能是復制選中的部分。
- Paste From Clip:選中某條clip,如果光標在“Source File Window”內,點擊該功能按鈕,會把clip內容粘貼在光標處。雙擊選中的clip也有同樣的效果。
- Clip Window Properties:設置該窗口的一些屬性
- Find:需要搜索的字符串,點擊右邊倒三角可以查看并選擇歷史搜索記錄。
- Case Sensitive:大小寫敏感。
- Use Regular Expressions:使用正則表達式。
- Wrap Arround:(還沒清楚其作用)
- Select When Found:找到該字符串時,該字符串被選中。
- Whole Words Only:只包含整個要搜索的字符串。如果不選中,則包含欲搜索字符串的字符串都會被搜索到。
- Forward/Backward 以當前文件中鼠標光標所在處為參照點,向前/向后搜索。與圖4.8.1或圖4.8.2中“Search Forward”/“Search Backward”功能一致。
- Selection 在當前文件可見范圍內搜索。
- Whole File (截圖紅框①處):在當前整個文件內搜索。
- Search(截圖紅框②處):如果能搜索到,鼠標只會定位到滿足條件的某一個搜索結果處。
- Whole File(截圖紅框③處):點擊該按鈕,會在當前整個文件中進行搜索,如果有多個搜索結果,會顯示一個搜索結果列表,如下圖4.8.4所示。
- Files(截圖紅框④處):點擊該按鈕,會跳轉到“Search Files”功能界面,下面會詳細介紹。
- Project Wide:在整個項目范圍內的所有文件中進行搜索。
- Include Subdirectories:在圖4.8.5紅框①處如果選中的是目錄,該選項用于選擇是否要在該目錄的子目錄中進行遞歸搜索。
- Find Non-Matching:
- Skip Inactive Code:跳過無效代碼查找。
- Skip Comments:跳過注釋查找。
- Search Only Comments:僅在注釋中查找。
- Simple String:最普通的形式,把搜索項作為字符串,可以查找文件中出現的任意字符或者字符串,當工程比較大的時候查找比價慢。
- Regular Expression:正則表達式方式搜索。可以參考:【Source Insight搜索正則表達式使用技巧】
- Keyword Expression/Lookup Reference:這兩種方式查找的結果基本相同,只是顯示方式略有差異。有些文章中說,這兩種方式都是使用SI預先建立的數據庫,查找起來速度相當快,但通常這種速度只在查找標識符時有明顯效果,且強烈建議像函數名、變量名等的查找,用這兩種方式進行查找。這里筆者聲明一下,筆者暫時還沒體驗到這里說的快速,在浩瀚的源碼中搜索某個函數或變量時,都很費事,所以這里不敢打包票。
- Complete Symbol:自動補全符號功能。即當用戶在Source File Window區域輸入字符串時,點擊該按鈕可以顯示以該字符串開頭的符號列表,供用戶選擇自動補全。如下圖所示:
- Lock Context Window:上下文窗口鎖。選中該按鈕后,上下文窗口內容就會被鎖住,不會實時變化;再次點擊,則取消鎖功能。
- Context Window Properties:上下文窗口屬性。設置上下文窗口的字體類型/大小/顏色,背景色,跟蹤屬性,顯示內容等特性。
版權歸原作者所有,如有侵權,請聯系刪除。▍推薦閱讀
成功為華為“續命:中國芯片之父張汝京
一個工程師的“噩夢”:剛分清CPU和GPU,卻發現還有……這位“華為天才少年”,竟然要我用“充電寶”打《只狼》
總結
以上是生活随笔為你收集整理的abap 添加alv上的工具栏的按钮_神器必会!“世界上最好的编辑器Source Insight”...的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: c程序预处理器的设计与实现_C预处理器-
- 下一篇: ajax实现两个aspx跳转,请问aja