Автоматически форматировать все файлы в решении в visual studio 2010
Я пытаюсь автоматически форматировать все файлы в своем решении в vs2010. Я видел, что нет встроенного варианта для этого. Я попытался написать макрос, чтобы сделать это, но я застрял.
Когда я выполняю итерацию любого ProjectItem
в моих проектах, я не знаю, как открывать назначаемые файлы в режиме исходного кода или как различать исходные файлы и файлы-источники (например, png-s или такие).
Есть ли у вас какие-либо предложения?
спасибо.
Ответы
Ответ 1
Ну, вместо написания макроса посмотрите Code Maid (бесплатно на visualstudiogallery), есть две функции:
- Очистка одного файла, всех выбранных элементов или всего решения
- Функция очистки для автоматического запуска при сохранении
С несколькими параметрами для того, что делает CleanUp
Ответ 2
Я думаю, что следующее будет работать для вас на основе другого итерационного файла, который я сделал в Visual Studio. Если вы хотите отформатировать другие типы документов, измените процедуру FormatFile для поддержки других расширений файлов.
Sub IterateFiles()
Dim solution As Solution = DTE.Solution
For Each prj As Project In solution.Projects
IterateProjectFiles(prj.ProjectItems)
Next
End Sub
Private Sub IterateProjectFiles(ByVal prjItms As ProjectItems)
For Each file As ProjectItem In prjItms
If file.SubProject IsNot Nothing Then
FormatFile(file)
IterateProjectFiles(file.ProjectItems)
ElseIf file.ProjectItems IsNot Nothing AndAlso file.ProjectItems.Count > 0 Then
FormatFile(file)
IterateProjectFiles(file.ProjectItems)
Else
FormatFile(file)
End If
Next
End Sub
Private Sub FormatFile(ByVal file As ProjectItem)
DTE.ExecuteCommand("View.SolutionExplorer")
If file.Name.EndsWith(".cs") OrElse file.Name.EndsWith(".vb") Then
file.Open()
file.Document.Activate()
DTE.ExecuteCommand("Edit.FormatDocument", "")
file.Document.Save()
file.Document.Close()
End If
End Sub