2016-10-11 7 views
0

Я следую этому руководству>https://msdn.microsoft.com/en-us/library/bb165473.aspx до такой степени, что я могу создать пункт меню в строке меню визуальной студии.Выбор текущего активного файла C# для отображения в строке состояния

Однако, я прочитал об активных вкладках и т. Д. Мне было интересно, можно ли написать код в методы, чтобы он показывал мне текущие вкладки, на которых я нахожусь?

Я создал несколько расширений, но ничего особенного в том, что нашел активный путь к файлу.

То, что я пытаюсь достичь что-то вроде этого

enter image description here

За исключением того, что потенциально может появиться в строке состояния ниже или всплывающего окна.

enter image description here

Где я должен использовать объекты DTE/DTE2?

ответ

1

В VS вы можете обратиться к DTE или DTE2 объектам. Они представляют VS IDE.

DTE dte = (DTE)GetService(typeof(DTE)); 
string document = dte.ActiveDocument.FullName; 

вы должны добавить ссылку на EnvDTE сборки.

DTE был заменен DTE2. Вы можете получить ссылку на DTE2 следующим

EnvDTE80.DTE2 dte2; 
dte2=(EnvDTE80.DTE2)System.Runtime.InteropServices.Marshal.GetActiveObject("VisualStudio.DTE.12.0"); 

Код для VS2013

+0

Где я могу добавить эти объекты в моем коде? К сожалению, я совершенно новичок в этом и только что прочитал об объектах DTE/DTE2. –

+0

@leonardchan вы можете использовать DTE или DTE2 в своем коде. После создания экземпляра «DTE2» вы можете использовать его для поиска активного документа. –

+0

Привет, я не вижу, где я мог бы использовать DTE/DTE2 в приведенном выше примере для руководства TopLevelMenu. Я добавил ссылку, но она не работает. –