Cách thay đổi giá trị của biến $ {user} được sử dụng trong các mẫu Eclipse


260

Thay vì mã hóa khuôn mẫu @ Tác giả mặc định, tôi muốn Eclipse sử dụng tên thật của người dùng được lấy từ thông tin tài khoản (trong Linux - nhưng giải pháp Windows cũng được hoan nghênh). Việc nhập nó vào một nơi nào đó vào cấu hình Eclipse cũng sẽ được chấp nhận, tuy nhiên, tôi không thể tìm đúng nơi.


1
Nếu bạn tò mò có thể lấy phiên bản mặc định của biến bằng cách gọi: System.getProperty ("user.name") và nơi Java lấy nó từ đó phụ thuộc vào hệ thống.
Maciej Biłas

Bài viết này cho thấy thứ tự sử dụng nhật thực để xác định giá trị của biến mà tôi thấy hữu ích. martijndashorst.com/blog/2006/04/21/ khăn
Steven Mai

Liên kết StevenMai là chết ... Dưới đây là một phiên bản lưu trữ: web.archive.org/web/20180927010751/http://...
Sometowngeek

Câu trả lời:


285

Có vẻ như cách tốt nhất của bạn là xác định lại user.namebiến java trong dòng lệnh của bạn hoặc sử dụng eclipse.initệp trong thư mục gốc cài đặt nhật thực của bạn.

Điều này dường như làm việc tốt cho tôi:

-showsplash
org.eclipse.platform
--launcher.XXMaxPermSize
256M
-vmargs
-Dosgi.requiredJavaVersion=1.5
-Duser.name=Davide Inglima
-Xms40m
-Xmx512m    

Cập nhật:

http://morlhon.net/blog/2005/09/07/eclipse-username/ là một liên kết chết ...

Đây là một cái mới: https://web.archive.org/web/20111225025454/http://morlhon.net:80/blog/2005/09/07/eclipse-username/


16
Rủi ro là điều này sẽ phá vỡ mọi trình cắm cần biết ID người dùng (là giá trị tài liệu của thuộc tính user.name). Sẽ thật tuyệt nếu có cách tốt hơn để điều chỉnh giá trị mà Eclipse sẽ sử dụng cho biến đó.
Diastrophism

30
Đối với tôi, nguyên "nhân gây ra sự cố, tôi phải làm: -Duser.name=Ron Kitayđể nó hoạt động đúng
RonK

27
Một giải pháp TỐT HƠN thậm chí sẽ dành cho Eclipse để có một biến khác, chẳng hạn như $ {lập trình viên} mà người ta có thể định nghĩa và sau đó sử dụng trong các mẫu (hoặc thậm chí cho phép mọi người tạo các biến của riêng họ!). Nhưng đây là Eclipse, thở dài.
Scott Biggie

3
Các -Duser.namephải đến sau khi các -vmargslá cờ (thử nghiệm với Eclipse Mars).
Jan Chimiak


96

Mở Eclipse, điều hướng đến Cửa sổ -> Tùy chọn -> Java -> Kiểu mã -> Mẫu mã -> Nhận xét -> Loại và sau đó nhấn nút 'Chỉnh sửa'. Ở đó bạn có thể thay đổi tên của mình trong nhận xét được tạo từ @Author $ {user} thành @Author Rajish.


41
Đó không phải là câu trả lời cho câu hỏi
Rajish

15
@Rajish: bạn hoàn toàn đúng, nhưng nó có thể là cách giải quyết hợp lý duy nhất. Sau khi đánh giá các lựa chọn, đó là những gì tôi đã làm.
Scott Biggie

13
Đây là câu trả lời tốt nhất theo quan điểm của tôi - thay vì gây rối với dòng lệnh và eclipse.ini, vốn phụ thuộc vào nền tảng và được cho là quá cồng kềnh đối với nhiệm vụ họ thực hiện, người ta thường chỉ muốn thực hiện cài đặt theo từng dự án - và thực hiện trong Các thuộc tính dự án như đề xuất ở trên có thể tại thời điểm hiện tại là cách duy nhất để làm điều đó.
amn

