Đánh dấu các đường đã sửa đổi trong Eclipse


77

Trong netbeans, nếu tôi mở một tệp thuộc phiên bản kiểm soát, các dòng được sửa đổi sẽ được đánh dấu ở bên trái. (màu xanh lá cây cho các dòng mới và màu xanh lam cho các dòng đã sửa đổi)

Có thể có được hiệu ứng tương tự trong Eclipse không?


Câu trả lời:


146
  1. Mở cửa sổ Tùy chọn
  2. Tìm kiếm "diff"
  3. Chọn Chênh lệch nhanh
  4. Thay đổi "Sử dụng nguồn tham chiếu này" thành nhà cung cấp SCM (như CVS, SVN hoặc Git)

Theo mặc định, nó so sánh với phiên bản mới nhất trên đĩa, nếu bạn đã lưu tệp, thì không có gì khác biệt cả. Bạn phải kích hoạt so sánh với repo SCM. Tôi không chắc điều gì sẽ xảy ra nếu bạn có nhiều loại SCM vì đây chỉ là một lựa chọn duy nhất.


2
Có vẻ như để Quick Diff hiển thị git diff, dự án Eclipse cần phải là một dự án git. Nếu không, Eclipse hoạt động như thể bạn vẫn chọn "Phiên bản trên Đĩa" ở bước 4 ở trên. Vì vậy, để thực hiện git diff thay vào đó, tôi phải sử dụng "File -> Import -> Git -> Projects from Git" để tạo một dự án cho thư mục mã hiện có. Nguồn cho đề xuất này: eclipse.org/forums/index.php/mv/msg/331002/846869/#msg_846869
corlius

1
Cảm ơn Dan rất nhiều. OMG .. một tính năng tuyệt đẹp bị tắt theo mặc định! Nó làm việc cho tôi cho SVN / Subclipse trong Eclipse. LƯU Ý: Các bạn ơi .. Đừng mong đợi các dòng đầy đủ được tô sáng. Thước thẳng đứng / Thước tổng quan hiển thị màu bạn đã chọn.
siêu tân tinh

@supernova Nhưng nếu bạn nhấp vào màu thước kẻ, nó sẽ làm nổi bật văn bản. Đó là một chút khó hiểu, nhưng mơ hồ có thể sử dụng được.
Duncan Jones

1
Khi tôi nhập trình chỉnh sửa hoặc thay đổi nội dung nào đó, tôi có thể thấy các dòng tô đậm với màu sắc, nhưng khi tôi ctrl + s hoặc lưu tệp - màu sắc biến mất. Nhưng tôi muốn chúng ở lại trong khi tôi không cam kết khác biệt, như trong Netbeans. Làm thế nào để làm nó?
Oleg Abrazhaev

Nếu nó không hoạt động, hãy xóa dự án khỏi không gian làm việc (không xóa các tệp trên đĩa), sau đó nhập lại dự án.
Geoffrey

5

Với Subversive, bạn có thể thực hiện Team> Show Annotations và nó sẽ chú thích các dòng có tác giả và ngày sửa đổi cuối cùng của dòng đó.


Cảm ơn. Đây ít nhiều là những gì tôi đang tìm kiếm. Nhưng nó sẽ thực sự tuyệt vời, nếu nó chỉ hiển thị sự khác biệt giữa phiên bản hiện tại của kho lưu trữ và những thay đổi cục bộ mà tôi đã thực hiện. Có thể làm được điều đó không?
Sudar

Bạn có thể giới hạn các chú thích trong một loạt các bản sửa đổi. Việc chọn từ bản sửa đổi cuối cùng thành HEAD gần đúng với những gì bạn có thể muốn (tại tôi, HEAD..HEAD khiến Thao tác không thành công).
thSoft

4

Right-clicktrên tệp Team>> Show annotation.
Một browndải băng sẽ xuất hiện ở phía bên trái của mã (nó đại diện cho commitedcác dòng) và các modifieddòng sẽ được hiển thị trong white.


Có thể tự động chuyển đổi chú thích Nhóm khi mở mọi tệp không?
Henrique de Sousa


3

