Đây là bản cập nhật cho tập lệnh hiện có hoạt động trên các giải pháp rất lớn.
Nó sẽ mở mỗi tệp, định dạng tệp, sau đó lưu và đóng tệp thay vì để tệp mở. Nó cũng bỏ qua ".designer". các tệp, vì các tệp này thường sẽ bị bỏ lại một mình.
Điều này hoạt động trong Visual Studio 2012 và 2013. Bạn có thể sao chép và dán trực tiếp vào Bảng điều khiển Trình quản lý gói.
Hãy cẩn trọng: dán mã này vào giao diện điều khiển của bạn sẽ ngay lập tức mở và định dạng tất cả các file C# trong toàn bộ giải pháp của bạn, tiết kiệm mỗi tập tin được sửa đổi mà không hỏi. Có thể là một ý tưởng tốt để phân nhánh trước tiên ...
function FormatItems($projectItems) {
$projectItems |
% {
# Write-Host " Examining item: $($_.Name)";
if ($_.Name -and $_.Name.ToLower().EndsWith(".cs") `
-and (-not $_.Name.ToLower().Contains(".designer."))) {
$win = $_.Open('{7651A701-06E5-11D1-8EBD-00A0C90F26EA}');
$win.Activate();
$dte.ExecuteCommand('Edit.FormatDocument');
if (!$_.Saved) {
Write-Host " Saving modified file: $($_.Name)";
$dte.ExecuteCommand('File.SaveSelectedItems');
}
$dte.ExecuteCommand('Window.CloseDocumentWindow');
}
if ($_.ProjectItems -and ($_.ProjectItems.Count -gt 0)) {
# Write-Host " Opening sub-items of $($_.Name)";
FormatItems($_.ProjectItems);
}
};
}
$dte.Solution.Projects | % {
Write-Host "-- Project: $($_.Name)";
FormatItems($_.ProjectItems)
}
;
Tôi đã đăng câu hỏi này để ghi lại giải pháp mà tôi đã tìm thấy. Nhưng có lẽ có những ý tưởng hay khác không? –
bạn có thể đánh dấu câu trả lời của mình là chính xác không? –