Làm cách nào để tắt tính năng nhân bản tự động đổi tên thẻ / mã HTML của VS Code?


18

Tôi muốn có thể dễ dàng chỉnh sửa các thẻ HTML cùng nhau. Dường như với tôi đây là một điều dễ thực hiện hiện nay, vì vậy tôi đã cài đặt tiện ích mở rộng thẻ tự động đổi tên này và hóa ra nó không hữu ích cho tôi: thay vì giúp tôi chỉnh sửa mã html / jsx, nó phá vỡ mọi thứ và tôi phải hoàn tác những gì nó làm và cố gắng chỉnh sửa thứ đó để tránh kích hoạt nó.

Điều hợp lý ở đây rõ ràng là loại bỏ phần mở rộng này khỏi hệ thống của tôi. Tuy nhiên, vấn đề duy nhất ở đây là dường như tôi không thể làm điều đó - tôi đã gỡ cài đặt nó, thậm chí cài đặt lại Mã VS, đã thử Người dùng mã VS, nhưng ở đây, nó vẫn được bật:

trong hành động

Nó được tích hợp sẵn bây giờ? Làm thế nào để tôi vô hiệu hóa nó?

Phiên bản VSCode: 1.41.0, cam kết 9579eda04fdb3a9bba2750f15193e5fafe16b959


Thẻ đổi tên HTML là một tính năng khác với con trỏ gương, xem stackoverflow.com/questions/36628833/
Mark

Có, Đổi tên HTML là một tính năng khác. Nhưng Con trỏ nhân bản HTML tương tự như chức năng được cung cấp bởi tiện ích mở rộng Thẻ tự động đổi tên , nó chỉnh sửa cả thẻ HTML bắt đầu và kết thúc nếu bạn đặt con trỏ lên chúng.
Gino Mempin

Câu trả lời:


29

Câu trả lời gốc cho 1.41

Bây giờ nó là một tính năng tích hợp bắt đầu từ 1.41.

Con trỏ nhân bản HTML
https://code.visualstudio.com/updates/v1_41#_html-mirror-coder

Mã VS hiện thêm một "con trỏ gương" khi bạn đang chỉnh sửa thẻ HTML. Hành vi này được kiểm soát bởi cài đặt html.mirrorCursorOnMatchingTag, được bật theo mặc định.

Tính năng này hoạt động bằng cách thêm nhiều con trỏ vào thẻ phù hợp khi con trỏ của bạn di chuyển vào phạm vi tên thẻ HTML. Giống như trong chế độ đa con trỏ, bạn có thể sử dụng xóa từ thông minh hoặc lựa chọn từ thông minh. Con trỏ được nhân đôi sẽ bị xóa khi bạn di chuyển con trỏ ra ngoài phạm vi tên thẻ.

Về cơ bản, việc chọn thẻ bắt đầu hoặc kết thúc thẻ đặt 2 con trỏ trên mỗi thẻ, do đó, chỉnh sửa cái này cũng chỉnh sửa cái kia. Nó được kích hoạt theo mặc định.

Bạn có thể vô hiệu hóa nó từ cài đặt của bạn.

Qua giao diện người dùng:

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

Qua settings.json:

"html.mirrorCursorOnMatchingTag": false,

Cập nhật cho 1.42

Hiện html.mirrorCursorOnMatchingTagtại đã bị tắt theo mặc định bắt đầu từ 1.42 .
Xem câu trả lời khác này cho báo giá từ các ghi chú phát hành.


Cập nhật cho 1.44

Họ đã thay đổi tính năng con trỏ gương và hiện đang gọi nó là Khu vực được đồng bộ hóa .

nhập mô tả hình ảnh ở đây
(được sao chép từ ghi chú phát hành VS Code 1.44)

Khi được kích hoạt trên các thẻ HTML, nếu cả hai thẻ bắt đầu và kết thúc trở thành "được đồng bộ hóa", thì việc thay đổi một thẻ cũng thay đổi cái khác. Mặc dù vậy, tính năng này bị vô hiệu hóa và bạn thực hiện rõ ràng lệnh On Type Rename Symbol hoặc đặt editor.renameOnTypecài đặt thành true.

Với sự thay đổi này, ý html.mirrorCursorOnMatchingTagchí bây giờ sẽ hiển thị dưới dạng không dùng nữa (hoặc chuyển sang màu xám).

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


13
Tôi thấy tính năng này rất lỗi và HTML bị hỏng khi thao tác sao chép / dán. Tôi để lại nhận xét này tại đây vì các nhà phát triển mã ngăn chặn việc tạo Sự cố trên trang web của họ :( PS Có vẻ như html.mirrorCoderOnMatchingTag = false
help

7
Tính năng này cực kỳ có lỗi, tự ý thay đổi nội dung trong các thẻ khác và xóa các mảng nội dung lớn khi tôi chỉnh sửa các thuộc tính thẻ. Nó không bao giờ nên đi ra ngoài trong trạng thái này. Những thứ như thế này có nguy cơ làm hỏng một trình soạn thảo tốt, khi họ bắt đầu làm đầy nó với các tính năng nửa nướng và không được kiểm tra khi nó hoạt động tốt trước đó.
Garret Wilson

5
Tôi đồng ý với KoViMa và @Garret Wilson rằng việc triển khai tính năng này theo mặc định sẽ đặt câu hỏi về sự phán xét của nhóm phát triển Code. Tự giới thiệu về nó tại chủ đề được theo dõi của MS này: github.com/microsoft/vscode/issues/87737
VanAlbert

1
@VanAlbert, cảm ơn; Tôi đã nhận xét về vấn đề này.
Garret Wilson

1

Xem https://github.com/microsoft/vscode-docs/blob/vnext/release-notes/v1_42.md#html-mirror-coder-off-by-default với v1.42 sẽ ra mắt vào đầu tháng 2 năm 2020.

HTML Mirror Con trỏ tắt theo mặc định

Chúng tôi đã biến Mirror Cthon thành một tính năng chọn tham gia. Trong lần lặp lại sắp tới, chúng tôi sẽ tiếp tục cải thiện việc triển khai để làm cho tính năng này dễ hiểu hơn và có sẵn cho nhiều ngôn ngữ hơn. Bạn vẫn có thể sử dụng tính năng này bằng cách bật html.mirrorCursorOnMatchingTag.

----- Cập nhật tháng 3 năm 2020 ----------

Các nhà phát triển vscode đã nghe thấy bạn. Các chức năng con trỏ gương đang được sửa đổi đáng kể. Bạn có thể kiểm tra nó trong Bản dựng của Người trong cuộc ngay bây giờ để có thể nó sẽ vào v1.44 hoặc ngay sau đó.

Đặc biệt là dán vào một thẻ đã được cải thiện nhiều. Và không có con trỏ kép. Xem https://github.com/microsoft/vscode/issues/88424#issuecomment-600840619

Và ghi chú phát hành: https://github.com/microsoft/vscode-docs/blob/vnext/release-notes/v1_44.md#synced-regions Đó là trong v1.44.

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.