2
Tôi nghĩ rằng đó không phải là câu trả lời đúng bởi vì có rất nhiều ngôn ngữ và trình soạn thảo sử dụng Eclipse, không chỉ Java. Vì vậy, điều đó chỉ giải quyết vấn đề cho những người sử dụng Eclipse để chỉnh sửa Java chứ không phải tất cả các ngôn ngữ khác.
Lucas Gabriel Sánchez

4
Giải pháp này cũng không phù hợp nếu bạn đang sử dụng các định nghĩa mẫu được chia sẻ với những người dùng khác.
Christopher Barber

36
Windows > Preferences > Java > Code Style > Code Templates > Comments

nhập mô tả hình ảnh ở đây

Hoặc Mở eclipse.initệp và thêm sau đây.

-Duser.name=Sumit Singh // Your Name

nhập mô tả hình ảnh ở đây


18

Giải pháp EGit

Mọi người sẽ mong đợi việc tạo hoặc thay đổi các biến mẫu trên cơ sở dự án, không gian làm việc hoặc môi trường là một tính năng tiêu chuẩn của Eclipse. Đáng buồn thay, nó không phải là. Hơn nữa, do các plugin Eclipse có thể định nghĩa các biến và mẫu mới, nên có các plugin cung cấp giải pháp. Nếu có, chúng phải khó tìm. mmm-TemplateVariable , có sẵn trong Thị trường Eclipse, là một bước đi đúng hướng cho người dùng Maven, mang lại khả năng bao gồm phiên bản, artifactId, v.v. trong các mẫu.

May mắn thay, EGit , một công cụ Eclipse cho Git, cung cấp các phương tiện rất linh hoạt để bao gồm nhiều biến khác nhau trong các mẫu mã. Yêu cầu duy nhất là dự án của bạn sử dụng Git. Nếu bạn không sử dụng Git, nhưng nghiêm túc về phát triển phần mềm, bây giờ là thời gian để tìm hiểu ( sách Pro Git ). Nếu bạn buộc phải sử dụng một hệ thống kiểm soát phiên bản cũ, hãy thử thay đổi một số suy nghĩ.

Nhờ những nỗ lực của Harmsk , EGit 4.0 trở lên bao gồm khả năng sử dụng các giá trị khóa cấu hình Git trong các mẫu. Điều này cho phép thiết lập các giá trị mẫu dựa trên cài đặt kho lưu trữ (dự án), cài đặt người dùng (tài khoản) và / hoặc cài đặt chung (máy trạm).

Ví dụ sau đây cho thấy cách thiết lập Eclipse và Git cho máy trạm phát triển nhiều người dùng và sử dụng khóa cấu hình Git tùy chỉnh thay cho ${user}để linh hoạt hơn. Mặc dù ví dụ này dựa trên bản cài đặt Windows 10 của Mars Mars và Git cho Windows, nhưng ví dụ này có thể áp dụng cho Linux và OSX chạy Eclipse và Git bằng các công cụ dòng lệnh tương ứng của chúng.

Để tránh sự nhầm lẫn có thể có giữa user.namekhóa cấu hình của Git và thuộc tính user.namehệ thống của Java , khóa cấu hình Git tùy chỉnh - user.author- sẽ được sử dụng để cung cấp tên và / hoặc thông tin đăng nhập của tác giả.

Cấu hình mẫu

Định dạng của biến mẫu Git như sau

${<name>:git_config(<key>)}

trong đó <name>có bất kỳ tên biến tùy ý và <key>là khóa cấu hình Git có giá trị nên được sử dụng. Do đó, thay đổi mẫu Nhận xét → Loại thành

/**
 * @author ${author:git_config(user.author)}
 *
 * ${tags}
 */

bây giờ sẽ cố gắng giải quyết tên của tác giả từ user.authorkhóa cấu hình của Git . Nếu không có bất kỳ cấu hình nào nữa, mọi bình luận mới được tạo sẽ không bao gồm tên @author, vì chưa có bình luận nào được xác định.

Cấu hình Git

Từ dòng lệnh

