Eclipse 2021-06 Java 编辑器在复制和粘贴时用转义字符包围过去

Eclipse 2021-06 Java editor surrounds past with escape characters on copy and paste

我正在使用 Eclipse 2021-06 Java 编辑器,当我进行剪切和粘贴时,它会用转义字符包围过去。有解决办法吗?我的例子是:

原文:

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;

将“SELECT”粘贴到“;”在:

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,\" +\r\n"
                + "             \" pat_dob, pat_archived, pat_number, \" +\r\n"
                + "             \" min(csm_patient_clinic.pat_cli_start_date) startDate, pat_gender \" +\r\n"
                + "             \" FROM csm_patient, csm_patient_clinic \" + \r\n"
                + "             \" WHERE csm_patient.cli_id = ? \" +\r\n"
                + "                 \" AND csm_patient.cd_archived IS NULL \" +\r\n"
                + "                 \" AND csm_patient.pat_id = csm_patient_clinic.pat_id \" +\r\n"
                + "             \" GROUP BY csm_patient.pat_surname, csm_patient.pat_other_names, csm_patient.pat_id;");

在编辑菜单中禁用智能插入。

Java 编辑器有一个“智能插入模式”(编辑 > 智能插入模式),它会在粘贴到 Java 代码时尝试做一些有用的事情。

它可以做的一件事是在插入字符串时添加转义符。

您可以在首选项的“Java > 编辑器 > 键入”页面中控制智能插入操作。 “在字符串文字中”部分介绍了插入字符串的操作。 “粘贴到字符串文字时转义文本”就是这样做的。

您也可以在“编辑”菜单中关闭智能插入。