開發(fā)環(huán)境中的折疊視圖的制作方法
【專利摘要】本發(fā)明所描述的主題的各方面涉及開發(fā)環(huán)境的折疊視圖。在各方面,軟件開發(fā)環(huán)境可以顯示包括對其他代碼段或其他數(shù)據(jù)的引用的代碼段。開發(fā)人員可以選擇引用并指示要為與該引用相對應的數(shù)據(jù)示出折疊視圖。作為響應,軟件開發(fā)環(huán)境可以獲得與該折疊視圖相對應的數(shù)據(jù)并與該代碼段內(nèi)聯(lián)地顯示該數(shù)據(jù)。
【專利說明】開發(fā)環(huán)境中的折疊視圖
[0001]背景
[0002]在開發(fā)軟件時,軟件開發(fā)人員通常在包括該軟件的代碼的各文件之間導航。例如,開發(fā)人員可能打開一個文件、查看代碼、發(fā)現(xiàn)該代碼調(diào)用另一文件中的代碼、打開該另一文件、導航到該代碼、查看該代碼、發(fā)現(xiàn)它調(diào)用又一文件中的代碼,以此類推。以此方式導航是麻煩且耗時的。
[0003]在此要求保護的主題不限于解決任何缺點或僅在諸如上述環(huán)境中操作的各個實施例。相反,提供該背景僅用以示出在其中可實踐在此描述的部分實施例的一個示例性【技術(shù)領(lǐng)域】。
[0004]概述
[0005]簡言之,本發(fā)明所描述的主題的各方面涉及開發(fā)環(huán)境的折疊視圖。在各方面,軟件開發(fā)環(huán)境可以顯示包括對其他代碼段或其他數(shù)據(jù)的引用的代碼段。開發(fā)人員可以選擇引用并指示要為與該引用相對應的數(shù)據(jù)示出折疊視圖。作為響應,軟件開發(fā)環(huán)境可以獲得與該折疊視圖相對應的數(shù)據(jù)并與該代碼段內(nèi)聯(lián)地顯示該數(shù)據(jù)。
[0006]提供本概述是為了簡要地標識在以下詳細描述中進一步描述的主題的一些方面。本概述并不旨在標識出所要求保護的主題的關(guān)鍵特征或必要特征,也不旨在用于限制所要求保護的主題的范圍。
[0007]除非上下文清楚地指出,否則短語“本發(fā)明所描述的主題”指的是【具體實施方式】中描述的主題。術(shù)語“方面”應被當作“至少一個方面”。標識【具體實施方式】中所描述的主題的各方面不旨在標識所要求保護的主題的關(guān)鍵特征或必要特征。
[0008]上述各方面和本發(fā)明所描述的主題的其它方面是作為示例說明的,并且不受附圖限制,附圖中相似的參考標號指示相似的元素。
【專利附圖】
【附圖說明】
[0009]圖1是表示本文所描述主題的各方面可以在其中操作的示例性系統(tǒng)的框圖;
[0010]圖2-7是根據(jù)本文所描述的主題的各方面的在示例性圖形界面中示出的示例性數(shù)據(jù)的框圖;
[0011]圖4-7是根據(jù)本文所描述的主題的各方面的附加示例性用戶界面窗口的框圖;以及
[0012]圖8-9是根據(jù)本文所描述的主題的各方面的概括地表示可發(fā)生的示例性動作的流程圖。
【具體實施方式】
[0013]定義
[0014]如本文所使用的,術(shù)語“包括”及其變體被當作開放式術(shù)語,表示“包括但不限于”。除非上下文另外清楚地指示出,否則術(shù)語“或”被當作“和/或”。術(shù)語“基于”被當作“至少部分地基于”。術(shù)語“一個實施例”和“一實施例”被當作“至少一個實施例”。術(shù)語“另一實施例”被當作“至少一個其他實施例”。
[0015]如本文所使用的,諸如“一”和“該”等術(shù)語包括了所指示的項或動作中的一個或多個。具體而言,在權(quán)利要求書中,對某一項的引用一般表示存在至少一個這樣的項,并且對一動作的引用表示執(zhí)行該動作的至少一個示例。
[0016]本文中有時可使用術(shù)語“第一”、“第二”、“第三”等等。沒有其他上下文,權(quán)利要求中對這些術(shù)語的使用不意在暗示排序,而是用于標識的目的。例如,短語“第一版本”和“第二版本”不一定意味著第一版本是真正的第一個版本或是在第二版本之前創(chuàng)建的,或甚至是第一版本是在第二版本之前被請求或操作的。相反,這些短語用于標識不同的版本。
[0017]本文所使用的術(shù)語“函數(shù)”可被認為是執(zhí)行一個或多個任務的代碼部分。雖然函數(shù)可包括返回數(shù)據(jù)的代碼塊,但它不限于返回數(shù)據(jù)的代碼塊。函數(shù)還可執(zhí)行特定任務而不返回任何數(shù)據(jù)。此外,函數(shù)可以或可以不具有輸入?yún)?shù)。函數(shù)可包括子例程、子程序、過程、方法、例程等。因而,在使用術(shù)語函數(shù)時,在替換實施例中,詞語函數(shù)將被以上術(shù)語中的每一個所替換。
[0018]如本發(fā)明所使用的計算機存儲介質(zhì)包括以用于存儲諸如計算機可讀指令、數(shù)據(jù)結(jié)構(gòu)、程序模塊或其它數(shù)據(jù)等信息的任何方法或技術(shù)來實現(xiàn)的易失性和非易失性、可移動和不可移動介質(zhì)。計算機存儲介質(zhì)包括:RAM、R0M、EEPR0M、固態(tài)存儲、閃存或其它存儲器技術(shù)、CD-ROM、數(shù)字多功能盤(DVD)或其它光盤存儲、磁盒、磁帶、磁盤存儲或其它磁存儲設備、或可以用來儲存所期望的信息并可由計算機訪問的任何其它介質(zhì)。計算機存儲介質(zhì)不包括通信介質(zhì)。
[0019]標題僅是為了方便;關(guān)于給定話題的信息可在其標題指示該話題的章節(jié)之外被尋找到。
[0020]其他顯式或隱式定義可包括在下文中。
[0021]示例件實施例
[0022]圖1是表示本文所描述主題的各方面可以在其中操作的示例性系統(tǒng)的框圖。圖1中示出的各組件是示例性的且不意味著包括一切的可能需要或包括的組件。在其他實施例中,結(jié)合圖1描述的組件和/或功能可被包括在其他組件(示出或未示出)中或者被放置在子組件中而不背離本文所描述的主題的各方面的精神或范圍。在一些實施例中,結(jié)合圖1描述的組件中的一個或多個可跨可彼此靠近(例如,局域網(wǎng)上)或分散開(例如,在因特網(wǎng)上的不同地方)的多個設備分布。
[0023]本發(fā)明所描述的主題的各方面可與通用或?qū)S糜嬎阆到y(tǒng)環(huán)境或配置實現(xiàn)??蛇m用于本發(fā)明所述的主題的各方面的計算機包括個人計算機、服務器計算機(無論是裸金屬還是作為虛擬機)、手持或膝上型設備、多處理器系統(tǒng)、基于微控制器的系統(tǒng)、機頂盒、可編程和不可編程消費電子設備、網(wǎng)絡PC、小型計算機、大型計算機、個人數(shù)字助理(PDA)、游戲設備、打印機、包括機頂盒、媒體中心或其它電器的家電設備、嵌入汽車或附連到汽車的計算設備、其他移動設備、包括蜂窩電話、無線電話和有線電話的電話設備、包括任何上述系統(tǒng)或設備的分布式計算環(huán)境等等。
[0024]本發(fā)明所述的組件中的一個或多個可在虛擬環(huán)境中操作。虛擬環(huán)境是由計算機來模仿或模擬的環(huán)境。虛擬環(huán)境可模仿或模擬物理機器、操作系統(tǒng)、一個或多個接口的組、以上各項的部分、或以上各項的組合等等。在機器被模仿或被模擬時,該機器有時被稱為虛擬機。對于在虛擬機上執(zhí)行的軟件來說,虛擬機是一種看上去是物理機器的機器。該軟件可將文件保存在諸如虛擬硬盤驅(qū)動器、虛擬軟盤等之類的虛擬存儲設備中,可從虛擬光學設備讀取文件,可經(jīng)由虛擬網(wǎng)絡適配器來進行通信等等。
[0025]雖然本文的討論中的一些引用了軟件開發(fā)系統(tǒng),但本文的教導也可適用于其他環(huán)境,如文字處理程序、瀏覽器、或其他環(huán)境。例如,在文字處理程序中,文檔的一部分可以引用在文檔的另一部分中或甚至在另一文檔中找到的文本、圖形、或其他數(shù)據(jù)。在這一示例中,折疊視圖可被提供以示出該文本、圖形或其他數(shù)據(jù)。作為另一示例,瀏覽器可顯示引用其他數(shù)據(jù)的超鏈接。在這一示例中,其他數(shù)據(jù)可被獲得并在折疊視圖中示出。
[0026]在一個示例中,圖1所示的組件中的一個或多個或可由這些組件訪問的組件可被托管在云中。云是經(jīng)常被用作因特網(wǎng)的暗喻的術(shù)語。這利用了這樣的理念,即計算、軟件、數(shù)據(jù)存取、存儲、以及其它資源可由連接到因特網(wǎng)的實體來提供而無需用戶知曉與遞送那些資源的計算體系結(jié)構(gòu)有關(guān)的位置或其它細節(jié)。
[0027]上述例子并不旨在是包括一切的或是窮舉的。事實上,基于本文的教導,本領(lǐng)域技術(shù)人員可認識到,可以應用本文的教導中的許多其他環(huán)境而不背離本文所描述的主題的各方面的精神或范圍。
[0028]轉(zhuǎn)向圖1,軟件開發(fā)系統(tǒng)105可包括開發(fā)組件110、顯示器115、通信機制120、和其它組件(未示出)。開發(fā)組件110可包括源代碼編輯器125、獲取管理器130、折疊視圖管理器135和其它組件(未示出)。如本發(fā)明所使用的那樣,術(shù)語“組件”要被當作包括以下的全部或一部分來理解:一個或多個設備、一個或多個軟件模塊或其部分的集合、一個或多個軟件模塊或其部分與一個或多個設備或其部分的某種組合等等。
[0029]軟件開發(fā)環(huán)境105可操作來接收用于軟件開發(fā)活動的輸入。軟件開發(fā)活動可包括開發(fā)人員可采取以創(chuàng)建、修改、測試、編譯、調(diào)試、測量、或以其他方式與軟件進行交互的任何活動。
[0030]通信機制120允許軟件開發(fā)系統(tǒng)105的各組件與軟件開發(fā)系統(tǒng)105外部的其他組件通信。例如,通信機制120可以允許與代碼服務器、隱錯跟蹤數(shù)據(jù)庫、文件服務器、另一實體等進行通信。通信機制120可以是網(wǎng)絡接口或適配器、調(diào)制解調(diào)器、或用于建立通信的任何其他機制。
[0031]顯示器115是可被用來以視覺方式顯示數(shù)據(jù)的輸出設備。顯示器可以實現(xiàn)或作為圖形界面的一部分,軟件開發(fā)人員通過該圖形界面可以查看代碼和與該代碼有關(guān)的信息。圖形界面可以顯示文本、圖標、像素、控件、其他圖形元素等。在另一實施例中,其他輸出設備可被使用,如下文更詳細地描述的自然用戶界面。
[0032]獲取管理器130可操作來獲得與折疊視圖相對應的代碼或其他數(shù)據(jù)。在一個實現(xiàn)中,在表示折疊視圖的圖形元素被顯示在顯示器115上時,獲取管理器130可以獲得代碼或其他數(shù)據(jù)。在另一實現(xiàn)中,獲取管理器130可以響應于接收到折疊視圖要被展開的指示(例如,鼠標點擊或其他輸入)來獲得代碼或其他數(shù)據(jù)。
[0033]源代碼編輯器125可操作來接收與代碼相關(guān)的編輯指令??山?jīng)由源代碼編輯器125來編輯的代碼和其他數(shù)據(jù)的一些示例包括圖2-7中所示的那些。
[0034]圖2-7是根據(jù)本文所描述的主題的各方面的在示例性圖形界面中示出的示例性數(shù)據(jù)的框圖。轉(zhuǎn)向圖2,在一個示例中,窗口 200可包括菜單205、窗格215、以及其他元素。
[0035]一般而言,元素(有時稱為控件)可包括零個或更多個其他元素。例如,元素可包括零個或更多個其他元素,該其他元素可包括零個或更多個其他元素,以此類推。此外,將明白,窗口 200可具有可按各種方式來安排的更多、更少、或其他元素,而不背離本文所描述的主題的精神或范圍。
[0036]如圖2所示,菜單205可包括諸如文件、編輯、查看以及所需的其他菜單項等菜單項。選擇菜單項可使得子菜單出現(xiàn),子菜單提供可從中選擇的附加菜單項。子菜單中的菜單項可使得附加的子菜單出現(xiàn),以此類推。
[0037]窗格315顯示軟件開發(fā)環(huán)境的程序的代碼段。代碼段包括一行或多行代碼。在一個示例中,方法GetPeople 220被下劃線突出顯示。在其他示例中,其他形式的突出顯示可被使用,如加粗、不同顏色、閃爍、不同大小或字體、以及在文本附近放置圖標,等等。在一個實施例中,方法GetPeople 220不被突出顯示。
[0038]方法GetPeople 220可能在該程序中其他位置的代碼段中定義。其他位置可包括例如在同一或不同文件、類、方法、代碼儲存庫等中的另一位置。編輯器可以接收指示方法GetPeople 220要在折疊視圖中示出的輸入。例如,軟件開發(fā)人員可以在GetPeople文本之上或附近點擊。
[0039]有時,在本文中提到術(shù)語鼠標點擊、懸停、鍵盤或某一其他輸入,但要理解,任何其他形式的輸入可替換以上動作而不背離本文所描述的主題的各方面的精神或范圍。
[0040]例如,在一個實施例中,自然用戶界面(NUI)可被用來提供輸入。NUI可依賴于語音識別、觸摸和指示筆識別、屏幕上和鄰近該屏幕兩者的姿勢識別、空中姿勢、頭和眼睛跟蹤、語音和話音、視覺、觸摸、姿勢、機器智能等等??杀挥脕砼c用戶交互的一些示例性NUI技術(shù)可包括觸敏顯示器,話音和語音識別,意圖和目的理解,使用深度相機(如立體相機系統(tǒng)、紅外相機系統(tǒng)、RGB相機系統(tǒng)、以及這些的組合)的運動姿勢檢測,使用加速度計/陀螺儀的運動姿勢檢測,面部識別,3D顯示,頭部、眼睛和注視跟蹤,沉浸式增強現(xiàn)實和虛擬現(xiàn)實系統(tǒng),以及用于使用電場傳感電極(EEG和相關(guān)方法)的傳感大腦活動的技術(shù)。
[0041]在編輯器接收到輸入后,編輯器可以與折疊視圖管理器進行交互以獲得方法GetPeople 220的折疊視圖。方法GetPeople 220的折疊視圖在圖3中示出。在圖3中,窗口 300包括窗格315,其中折疊視圖325與包括方法GetPeople的代碼段內(nèi)聯(lián)在一起。折疊視圖325可被縮進和/或具有幫助指示折疊視圖325的圖形元素(例如,線330)。
[0042]為了獲得在折疊視圖325中示出的代碼段,折疊視圖管理器可以從包括該代碼段的另一文件或儲存庫獲得該代碼段。本領(lǐng)域技術(shù)人員將明白,具有如圖3中示出的折疊視圖允許軟件開發(fā)人員在無需經(jīng)過麻煩的一組步驟來定位被調(diào)用的代碼、加載該代碼、以及查看該代碼的情況下查看該代碼。此外,折疊視圖還可允許軟件開發(fā)人員在無需軟件開發(fā)人員在多個屏幕之間導航的情況下查看進行調(diào)用的代碼段和被調(diào)用的代碼段兩者。
[0043]雖然折疊視圖在本文有時被描述為包括代碼段,但在其他實施例中,折疊視圖可包括其他數(shù)據(jù)。例如,折疊視圖可包括指示代碼的變化歷史的文本和其他數(shù)據(jù)(例如,參見圖7)。在另一示例中,折疊視圖可包括諸如由代碼引用的圖像等圖形。
[0044]作為另一示例,折疊視圖可包括在該代碼最后一次被執(zhí)行時生成的表數(shù)據(jù)。作為又一示例,折疊視圖可包括與代碼相關(guān)聯(lián)的文檔。
[0045]折疊視圖可以跨不同編程語言的代碼的各視圖。例如,一些HTML代碼可以引用JavaScript代碼。JavaScript代碼可在折疊視圖中示出。JavaScript代碼可以引用服務器上的C#代碼。來自服務器的C#代碼可以在折疊視圖中與JavaScript代碼中的調(diào)用引用內(nèi)聯(lián)地示出。C#代碼可以調(diào)用某一 Basic代碼,該Basic代碼可在又一折疊視圖中與C#代碼中的調(diào)用引用內(nèi)聯(lián)地示出。這可針對用不同編程語言編寫的任何數(shù)量的代碼段來重復。
[0046]折疊視圖可以由允許軟件開發(fā)人員展開或折起折疊視圖的圖形元素來表示。圖形元素可包括圖標、突出顯示的字符、文本行、方法、變量、或其他名稱、或其他圖形數(shù)據(jù)、以上兩者或更多者的組合,等等。例如,圖5示出一行或兩行文本來表示與方法GetPeople相對應的每一折疊視圖。通過點擊各行文本中的一行,軟件開發(fā)人員可以使得與該文本相關(guān)聯(lián)的代碼段與其他代碼內(nèi)聯(lián)地顯示。折起折疊視圖可以使得任何未被折起的子視圖也被折起。
[0047]一個代碼段可以是一個或多個折疊視圖的父代碼段,這些折疊視圖可包括能作為一個或多個其他折疊視圖的父代碼段的代碼段,以此類推。這一點的一些示例在圖4和6中示出。
[0048]諸如變量等符號可以使用靜態(tài)或運行時技術(shù)跨各折疊視圖相關(guān)。符號對應關(guān)系隨后可跨各視圖來被突出顯示。例如,如果變量X被傳遞給單參數(shù)函數(shù)并且該參數(shù)的名稱是Y,則Y的所有實例在子方法中以及在通過從該子方法折疊的代碼展開的任何其他子方法中可被自動突出顯示。這允許軟件開發(fā)人員容易地標識跨復雜、分層的調(diào)用樹的值流。這一點的示例在圖6中示出,其中變量DateAdded被加粗且跨各折疊視圖相關(guān)。
[0049]返回圖2,如上所述,取決于實現(xiàn),方法GetPeople 220可被突出顯示或不被突出顯示。在一個示例中,響應于接收到與方法GetPeople 220相關(guān)聯(lián)的懸停輸入,附加信息可被顯示。例如,與被引用的代碼段有關(guān)的元數(shù)據(jù)可被顯示。例如,所顯示的元數(shù)據(jù)可包括名稱、父類、文件名、圖形圖像的大小、代碼段的創(chuàng)建時間、用于編碼圖像的編碼方案、其他元數(shù)據(jù),等等。
[0050]此外,折疊視圖可與在程序執(zhí)行時可作出的調(diào)用序列緊密地匹配。例如,如果函數(shù)A調(diào)用函數(shù)B,函數(shù)B調(diào)用函數(shù)C,則折疊視圖可以示出函數(shù)B折疊在函數(shù)A中且函數(shù)C折疊在函數(shù)B內(nèi),位置與代碼被調(diào)用的地方相對應。
[0051]要由折疊視圖示出的代碼段可以大于在折疊視圖中顯示所允許的代碼段。例如,代碼段可具有過寬而不能顯示在折疊視圖中的代碼行。在另一示例中,代碼段可具有超過可在折疊視圖中顯示的代碼行閾值的代碼行。在這種情況下,折疊視圖管理器可以顯示指示比示出的內(nèi)容更多的內(nèi)容可用的一個或多個圖形元素(例如,省略號、滾動條、其他圖形元素等)。這些圖形元素在本文中有時被稱為省略標記。
[0052]軟件開發(fā)人員可以點擊或以其他方式與省略標記交互以使得更多內(nèi)容被顯示。作為響應,多達另一閾值的更多代碼段可與附加省略標記一起顯示。軟件開發(fā)人員可以繼續(xù)與省略標記交互來使得附加的代碼段部分被顯示,直至所需量的代碼段或整個代碼段被顯
/Jn ο
[0053]在一個實現(xiàn)中,軟件開發(fā)人員可允許以下選項:“扯下”一代碼段并在傳統(tǒng)文件編輯器中作為頂層用戶界面中的新標準選項卡、窗口、或其他元素來打開它。在這一實現(xiàn)中,在代碼段被扯下時,代碼段的起始行可以顯示在該圖形元素中。
[0054]使用折疊視圖顯示代碼段的界面可被實現(xiàn)為與經(jīng)由開發(fā)環(huán)境可用的現(xiàn)有交互相一致。例如,撤消操作可以撤消屏幕上可見的最后動作。作為另一示例,查找下一處命令可以按遇到它們的次序來找出被搜索文本的下一實例一包括或不包括折疊視圖(例如,取決于配置)。作為又一示例,滾輪和垂直滾動條可以管理視口(viewport)。作為又一示例,保存操作可以保存編輯器的底層緩沖區(qū)。
[0055]以上示例只是示例性的且不旨在是全包括或窮盡折疊視圖可與經(jīng)由開發(fā)環(huán)境可用的現(xiàn)有交互相一致的方式?;诒疚牡慕虒В绢I(lǐng)域技術(shù)人員可以認識到實現(xiàn)以與經(jīng)由開發(fā)環(huán)境可用的現(xiàn)有交互相一致的方式使用折疊視圖顯示代碼段的界面的其他方式,而不背離本文描述的主題的各方面的精神或范圍。
[0056]在一個示例中,返回圖1,源代碼編輯器125可以對編輯指令作出響應,使得將涉及緊靠在對折疊視圖的引用下面的代碼的編輯指令在被應用于在圖形元素之下的代碼段的任何部分之前,被應用于折疊視圖的代碼段。例如,參考圖3,搜索單詞“arraylist (數(shù)組列表)”可以搜索折疊視圖325上方的代碼段,隨后搜索折疊視圖325的代碼段,再后搜索折疊視圖325下方的代碼。
[0057]圖8-9是根據(jù)本文所描述的主題的各方面的概括地表示可發(fā)生的示例性動作的流程圖。為解釋簡明起見,結(jié)合圖8-9描述的方法被描繪和描述為一系列動作??梢岳斫夂兔靼?,本發(fā)明所描述的主題的各方面不受所示出的各動作和/或各動作次序的限制。在一個實施例中,各動作以如下描述的次序發(fā)生。然而,在其它實施例中,各動作可以并行地發(fā)生、以另一次序發(fā)生、和/或與本發(fā)明未呈現(xiàn)和描述的其它動作一起發(fā)生。此外,并非所有示出的動作都是實現(xiàn)根據(jù)本發(fā)明所描述的主題的各方面的方法所必需的。另外,本領(lǐng)域的技術(shù)人員將了解和明白,該方法也可以替代地經(jīng)由狀態(tài)圖而被表示為一系列相互關(guān)聯(lián)的狀態(tài)或者被表示為事件。
[0058]轉(zhuǎn)向圖8,在框805處,動作開始。
[0059]在框810,獲得第一代碼段。例如,參考圖1,軟件開發(fā)人員可以使用源代碼編輯器125選擇代碼文件并且使得該代碼文件的代碼被加載到存儲器中并顯示在顯示器115上。
[0060]在框815,第一代碼段被顯示在軟件開發(fā)環(huán)境的圖形界面上。例如,參考圖1和2,窗格215中示出的代碼段可被顯示在顯示器115上。
[0061]在框820,可接收指示對第二代碼段的引用的輸入。如上所述,第二代碼段可被包括在包含第一代碼段的文件或其他儲存庫中或被包括在分開的文件中。例如,參考圖1和2,軟件開發(fā)系統(tǒng)105可接收右擊、懸停、或標識方法GetPeople 220的其他形式的輸入。例如,軟件開發(fā)人員可以突出顯示方法GetPeople 220以指示要由折疊視圖表示的第二代碼段的名稱。
[0062]在框825,顯示表示第二代碼段的圖形元素。例如,參考圖2,方法GetPeople220被加下劃線以指示方法GetPeople 220與可表示在折疊視圖中的其他代碼相關(guān)聯(lián)。作為另一示例,參考圖5,為每一折疊視圖示出一行或兩行以指示與方法GetPeople相關(guān)聯(lián)的其他代碼。
[0063]在框830,接收展開折疊視圖的指令。例如,參考圖2,軟件開發(fā)人員可以右擊方法GetPeople 220并指示該方法的代碼要被展開并內(nèi)聯(lián)地示出。
[0064]在框835,獲得第二代碼段的代碼。例如,參考圖1,獲取管理器130可以通過打開文件并將代碼加載到存儲器來獲得第二代碼段的代碼。
[0065]在框840,顯示第二代碼段的至少一部分。例如,參考圖3,GetPeople方法的整個代碼被顯示,但在圖4中,對于每一折疊視圖只有部分代碼段被顯示。
[0066]在框845,執(zhí)行其他動作(如果有的話)。例如,軟件開發(fā)人員可以通過對軟件開發(fā)系統(tǒng)的輸入來指示折疊視圖要被扯下。作為響應,代碼段可被顯示在分開的顯示區(qū)域(例如,新選項卡、窗口、或其他元素)。
[0067]作為另一示例,可以接收與第二代碼段相關(guān)聯(lián)的懸停輸入。作為響應,可以顯示與第二代碼段相關(guān)的元數(shù)據(jù)。
[0068]轉(zhuǎn)向圖9,在框905處,動作開始。在框910,顯示程序的代碼段。例如,參考圖2,代碼段被顯示在窗格215中。
[0069]在框915,接收標識代碼段的文本的輸入。例如,參考圖2,軟件開發(fā)人員可以點擊方法GetPeople 220。作為另一示例,接收標識第一代碼段的文本的輸入可包括接收標識與該數(shù)據(jù)相關(guān)聯(lián)的名稱的輸入。
[0070]在框920,獲得與該文本相對應的數(shù)據(jù)。例如,參考圖3,可獲得與在折疊視圖325中示出的代碼相對應的數(shù)據(jù)。作為另一示例可,如果該文本引用圖形圖像,則與該圖像相對應的數(shù)據(jù)可被獲得。
[0071]在框925,與該文本內(nèi)聯(lián)地顯示數(shù)據(jù)的折疊視圖。顯示該數(shù)據(jù)可包括顯示以下中的一個或多個:第二代碼段、文本、或圖形。例如,參考圖3,折疊視圖325與對people.GetPeople(I)的調(diào)用內(nèi)聯(lián)地顯示。作為另一示例,如果該文本引用圖形圖像,則該圖形圖像可以與該文本內(nèi)聯(lián)地示出。
[0072]在框930,可以執(zhí)行其他動作(如果有的話)。例如,可以顯示表示折疊視圖的圖形元素。這一圖形元素可以在該文本的下方且附近顯示,使得圖形元素與第一代碼段內(nèi)聯(lián)地顯示。圖形元素可以允許軟件開發(fā)人員提供展開輸入(例如,通過選擇、懸停、點擊或以其他方式與該圖形元素交互)。響應于接收到展開輸入,與該圖形元素相對應的數(shù)據(jù)可被顯示并且從代碼段的頁邊距縮進。
[0073]如從上述詳細描述中可以看見,已經(jīng)描述了與開發(fā)環(huán)境的折疊視圖相關(guān)的各方面。盡管本文所描述的主題的各方面易于作出各種修改和替換構(gòu)造,但其某些說明性實施例在附圖中示出并在上面被詳細地描述。然而,應當理解,并不旨在將所要求保護主題的各方面限制于所公開的具體形式,而是相反地,目的是要覆蓋落入本文所描述的主題的各方面的精神和范圍之內(nèi)的所有修改、替換構(gòu)造和等效方案。
【權(quán)利要求】
1.一種至少部分地由計算機實現(xiàn)的方法,所述方法包括: 在軟件開發(fā)環(huán)境的圖形界面上顯示程序的第一代碼段; 接收指示對所述程序的第二代碼段的引用的輸入;以及 在所述圖形界面上,與所述第一代碼段內(nèi)聯(lián)地顯示所述第二代碼段的折疊視圖。
2.如權(quán)利要求1所述的方法,其特征在于,還包括接收顯示所述第二代碼段的輸入并且作為響應與所述引用內(nèi)聯(lián)地顯示所述第二代碼段的至少一部分并且從所述第一代碼段的頁邊距縮進。
3.如權(quán)利要求2所述的方法,其特征在于,還包括在所述第二代碼段的所述部分內(nèi)顯示由所述第二代碼段引用的第三代碼段的另一折疊視圖。
4.如權(quán)利要求1所述的方法,其特征在于,還包括在所述圖形界面上,與所述第一代碼段內(nèi)聯(lián)地顯示多個圖形元素,所述圖形元素中的每一個表示所述多個代碼段之一的折疊視圖。
5.如權(quán)利要求1所述的方法,其特征在于,還包括接收搜索輸入并且作為響應首先搜索第一代碼段中在所述第二代碼段之前的一部分,隨后搜索所述第二代碼段,再后搜索所述第一代碼段中在所述第二代碼段之后的一部分。
6.一種具有計算機可執(zhí)行指令的計算機存儲介質(zhì),所述計算機可執(zhí)行指令在被執(zhí)行時執(zhí)行以下動作,包括: 在軟件開發(fā)環(huán)境的圖形界面上顯示程序的第一代碼段; 接收標識所述第一代碼段的文本的輸入; 獲得與所述文本相對應的數(shù)據(jù);以及 在所述圖形界面上,與所述文本內(nèi)聯(lián)地顯示所述數(shù)據(jù)的折疊視圖。
7.如權(quán)利要求6所述的計算機存儲介質(zhì),其特征在于,還包括通過在所述文本的下方且附近顯示表示所述折疊視圖的圖形元素來顯示所述圖形元素,使得所述圖形元素與所述第一代碼段內(nèi)聯(lián)地顯示。
8.如權(quán)利要求6所述的計算機存儲介質(zhì),其特征在于,顯示所述數(shù)據(jù)的折疊視圖包括顯示以下中的一個或多個:第二代碼段、文本、或圖形。
9.一種在計算環(huán)境中的系統(tǒng),包括: 能用于接收針對軟件開發(fā)活動的輸入的軟件開發(fā)環(huán)境,所述軟件開發(fā)環(huán)境包括: 用于呈現(xiàn)與軟件程序的第一代碼段相關(guān)聯(lián)的文本的顯示器, 用于接收與所述第一代碼段相關(guān)的編輯指令的源代碼編輯器,以及用于使得所述顯示器在緊靠在所述第一代碼段中包括的引用下面呈現(xiàn)表示所述引用所引用的第二代碼段的折疊視圖的圖形元素的折疊視圖管理器。
10.如權(quán)利要求9所述的系統(tǒng),其特征在于,所述源代碼編輯器對編輯指令進行響應,以便涉及緊靠在所述引用下面的代碼的編輯指令在被應用于所述第一代碼段中在所述圖形元素下方的任何部分之前,被應用于所述第二代碼段。
【文檔編號】G06F9/44GK104380249SQ201380032857
【公開日】2015年2月25日 申請日期:2013年6月21日 優(yōu)先權(quán)日:2012年6月22日
【發(fā)明者】A·C·布拉東 申請人:微軟公司