Cấu hình hệ thống Git - Bước cấu hình này thực hiện các thay đổi đối với cấu hình toàn hệ thống của Git áp dụng cho tất cả các tài khoản trên máy trạm trừ khi bị ghi đè bởi cài đặt của người dùng hoặc kho lưu trữ. Vì các cấu hình trên toàn hệ thống là một phần của ứng dụng Git bên dưới (ví dụ: Git cho Windows), các thay đổi sẽ yêu cầu đặc quyền của Quản trị viên. Chạy Git Bash, cmd hoặc PowerShell với tư cách Quản trị viên. Lệnh sau sẽ thiết lập tác giả trên toàn hệ thống.

git config --system user.author “SET ME IN GLOBAL(USER) or REPOSITORY(LOCAL) SETTINGS”

Mục đích của tác giả người Viking này là phục vụ như một lời nhắc nhở rằng nó nên được đặt ở nơi khác. Điều này đặc biệt hữu ích khi tài khoản người dùng mới đang được sử dụng trên máy trạm.

Để xác minh cài đặt này, hãy tạo một dự án Java trống sử dụng Git hoặc mở một dự án dựa trên Git hiện có. Tạo một lớp và sử dụng Nguồn → Tạo Nhận xét thành phần từ menu ngữ cảnh, ALT-SHIFT-J hoặc bắt đầu nhận xét JavaDoc. @authorThẻ kết quả phải được theo sau bởi cảnh báo.

Các thay đổi cấu hình còn lại có thể được thực hiện mà không có đặc quyền của Quản trị viên.

Cấu hình Git Global (Người dùng) - Toàn cầu hoặc người dùng, cấu hình là những cấu hình được liên kết với một người dùng cụ thể và sẽ ghi đè lên cấu hình toàn hệ thống. Các cài đặt này áp dụng cho tất cả các dự án dựa trên Git trừ khi bị ghi đè bởi cài đặt kho lưu trữ. Nếu tên tác giả khác nhau do các loại dự án khác nhau, chẳng hạn như cho công việc, đóng góp nguồn mở hoặc cá nhân, hãy đặt thường xuyên nhất được sử dụng ở đây.

git config --global user.author “Mr. John Smith”

Khi đã cấu hình giá trị toàn cục, quay lại dự án thử nghiệm được sử dụng sớm và áp dụng nhận xét lớp. Các @authorthẻ bây giờ sẽ hiển thị các thiết lập toàn cầu.

Cấu hình kho lưu trữ Git (cục bộ) - Cuối cùng, có thể sử dụng cấu hình kho lưu trữ hoặc cấu hình cục bộ để định cấu hình tác giả cho một dự án cụ thể. Không giống như các cấu hình trước đó, một cấu hình kho lưu trữ phải được thực hiện từ bên trong kho lưu trữ. Sử dụng Git Bash, PowerShell, v.v. điều hướng vào kho lưu trữ của dự án thử nghiệm.

git config --local user.author “smithy”

Với điều này, các bình luận mới trong dự án thử nghiệm sẽ sử dụng tên tác giả được xác định cục bộ. Các dự án dựa trên Git khác, vẫn sẽ sử dụng tên tác giả toàn cầu.

Từ trong Eclipse

Các thay đổi cấu hình ở trên cũng có thể được đặt từ bên trong Eclipse thông qua Tùy chọn của nó : Nhóm → Cấu hình Git . Eclipse phải được chạy với tư cách Quản trị viên để thay đổi cấu hình Git trên toàn hệ thống.

Trong tổng

Mặc dù ví dụ này xử lý cụ thể vấn đề phổ biến nhất, đó là thay đổi ${user}, phương pháp này có thể được sử dụng để biết thêm. Tuy nhiên, cần thận trọng không sử dụng các khóa cấu hình do Git xác định, trừ khi có mục đích cụ thể.


Điều này là tốt, nhưng tại sao không chỉ sử dụng ${author:git_config(user.name)}vì nó đã là tiêu chuẩn?
RobertDeRose

@RobD - Như đã đề cập trong bài đăng (đoạn thứ 5 từ trên xuống) - để tránh nhầm lẫn. Bạn có thể tự do sử dụng bất cứ điều gì bạn muốn. Mặc dù trong môi trường sản xuất, tốt hơn là tách các mục cấu hình dự án khỏi các mục cấu hình hệ thống.
Tách

16

Thay vì thay đổi ${user}trong nhật thực, nên giới thiệu