Trong Eclipse bằng cách sử dụng tính năng Diff nhanh của nó. Điều này rất dễ làm:

  1. Đi tới Window -> Preferences -> General -> Editors -> Text Editors -> Quick Diff. Đây là hộp thoại mà từ đó nó có thể được cấu hình.
  2. Bật Quick Diff, bằng cách bật tùy chọn Enable quick diff.
  3. Chọn hệ thống kiểm soát phiên bản mà Quick Diff cần thiết từ menu thả xuống Use this reference source. Git, SVN và CVS nên có mặt ở đây. Mercurial xuất hiện nếu plugin MercurialEclipse được cài đặt.
  4. Thước tổng quan là thước ở bên phải của thanh cuộn trong trình chỉnh sửa. Nếu bạn muốn thấy các dòng không cam kết được đánh dấu trên đó, hãy bật tùy chọn Show differences in overview ruler.
  5. Chọn Áp dụng và OK. Đóng tất cả các cửa sổ trình chỉnh sửa và mở lại tệp nguồn mà bạn muốn trong trình chỉnh sửa.

Bạn sẽ có thể thấy các dòng mới được thêm, sửa đổi hoặc xóa được đánh dấu bằng màu sắc trong thanh bên trái mà số dòng thường được hiển thị. Màu được sử dụng là màu được đặt trong hộp thoại Diff nhanh (xem các bước ở trên). Bạn cũng có thể xem các vị trí không được cam kết này được đánh dấu dọc theo thước tổng quan ở bên phải.


2

ít nhất hai điều bạn phải làm để làm nổi bật thay đổi dựa trên bản sửa đổi (tức là những thứ không biến mất khi tệp được lưu) hiển thị trong "thước đo tổng quan" của Eclipse khi sử dụng Git:

  1. Trước khi nhập khẩu, đảm bảo rằng Preferences> Team> Git> Projects> Automatically Share project that are located inside Git repositoriesđược kiểm tra hoặc nhập khẩu dự án vào không gian làm việc của bạn sử dụng Import...> Git> Projects from Git(như ra nhọn bởi @cornelius trong một bình luận về câu trả lời khác)
  2. Kích hoạt tính năng nhanh Diff và chọn "Một Git sửa đổi" như là nguồn tài liệu tham khảo: Preferences> Editors> Text Editors>Quick Diff

Phần nhập khẩu là sai. Trong hầu hết các trường hợp; dự án được liên kết với Git ngay cả khi không sử dụng trình hướng dẫn nhập chuyên dụng. Trong trường hợp nó bị thiếu, thực hiện Nhấp chuột phải> Nhóm> Chia sẻ trên Git trên dự án sẽ tự động tạo ràng buộc. Về việc đóng băng khi nhập, vui lòng báo cáo đó là lỗi cho bug.eclipse.org với một số bước để tái tạo.
Mickael

@Mickael Vâng, đôi khi nhập từ Maven tự động kết nối với git. Tôi có một bản cài đặt Eclipse Neon kết nối chính xác và một bản cài đặt khác thì không. Tôi không thể tìm ra sự khác biệt là gì.
David Avendasora

1
Có thể Tùy chọn> Nhóm> Git> Dự án> Tự động Chia sẻ dự án nằm bên trong kho lưu trữ Git?
Mickael

@Mickael err ... ừm ... ừ. Tôi sẽ chỉnh sửa câu trả lời của mình để phản ánh điều đó.
David Avendasora

2

Đối với phiên bản Eclipse: 2019-03 (4.11.0) Đi tới

  1. Chọn 'cửa sổ'
  2. Chọn 'Sở thích'
  3. Đi tới Chung -> Trình chỉnh sửa -> Trình chỉnh sửa văn bản -> Diff nhanh
  4. Đánh dấu vào 'Bật khác biệt nhanh'
  5. Đánh dấu vào 'Hiển thị sự khác biệt trong thước đo tổng quan'
  6. Nếu bạn muốn giữ các thay đổi sau khi lưu bản sao cục bộ của mình , thì bạn cần yêu cầu nhật thực so sánh bản sao cục bộ với phiên bản kho lưu trữ. Để làm điều đó thay đổi cho reference sourcephù hợp.

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


0

Trong eclipse cũng vậy, bạn sẽ nhận được đánh dấu dòng được thay đổi khi bạn lưu tệp. và điểm nổi bật không gì khác ngoài sự thay đổi màu sắc ở bảng điều khiển bên trái của trình chỉnh sửa trước khi bắt đầu dòng đã thay đổi đó.


Tôi tin rằng tác giả đang tìm cách để xem những dòng nào đã được thay đổi giữa các cam kết của dự án , thay vì giữa các lần lưu tệp .
Benjamin Manns

Như Benjamin đã đề cập, tôi đang tìm kiếm những thay đổi giữa các cam kết của dự án và không phải giữa các lần lưu tệp.
Sudar

xin lỗi tôi đã nghĩ giữa các lần cứu. Nhưng dù sao điều này cũng hữu ích cho những người không biết.
GuruKulki
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.