Khi tôi nhấp chuột phải vào Giải pháp của dự án C # Visual Studio và chọn Thêm ...> Lớp ... nó sẽ tạo một lớp mà không có công cụ sửa đổi công khai. Làm cách nào để lấy Visual Studio (2008) mặc định lớp thành lớp công khai?
Khi tôi nhấp chuột phải vào Giải pháp của dự án C # Visual Studio và chọn Thêm ...> Lớp ... nó sẽ tạo một lớp mà không có công cụ sửa đổi công khai. Làm cách nào để lấy Visual Studio (2008) mặc định lớp thành lớp công khai?
Câu trả lời:
Bạn cần sửa đổi tệp nằm trong C:\Program Files\Microsoft Visual Studio 9.0\Common7\IDE\ItemTemplates\CSharp\Code\1033
.
Visual Studio 2010 (10.0) trở xuống: Có một tệp zip trong đó có tên là Class.zip. Giải nén tệp này, chỉnh sửa tệp để đưa vào public
từ khóa của bạn sau đó đóng gói lại (đảm bảo bạn sao lưu bản gốc).
Sau đó, hãy đảm bảo VS xây dựng lại bộ nhớ cache của nó (chỉ là các tệp zip được giải nén vào các thư mục trong C:\Program Files\Microsoft Visual Studio 9.0\Common7\IDE\ItemTemplatesCache
) bằng cách mở trình bao lệnh Visual Studio và thực hiện lệnh sau:
devenv /installvstemplates
Visual Studio 2012 (11.0) trở lên: Xem câu trả lời của @JochemKempe , vì giờ đây, việc thay đổi điều này dễ dàng hơn nhiều, chỉ bằng cách chỉnh sửa một tệp duy nhất (không cần giải nén hoặc giải nén).
CẬP NHẬT: Đừng quên mở trình soạn thảo văn bản ưa thích của bạn với các đặc quyền của quản trị viên trước khi bạn thực hiện bất kỳ chỉnh sửa nào.
Trong VS2012 , việc truy cập C:\Program Files (x86)\Microsoft Visual Studio 11.0\Common7\IDE\ItemTemplates\CSharp\Code\1033\Class
và chỉnh sửa tệp Class.cs dễ dàng như vậy.
Không cần giải nén hoặc xây dựng lại bộ nhớ cache. Một sự thay đổi rất tích cực nếu bạn hỏi tôi.
VS2015 :C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE\ItemTemplates\CSharp\Code\1033\Class
VS2017 (RC) :C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\Common7\IDE\ItemTemplates\CSharp\Code\1033\Class
VS2017 (Chuyên nghiệp) :C:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\Common7\IDE\ItemTemplates\CSharp\Code\1033\Class
VS2019 (Doanh nghiệp) :C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\Common7\IDE\ItemTemplates\CSharp\Code\1033\Class\Class.cs
VS2019 (Chuyên nghiệp) :C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\Common7\IDE\ItemTemplates\CSharp\Code\1033\Class\Class.cs
Lỗi thời
VS2019 (Xem trước) :C:\Program Files (x86)\Microsoft Visual Studio\2019\Preview\Common7\IDE\ItemTemplates\CSharp\Code\1033\Class\Class.cs
C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\Common7\IDE\ItemTemplates\CSharp\Code\1033\Class\Class.cs
Để tạo một lớp Công khai theo mặc định cho Visual Studio 2012:
Chỉnh sửa tệp này:
C:\Program Files (x86)\Microsoft Visual Studio 11.0\Common7\IDE\ItemTemplates\CSharp\Code\1033\Class\Class.cs
Để trông như thế này:
using System;
using System.Collections.Generic;
$if$ ($targetframeworkversion$ >= 3.5)using System.Linq;
$endif$using System.Text;
$if$ ($targetframeworkversion$ >= 4.5)using System.Threading.Tasks;
$endif$
namespace $rootnamespace$
{
public class $safeitemrootname$
{
}
}
Bạn có thể tạo mẫu dự án của riêng mình hoặc sửa đổi mẫu hiện có. Tất cả các tệp dự án này đều theo hướng mẫu, vì vậy bạn có thể thay đổi chúng và / hoặc thêm tệp của riêng bạn.
Kiểm tra các liên kết sau:
Marc
Đây là một tập lệnh PS tái nhập sẽ cập nhật Mẫu mục lớp cơ sở C # . Đường dẫn thay đổi tùy thuộc vào phiên bản / phiên bản Visual Studio bạn sử dụng. Nó cũng sao lưu mẫu ban đầu trong trường hợp bạn muốn hoàn nguyên trong tương lai.
$csharpClassTemplates = @("C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE\ItemTemplates\CSharp\Code\1033\Class\Class.cs",
"C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE\ItemTemplatesCache\CSharp\Code\1033\Class\Class.cs",
"C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\Common7\IDE\ItemTemplates\CSharp\Code\1033\Class\Class.cs")
$csharpClassTemplates | % {
Write-Output("Updating template $_")
Copy-Item $_ -Destination "$_.backup"
(get-content $_).Replace('public ', '').Replace('class ', 'public class ') | Set-Content $_
}
..\2017\Professional\...
và tôi đã chỉnh sửa nó theo cách thủ công nhưng điều này cho thấy cấu trúc thư mục mới cho năm 2017. Cảm ơn.
Ngoài câu trả lời tuyệt vời của JochemKempe, đây là cách thực hiện điều đó cho các mẫu lõi .NET.
Thay vì chỉnh sửa các mẫu bên trong \CSharp\
thư mục, bạn cần chỉnh sửa các mẫu bên trong \AspNetCore\
.
VS2019 (Doanh nghiệp) :C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\Common7\IDE\ItemTemplates\AspNetCore\Code\1033\Class\Class.cs
VS2019 (Chuyên nghiệp) :C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\Common7\IDE\ItemTemplates\AspNetCore\Code\1033\Class\Class.cs
Câu trả lời từ JochemKempe hoạt động tốt, nhưng hơi khó, vì bạn cần phải viết lại các tệp được bảo vệ trong Program Files
.
Chỉ để cập nhật câu trả lời. Các mẫu cho phiên bản Cộng đồng có trong thư mục:
c:\Program Files (x86)\Microsoft Visual Studio\2017\Community\Common7\IDE\ProjectTemplates
Nhưng có một khả năng khác để tạo các mẫu mới. Sao chép các tệp từ thư mục nguồn vào thư mục mẫu người dùng.
ví dụ: đối với ứng dụng Windows Form, nó có thể là một trong các thư mục nguồn này (đối với Visual Studio 2017 Community) :
c:\Program Files (x86)\Microsoft Visual Studio\2017\Community\Common7\IDE\ProjectTemplates\CSharp\Windows Root\Windows\1033\WindowsApplication\
c:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE\ProjectTemplates\CSharp\Windows Root\Windows\1033\WindowsApplication\
c:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE\ProjectTemplatesCache\CSharp\Windows Root\Windows\1033\WindowsApplication\
Thư mục mẫu người dùng mặc định là (dành cho Cộng đồng Visual Studio 2017) :
C:\Users\<username>\Documents\Visual Studio 2017\Templates\ProjectTemplates\
Và thư mục đích cho mẫu Ứng dụng Windows Form mới sẽ là:
C:\Users\<username>\Documents\Visual Studio 2017\Templates\ProjectTemplates\Visual C#\Windows\1033\MyWindowsApplication\
Với điều này, bạn sẽ có hai "Windows Form Application" khi tạo dự án mới. Sự khác biệt giữa hai tệp này chỉ nằm ở tên tệp mặc định. Để phân biệt rõ hơn, có thể thay đổi tên hiển thị của mẫu. Để thay đổi tên mẫu, hãy cập nhật .vstemplate
tệp.
Bản gốc csWindowsApplication.vstemplate
chứa dòng:
<Name Package="{FAE04EC1-301F-11d3-BF4B-00C04F79EFBC}" ID="2318" />
Để thay đổi tên, bạn cần thay đổi dòng thành như thế này:
<Name ID="2318">My Windows Form Application</Name>
Phần tiêu cực của giải pháp này là bạn phải đổi tên mẫu mới của mình và thêm mẫu mới vào các mẫu hiện có (ví dụ cũ 'không chính xác' sẽ vẫn còn và bạn vẫn có thể không muốn sử dụng nó) .
Nhưng cũng có một phần tốt. Bạn không cần phải là quản trị viên để thêm hoặc cập nhật ví dụ. (Không cần phải viết lại các tệp trong Program Files
thư mục.)