-Duser.name=Whateverpleaseyou

trong eclipse.iniđó có mặt trong thư mục nhật thực của bạn.


3
-1 Không, eclipse.ini thậm chí được lưu dưới dạng UTF-8 không xử lý chính xác giọng Pháp như àôéù ...
Aubin

26
Điểm đăng là gì, bốn năm sau, cùng một giải pháp so với giải pháp được chấp nhận?
PhiLho

2
@Aubin thực sự ngay bây giờ Tôi đang chạy nhật thực hỗ trợ các dấu như áóë, v.v. không có vấn đề gì. Vì vậy, đây là một câu trả lời đúng và hữu ích.
Lucas Gabriel Sánchez

1
@PhiLho Câu trả lời này nhỏ gọn và súc tích, chỉ có 3 câu. Ngoài ra, liên kết trong câu trả lời được chọn bị hỏng.
johnnieb

3

dovescrywolf đưa ra lời khuyên như một bình luận về bài viết được liên kết bởi Davide Inglima

Nó rất hữu ích cho tôi trên MacOS.

  • Đóng Eclipse nếu nó được mở.
  • Mở Termnal (bash console) và làm những điều dưới đây:

    $ pwd /Users/You/YourEclipseInstalationDirectory  
    $ cd Eclipse.app/Contents/MacOS/  
    $ echo "-Duser.name=Your Name" >> eclipse.ini  
    $ cat eclipse.ini
  • Đóng Terminal và bắt đầu / mở lại Eclipse.


1

Đây là tệp mà tất cả chúng ta đang tìm kiếm (bên trong không gian làm việc Eclipse của bạn):

.plugins / org.eclipse.core.r Yoon / .sinstall / org.eclipse.jdt.ui.prefs

Bạn sẽ tìm thấy một thẻ @ Tác giả với tên bạn muốn thay đổi. Khởi động lại Eclipse và nó sẽ hoạt động.

Đối với các dấu, bạn phải sử dụng định dạng Unicode (ví dụ: '\ u00E1' cho á).

Bạn cũng có thể sửa đổi tệp 'ini' như các câu trả lời trước gợi ý hoặc đặt tên người dùng var cho một giải pháp toàn cầu. Hoặc ghi đè thẻ @ Tác giả trong menu Tùy chọn cho một giải pháp cục bộ. Đó là cả hai giải pháp hợp lệ cho vấn đề này.

Nhưng nếu bạn đang tìm kiếm tên tác giả 'đó' đang làm phiền hầu hết chúng ta, thì trong tập tin đó.


Tùy chọn này thực sự sửa đổi cài đặt được hiển thị trong tùy chọn nhật thực (xóa thẻ {user}) bằng tay.
Alfabravo

Vị trí tệp đã hết hạn đối với Eclipse Luna.
Martin Carney

Đó là trò chơi $WORKSPACE/.metadata/.plugins/org.eclipse.core.runtime/.settings/trên sao Hỏa, và cũng có trò chơi $WORKSPACE/$PROJECT/.settings/cho mỗi dự án. Như đã đề cập, đây là không gian làm việc hoặc tùy chọn dự án, có thể thoải mái chỉnh sửa bằng tay hơn (và được OP loại trừ rõ ràng).
Dirk

0

chỉnh sửa tập tin /etc/eclipse.ini, để chứa mục nhập như;

-Duser.name=myname

Khởi động lại "nhật thực" và bây giờ, khi tạo bất kỳ tệp mới nào, với trình hướng dẫn (c / c ++ / java), nó sẽ sử dụng "myname" thay cho $ {user}.


-1

Cửa sổ -> Tùy chọn -> Java -> Kiểu mã -> Mẫu mã -> Nhận xét -> Các loại Chnage the tage trước $ {user} với tên của bạn.

Trước

/**
 * @author ${user}
 *
 * ${tags}
 */

Sau

/**
 * @author Waqas Ahmed
 *
 * ${tags}
 */

nhập mô tả hình ảnh ở đây


-4

chỉ là lựa chọn khác. goto ƯU ĐÃI >> JAVA >> EDITOR >> TEMPLATE , chọn @ Tác giả và thay đổi biến $ {user}.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.