Редактор Java Eclipse 2021-06 окружает прошлое экранирующими символами при копировании и вставке

#eclipse

Вопрос:

Я использую Java-редактор Eclipse 2021-06, и когда я делаю вырезание и вставку, он окружает прошлое escape-символами. Есть ли решение для этого? Мой пример таков:

Оригинал:

 String selectQry1 = ("SELECT DISTINCT csm_patient.pat_id, pat_surname, pat_other_names,"  
                " pat_dob, pat_archived, pat_number, "  
                " min(csm_patient_clinic.pat_cli_start_date) startDate, pat_gender "  
                " FROM csm_patient, csm_patient_clinic "   
                " WHERE csm_patient.cli_id = ? "  
                    " AND csm_patient.cd_archived IS NULL "  
                    " AND csm_patient.pat_id = csm_patient_clinic.pat_id "  
                " GROUP BY csm_patient.pat_surname, csm_patient.pat_other_names, csm_patient.pat_id;");
 

Копировать:

 SELECT DISTINCT csm_patient.pat_id, pat_surname, pat_other_names,"  
                " pat_dob, pat_archived, pat_number, "  
                " min(csm_patient_clinic.pat_cli_start_date) startDate, pat_gender "  
                " FROM csm_patient, csm_patient_clinic "   
                " WHERE csm_patient.cli_id = ? "  
                    " AND csm_patient.cd_archived IS NULL "  
                    " AND csm_patient.pat_id = csm_patient_clinic.pat_id "  
                " GROUP BY csm_patient.pat_surname, csm_patient.pat_other_names, csm_patient.pat_id;
 

Вставьте «ВЫБРАТЬ» в «;» в:

 String selectQry2 = ("SELECT DISTINCT csm_patient.pat_id, pat_surname, pat_other_names, "  
                    " pat_dob, pat_archived, pat_number, "  
                    " min(csm_patient_clinic.pat_cli_start_date) startDate, pat_gender "  
                " FROM csm_patient, csm_patient_clinic "  
                " WHERE csm_patient.cli_id = ? "  
                " AND csm_patient.pat_id = csm_patient_clinic.pat_id "  
                " GROUP BY csm_patient.pat_surname, csm_patient.pat_other_names, csm_patient.pat_id;");
 

Дает:

 String selectQry2 = ("SELECT DISTINCT csm_patient.pat_id, pat_surname, pat_other_names,"  rn"
                  "             " pat_dob, pat_archived, pat_number, "  rn"
                  "             " min(csm_patient_clinic.pat_cli_start_date) startDate, pat_gender "  rn"
                  "             " FROM csm_patient, csm_patient_clinic "   rn"
                  "             " WHERE csm_patient.cli_id = ? "  rn"
                  "                 " AND csm_patient.cd_archived IS NULL "  rn"
                  "                 " AND csm_patient.pat_id = csm_patient_clinic.pat_id "  rn"
                  "             " GROUP BY csm_patient.pat_surname, csm_patient.pat_other_names, csm_patient.pat_id;");
 

Ответ №1:

Редактор Java имеет «Режим интеллектуальной вставки» (Правка > Режим интеллектуальной вставки), который пытается выполнять полезные действия при вставке в код Java.

Одна из вещей, которую он может сделать, — это добавить экранирование при вставке в строки.

Вы можете управлять действиями смарт-вставки на странице «Java > Редактор >> Ввод» в Настройках. Раздел «В строковых литералах» описывает действия для вставки в строки. «Экранирование текста при вставке в строковый литерал» — это то, что делает это.

Вы также можете просто включить интеллектуальную вставку в меню редактирования.

Ответ №2:

Отключите интеллектуальную вставку в меню «Правка».