Visual Studio 2008可擴充性開發(七):操作文字編輯器

來源:互聯網
上載者:User

前言

在可擴充性開發(六)中,我介紹了對於Solution Explorer的基本操作。不過,對咱 們開發人員來說,絕大部分時間面對的還是編輯器。

VS2008的編輯器功能已經頗為強大了,如果我們能熟練使用快速鍵,編寫代碼的過程 是相當舒服的,就像《卓有成效的程式員》中所說:

“編程時始終優先使用鍵盤而非滑鼠”

但問題在於,VS面向的是所有的開發人員群體,它只能夠提供最通用的功能,如果對 VS的編輯器有些額外的需求,我們只好自己動手了,本文將介紹如何擴充文字編輯器。

AOM中編輯器相關的介面

跟以前一樣,這裡首先簡單介紹一下AOM中的相關介面、類型。

1)Documents

在預設情況下,VS會以標籤式文檔呈現開啟的各個文檔。這些文檔的集合在AOM中就是 Documents,它實現了IEnumerable介面。通過該介面,我們可以擷取當前開啟的文檔,它 的重要屬性和方法有:

Count:開啟文檔的數目;

Add():向集合中添加新的文檔;

CloseAll():關閉所有文檔,它的參數為vsSaveChanges枚舉,可提供關閉時的行為選 項,比如提示使用者進行儲存;

Item():根據索引擷取集合中的某個文檔;

Open():開啟一個文檔;

SaveAll():儲存所有文檔。

這些成員的含義是相當簡單、直白的。我們可以通過迴圈變數所有開啟的文檔,以獲 取所有文檔的資訊,對於單個文檔來說,它對應於Document介面。

2)Document

表示在VS中開啟進行編輯的文檔。它的成員較多,這裡僅介紹一下比較重要的幾個:

FullName/Path/Name:文檔的全名、所在目錄、檔案名稱;

Language:文檔的語言類型,如CSharp;

ProjectItem:擷取與文檔關聯的ProjectItem對象;

Selection:文檔中的選定內容;

Type:文檔的類型;

Activate():將焦點移至該文檔;

Close():關閉文檔;

Redo()/Undo():執行Redo/Undo操作;

Save():儲存文檔。

關於Document成員的詳細資料,請參看這裡。其中的Selection屬性非常有用,因為很 多時候我們都是先選中文檔的部分內容,再進行相應的操作。另外,在開啟的多個文檔中 ,只有一個處於活動狀態,可以使用DTE.ActiveDocument屬性來快速擷取該文檔。

在擷取文檔的引用後,下一步就可以考慮如何進行編輯了。我們得瞭解5個介面: TextSelection、TextPoint、EditPoint、VirtualPoint、TextDocument。相信在瞭解了 這些介面後,你在操作編輯器時會得心應手的。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.