Виділення модифікованих рядків у Eclipse


77

У netbeans, якщо я відкрию файл, який знаходиться під контролем версій, рядки, які були змінені, виділяються зліва. (зелений для нових рядків та синій для змінених рядків)

Чи можна отримати подібний ефект у Eclipse?


Відповіді:


146
  1. Відкрийте вікно Налаштування
  2. Шукати "різниця"
  3. Виберіть Quick Diff
  4. Змініть "Використовувати це джерело посилання" на постачальника SCM (наприклад, CVS, SVN або Git)

За замовчуванням він порівнюється з останньою версією на диску, яка, якщо ви зберегли файл, абсолютно не відрізняється. Вам потрібно активувати порівняння з репозиторієм SCM. Я не впевнений, що трапиться, якщо у вас більше одного типу SCM, оскільки це лише один вибір.


2
Здається, що для того, щоб Quick Diff показав git diff, проект Eclipse повинен бути git-проектом. В іншому випадку Eclipse діє так, ніби ви все ще вибрали "Версію на диску" на кроці 4 вище. Отже, щоб замість цього зробити git diff, мені довелося використовувати "Файл -> Імпорт -> Git -> Проекти з Git", щоб створити проект для існуючого каталогу коду. Джерело цієї пропозиції: eclipse.org/forums/index.php/mv/msg/331002/846869/#msg_846869
cornelius

1
Велике спасибі Ден. OMG .. яка гарна функція відключена за замовчуванням! У мене це працює для SVN / Subclipse в Eclipse. ПРИМІТКА: Хлопці .. Не чекайте виділення повних рядків. Вертикальна лінійка / огляд відображає вибраний вами колір.
наднова

@supernova Але якщо натиснути кольори лінійки, це виділить текст. Котрий є трохи ненавмисним, але невизначеним для використання.
Дункан Джонс,

1
Коли я набираю текст у редакторі або щось змінюю, я бачу високі лінії з кольорами, але коли я натискаю ctrl + s або зберігаю файл - кольори зникають. Але я хочу, щоб вони залишились, поки я не виконую різницю, як у Netbeans. Як це зробити?
Олег Абражаєв

Якщо це не працює, видаліть проект із робочої області (не видаляючи файли на диску), а потім повторно імпортуйте проект.
Джеффрі

5

За допомогою Subversive ви можете виконати команду> Показати анотації, і вона буде коментувати рядки автором та датою останньої модифікації цього рядка.


Дякую. Це більш-менш те, що я шукав. Але було б дуже здорово, якби це просто показало різницю між поточною версією сховища та локальними змінами, які я вніс. Чи можна це зробити?
Судар,

Ви можете обмежити анотації діапазоном версій. Вибір з останньої версії HEAD приблизно відповідає вашому бажанню (у мене HEAD..HEAD спричиняє помилку роботи).
thSoft

4

Right-clickу файлі Team>> Show annotation.
У brownлівій частині коду з’явиться стрічка (вона представляє commitedрядки), а modifiedрядки відображатимуться в white.


Чи можливо, щоб під час відкриття кожного файлу анотації команд автоматично зникали?
Енріке де Соуза,


3

В Eclipse за допомогою функції Quick Diff. Це легко зробити:

  1. Перейдіть до Вікна -> Налаштування -> Загальне -> Редактори -> Текстові редактори -> Швидкий розбір. Це діалогове вікно, звідки його можна налаштувати.
  2. Увімкніть Quick Diff, увімкнувши цю опцію Enable quick diff.
  3. Виберіть зі спадного меню систему контролю версій, для якої потрібен Quick Diff Use this reference source. Тут повинні бути присутніми Git, SVN та CVS. Mercurial з'являється, якщо встановлено плагін MercurialEclipse.
  4. Лінійка огляду - це лінійка праворуч від смуги прокрутки в редакторі. Якщо ви хочете, щоб на ньому були позначені незакріплені рядки, увімкніть цю опцію Show differences in overview ruler.
  5. Виберіть Застосувати та Добре. Закрийте всі вікна редактора та знову відкрийте вихідний файл, який потрібно в редакторі.

Ви повинні бачити щойно додані, змінені або видалені рядки, позначені кольорами на лівій панелі, на якій зазвичай відображаються номери рядків. Використовуються кольори, встановлені в діалоговому вікні Quick Diff (див. Кроки вище). Ви також можете переглянути ці незафіксовані місця, позначені вздовж лінійки огляду праворуч.


2

Існує щонайменше дві речі, які потрібно зробити, щоб виділення на основі редагування (тобто ті, що не зникають при збереженні файлу) з’являлося в «оглядовій лінійці» Eclipse під час використання Git:

  1. Перед імпортом переконайтеся , що Preferences> Team> Git> Projects> Automatically Share project that are located inside Git repositoriesперевіряється або імпортувати проект в робочу область з допомогою Import...> Git>Projects from Git (як було зазначено @cornelius в коментарі на іншу відповідь)
  2. Включити швидкий Diff і виберіть «A Git Revision» в якості джерела: Preferences> Editors> Text Editors>Quick Diff

Частина про імпорт є абсолютно неправильною. В більшості випадків; проект зв’язується з Git навіть без використання спеціального майстра імпорту. Якщо його не вистачає, клацніть правою кнопкою миші> Команда> Поділитися на Git у проекті, щоб зробити прив'язку автоматично. Про заморожування при імпорті, повідомте про це як про помилку на bugs.eclipse.org з деякими кроками для відтворення.
Мікаель

@Mickael Так, іноді імпорт з Maven автоматично підключається до git. У мене є одна установка Eclipse Neon, яка правильно підключається, а інша - ні. Я не зміг відстежити, в чому різниця.
Девід Авендасора,

1
Можливо, Налаштування> Команда> Git> Проекти> Автоматично надавати спільний доступ до проекту, який знаходиться всередині сховищ Git?
Мікаель

@Mickael err ... hm ... так. Я відредагую свою відповідь, щоб це відобразити.
Девід Авендасора,

2

Для версії Eclipse: 2019-03 (4.11.0) Перейдіть до

  1. Виберіть "вікно"
  2. Виберіть "Налаштування"
  3. Перейдіть у розділ Загальне -> Редактори -> Текстові редактори -> Швидкий розбір
  4. Поставте галочку "Увімкнути швидку різницю"
  5. Поставте галочку "Показати відмінності в лінійці огляду"
  6. Якщо ви хочете зберегти зміни після збереження вашої локальної копії , вам потрібно сказати eclipse, щоб порівняти локальну копію з версією сховища. Для цього відповідно змініть reference source.

    введіть тут опис зображення


0

У eclipse теж ви отримаєте виділену лінію, яку змінили, доки ви збережете файл. і виділення - це не що інше, як зміна кольору на лівій панелі редактора перед початком цього зміненого рядка.


Я вважаю, що автор шукає спосіб побачити, які рядки були змінені між комітами проекту , а не між збереженнями файлів .
Бенджамін Меннс,

Як згадував Бенджамін, я шукав змін між комітами проекту, а не між збереженнями файлів.
Судар,

вибачте, я думав між збереженнями. Але в будь-якому випадку це також корисно для тих, хто не знає.
GuruKulki
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.