Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

TODO в Visual Studio 2005

8.2K
10 января 2006 года
Track
44 / / 30.05.2005
Подскажите, кто знает, как корректно делать TODO метки в коде в Visual Studio?

Чтобы их потом можно было посмтореть в отдельном окне.
273
10 января 2006 года
3A3-968M
1.2K / / 22.12.2005
Цитата:
Originally posted by Track
Подскажите, кто знает, как корректно делать TODO метки в коде в Visual Studio?

Чтобы их потом можно было посмтореть в отдельном окне.


Открой в главном меню среды Visual Studio
Tools->Options, в дереве выбери
Environment->Task List. Там есть кнопка добавления распознавателей (токенов) комментариев. Можно использовать стандартный токен TODO (в списке токенов он есть). Можешь добавить свой (ну, типа Comment). Синтаксис применения токена:
//TOKEN-NAME: коментарий
/*TOKEN_NAME: многострочный комментарий*/
Все комментарии будут отображаться в Task List. Чтобы это окошко появилось, выбери View->Other Windows->Task List. Комментарий, чтобы не мешался, засунь между #region и #endregion.

273
10 января 2006 года
3A3-968M
1.2K / / 22.12.2005
Цитата:
Originally posted by Track
Подскажите, кто знает, как корректно делать TODO метки в коде в Visual Studio?

Чтобы их потом можно было посмтореть в отдельном окне.


Но можно использовать макрос. На событие двойного щелчка на Task List пиши примерно такой обработчик:
Option Strict Off
Option Explicit Off
Imports System
Imports EnvDTE
Imports EnvDTE80
Imports System.Diagnostics

Public Module RecordingModule

Sub TemporaryMacro()
DTE.Windows.Item(Constants.vsWindowKindTaskList).Activate()
DTE.Windows.Item("Class1.cs").Activate()
desc = DTE.ToolWindows.TaskList.TaskItems.Item(DTE.ToolWindows.TaskList.SelectedItems).Description
End Sub
End Module

В переменной desc содержится текст выбранного комментария, ну а дальше примерно такой код (в другом файле макроса):
Class Form1
Inherits System.Windows.Forms.Form

Protected Overrides Sub Dispose(ByVal disposing As Boolean)
If disposing AndAlso components IsNot Nothing Then
components.Dispose()
End If
MyBase.Dispose(disposing)
End Sub

Private components As System.ComponentModel.IContainer

Private Sub InitializeComponent()
Me.TextBox1 = New System.Windows.Forms.TextBox
Me.SuspendLayout()
Me.TextBox1.Location = New System.Drawing.Point(1, 2)
Me.TextBox1.Multiline = True
Me.TextBox1.Name = "TextBox1"
Me.TextBox1.Size = New System.Drawing.Size(279, 261)
Me.TextBox1.TabIndex = 0
Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!)
Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font
Me.ClientSize = New System.Drawing.Size(292, 266)
Me.Controls.Add(Me.TextBox1)
Me.Name = "Form1"
Me.Text = "Form1"
Me.ResumeLayout(False)
Me.PerformLayout()

End Sub
Friend WithEvents TextBox1 As System.Windows.Forms.TextBox

End Class

Затем пиши процедуру отображения окна и загрузку в него текста:
Sub ShowText(ByVal Str As String)
frm=New Form1()
frm.TextBox1.Text=Str
End Sub
И вписывай вызов этой процедуры в обработчике Task List.
Предупреждаю: код настряпан мною за пару сек, поэтому с первого раза может не заработать, но главную идею я изложил.

8.2K
10 января 2006 года
Track
44 / / 30.05.2005
Ух ты, спасибо, особенно за макрос :)),

...правда я пока еще боюсь его прикручивать, но надо себя заставить
8.2K
18 января 2006 года
Track
44 / / 30.05.2005
Цитата:
Originally posted by 3A3-968M
Открой в главном меню среды Visual Studio
Tools->Options, в дереве выбери
Environment->Task List. Там есть кнопка добавления распознавателей (токенов) комментариев. Можно использовать стандартный токен TODO (в списке токенов он есть). Можешь добавить свой (ну, типа Comment). Синтаксис применения токена:
//TOKEN-NAME: коментарий
/*TOKEN_NAME: многострочный комментарий*/
Все комментарии будут отображаться в Task List. Чтобы это окошко появилось, выбери View->Other Windows->Task List. Комментарий, чтобы не мешался, засунь между #region и #endregion.



Как оказалось, Task List показывает только TODO из открытых в редакторе файлов.
Можно ли увидеть все TODO проекта/солюшена?

273
19 января 2006 года
3A3-968M
1.2K / / 22.12.2005
Цитата:
Originally posted by Track
Как оказалось, Task List показывает только TODO из открытых в редакторе файлов.
Можно ли увидеть все TODO проекта/солюшена?


Необходимо, чтобы все файлы проекта были открыты в редакторе. Обычно это делается при открытии проекта. Если все файлы проекта в Visual Studio открыты, все TODO будут отбражаться в Task List

8.2K
19 января 2006 года
Track
44 / / 30.05.2005
Цитата:
Originally posted by 3A3-968M
Необходимо, чтобы все файлы проекта были открыты в редакторе. Обычно это делается при открытии проекта. Если все файлы проекта в Visual Studio открыты, все TODO будут отбражаться в Task List



Эхех, подгонец... мне говорили, что это особенности реализации VSCore и даже плагины, которые занимаются рефакторингом по неоткрытым файлам (пр. ReSharper) сначала их открывают, а потом закрывают.

Минус в том, что у нас в солюшене сейчас под 50 проектов, а файлов еще больше :). Сложно теперь менеджить TODO.

273
19 января 2006 года
3A3-968M
1.2K / / 22.12.2005
Тогда вас спасёт только макрос.
7.4K
08 июля 2007 года
malor
69 / / 20.01.2007
View ->Other Windows ->Task List Ctrl+\,Ctrl+T, а в книге Visual C++.NET(Виктор Кораблев, 2004) на стр.27 написано, что Ctrl+Alt+K. Почему?
Сделал умышленные ошибки как написано на стр. 30, но в списке Task List они не упомянуты! Только в Errors List. Почему?

VC2005
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог