2010-09-01 30 views
74

Tôi đang tìm cách dọn dẹp bố cục dự án của mình trong Visual Studio và tôi tự hỏi liệu có bất kỳ hack, plugin hoặc mẹo nào để liên kết tệp .xml với tệp .cs hay không tên để chúng xuất hiện trong nhóm điều hướng giải pháp/thám hiểm của tôi.Các tệp nhóm trong Visual Studio

Tương tự như cách tệp mã-đằng sau được liên kết với aspx của nó.

alt text

Mọi đề xuất đều được chào đón. Cảm ơn

Trả lời

67

Trong tập tin dự án của bạn:

<Compile Include="FileA.cs"/> 
<Compile Include="FileA.xml"> 
    <DependentUpon>FileA.cs</DependentUpon> 
</Compile> 

Hoặc bạn có thể sử dụng Group Items lệnh của VSCommands 2010 mở rộng.

+2

Hoàn hảo! Tôi đã không thực sự nghĩ rằng nó sẽ có thể –

+0

Tôi đã tìm thấy rằng trong một dự án VB VS2010, nếu bạn đang cố gắng thêm một lớp con (ví dụ, một phần) để kiểm soát XAML, tập tin con sẽ được ẩn trừ khi bạn chọn " Xem tất cả các tệp". Nhầm lẫn, vì vậy chỉ cần thêm .xaml.vb vào cuối của nó và sau đó nó được hiển thị. – Rocklan

+1

Tôi đã nhầm lẫn về cách sử dụng chức năng nhóm VSCommands cho đến khi tôi thấy bài viết này [http://www.rapidstreams.net/2012/08/grouping-partial-classes-in-visual.html). Để sử dụng chức năng nhóm VSCommands, HIGHLIGHT TẤT CẢ các tập tin bạn muốn nhóm, sau đó nhấp chuột phải vào bất kỳ một trong số họ, sau đó bấm nhóm. – Chris

57

Nếu bạn không muốn làm chậm IDE của bạn bằng phần mở rộng VSCommands nặng và độc quyền, bạn có thể sử dụng phần mở rộng nhỏ NestIn để thay thế. Nó không thể gì ngoài việc nhóm/bỏ nhóm các tệp

+0

Rất tiện dụng, nhưng không thể đổi tên các mục lồng nhau. –

+4

Ngoài ra điều này: File Nesting https://visualstudiogallery.msdn.microsoft.com/3ebde8fb-26d8-4374-a0eb-1e4e2665070c] – Tohid

2

Đối với trường hợp đơn giản, trong đó tệp là tệp "cấp cao nhất", mô tả của Julien hoạt động hoàn hảo. Tuy nhiên, trong trường hợp tệp DependentUpon nằm trong một thư mục trong dự án, điều này có vẻ khác. Cá nhân tôi không thích nó bởi vì nó có vẻ như nó có thể dẫn đến sự mơ hồ, nhưng đó là một ý kiến.

<Compile Include="DataStructs\CKDTree.cs" /> 
<Compile Include="DataStructs\CClosestObjects.cs" > 
    <DependentUpon>CKDTree.cs</DependentUpon> 
</Compile> 

Lưu ý rằng mục phụ thuộc KHÔNG bao gồm Thư mục của phụ huynh. Điều này đúng trong VS2013 ... có thể đúng trong các phiên bản trước nhưng tôi chưa xác minh nó.

+0

Cảm ơn, bit thư mục "bị thiếu" là điều cần biết. Đã tự hỏi tại sao nó không bật lên một cách chính xác trong VS2013. –

+0

Tôi tin rằng nó không cần thiết vì nó giả định rằng tệp 'cha mẹ' có liên quan (đường dẫn sans) là một anh chị em của tệp 'con' và đứa trẻ chỉ định đường dẫn. Một thử nghiệm đơn giản về việc thêm một tệp CKDTree.cs thứ hai vào một vị trí khác, sau đó tạo một đứa trẻ ở vị trí đó nhưng với chính xác phần tử 'DependentUpon' sẽ xác nhận giả thuyết này. Tuy nhiên, như tôi đã gọi ra trong câu trả lời của tôi dưới đây, điều này phá vỡ khả năng của VS để đổi tên tập tin để được cảnh giác với việc này. – MarqueIV

0

Không chắc chắn nếu mọi người biết, nhưng việc lồng các tệp như thế này dường như phá vỡ khả năng đổi tên tệp gốc của VS, ít nhất là khi tệp lồng nhau mới của bạn cũng là một phần. Ví dụ: đây là cây chúng tôi đã tạo ...

MainWindow.xaml 
    MainWindow.xaml.cs 
    MainWindow.Commands.cs 

MainWindow.Commands.cs chỉ là một phần khác của MainWindow, giống như MainWindow.xaml.cs. Tuy nhiên, nếu bạn sau đó thử và đổi tên MainWindow.xaml, thay vì tự động đổi tên các tệp phụ thuộc, nó sẽ ném một ngoại lệ.

Để hoàn thành, tôi cũng đã thử đặt tên tệp là MainWindow.xaml.Commands.cs nhưng điều đó cũng không hoạt động.

Nếu không có tệp 'lệnh' bổ sung, việc đổi tên hoạt động tốt, tất nhiên.

MainWindow.xaml 
    MainWindow.xaml.cs 

Dù sao, đây là lý do đủ để chúng tôi từ bỏ các tệp lồng nhau như thế này. Nếu không có khả năng đổi tên, nó không đáng giá.

+0

Tôi chỉ thử nghiệm này với các lớp học một phần (1 gốc, 2 trẻ em) và tôi đã không nhận được bất kỳ lỗi đổi tên gốc. VS 2015 – ATD

+0

Tôi sẽ phải kiểm tra lại với năm 2015. Tôi nghĩ rằng tôi đã sử dụng 2012/3 vào thời điểm đó – MarqueIV

Các vấn đề liên quan