VSCode không tự động hoàn thành HTML


85

Tôi đang gặp sự cố với Mã Visual Studio mới được cài đặt trên Windows 7. Trên máy Mac, trình chỉnh sửa tự động đóng các thẻ html nhưng trên Win7 của tôi thì không. Tôi cho rằng phải có một số tùy chọn để bật nó lên nhưng tôi không thể tìm thấy tùy chọn nào.

Tôi đang nói về khi vd. viết <htmlintelliSense bật lên và bạn nhấp vào enter, thông thường nó sẽ tự động đưa vào </html>mỏ không hoạt động. (IntelliSense bật lên nhưng khi bạn chọn một trong các tùy chọn, nó không tự động đóng thẻ <h1> -> </h1>:)


1. bạn có thể sử dụng Thẻ tự động đóng , nó có thể đáp ứng đầy đủ yêu cầu của bạn.
jialin wang

2
2. Nhập tagname như div , sau đó nhập tab phím này hai lần, nó sẽ tự động hoàn thành thẻ whoe -----> <div> </ div>
Jialin wang

Câu trả lời:


40

Từ ghi chú phát hành 0.3.0

Tính năng tự động đóng thẻ của HTML hiện đã bị loại bỏ và thay thế bằng IntelliSense thông minh hơn trên </.


5
Ồ, đó không phải là điều tôi hy vọng. Có cách nào để đưa nó trở lại không? Sửa đổi một số tệp hoặc tải xuống thứ gì đó? Tôi muốn sử dụng VSCode nhưng với chế độ tự động hoàn thành. Cảm ơn.
Harvey3589661

56
Tôi cũng đang tìm kiếm điều này, nhưng tôi nhận thấy việc sử dụng tab hoạt động cho tôi trong 0.10.6. Ví dụ: gõ div(không có <>) sau đó nhấn tab ngay lập tức và nó sẽ vào <div></div>. Không hoàn toàn giống nhau, nhưng có thể được sử dụng. Doco cho các phím tắt này (emmet) tại đây
peterc 27/12/15

3
vâng, đó là do Emmet. Emmet chúng ta hãy nhập tên phần tử mà không có dấu ngoặc nhọn và nó sẽ thêm những gì cần thiết. Nó thực sự mạnh mẽ.
John Papa

1
Điều này không hoạt động đối với tôi trên VS Code 1.5.3. Nếu tôi nhập <div> thì </ nó không đóng / hoàn thành thẻ. Tôi còn thiếu gì ở đây không?
Michael Giovanni Pumo

2
Chỉ cần gõ divkhông <>và sau đó tab nhấn không hoạt động nữa sau khi các bản cập nhật mới nhất. Có cách nào để kích hoạt lại điều này không?
Kokodoko

170

Nhập tên thẻ (không bắt đầu <) rồi nhấn Tab

nhập ví dụ, divsau đó nhấn tab và VS sẽ chuyển đổi nó thành<div></div>

Hoặc nhập thẻ mở rồi nhấn Tab hai lần

ví dụ :

  1. kiểu <div
  2. nhấn Tab
  3. nhấn Tab

nó sẽ thêm thẻ đóng


2
Còn các thẻ tự đóng (ví dụ: <input />) thì sao?
Randall Flagg

1
chỉ cần gõ vào và nhấn Tab hai lần, VS Mã sẽ tự động hoàn thành nó để <input type = "text">
Amit Mittal

1
Chỉ muốn nói thêm rằng đây là một phần của chức năng Emmet, cho phép bạn dễ dàng tạo cấu trúc HTML phức tạp hơn, không chỉ các cặp thẻ. Ví dụ, bạn có thể đọc cái này , hoặc chỉ cần google cho Emmet.
Alex Che,

@Rabolf, bạn có thể đề cập đến một số phím tắt HMTL thú vị khác cho VS Code không?
eMad

@eMAD rất tiếc, tôi không tiếp tục sử dụng VS Code
Rabolf

52

Tôi đang gặp vấn đề tương tự, sau đó tôi thấy một cái gì đó ở dưới cùng bên phải của mã vs .. thay vì sử dụng HTML, tôi đang sử dụng Django-HTML, vì vậy tôi đã thay đổi ngôn ngữ thành html, Boom mọi thứ đều hoạt động tốt trở lại. xem hình ảnh


Gặp sự cố tương tự, nhưng trong trường hợp của tôi, tôi nhận ra rằng mình đang viết HTML vào một tệp PHP. Giả sử tôi sẽ không thể sử dụng các thẻ tự động đóng trong thời gian dài.
Prometheus

21

Đây là một thủ thuật thú vị (thực ra là viết tắt của Emmet) :

  • viết tên thẻ | ví dụh1
  • thêm dấu hoa thị sau đó | ví dụh1*
  • nhấn | (sẽ dẫn đến )Tab<h1></h1>

­

Tái bút: Điều này cũng hoạt động đối với các thẻ tự đóng, chẳng hạn như - input, imgv.v.


1
@Kokodoko Có nó không :P
ɢʀᴜɴᴛ

Đó là rất lạ ..... Tôi không chắc chắn những gì thiết lập để thay đổi để tái kích hoạt lại nó ...
Kokodoko

1
@Kokodoko, bạn nên cài đặt phần mở rộng emmet.
Sudhanshu

Điều này hoạt động, nhưng không cần phải bao gồm *. 1.21.0
Sauce

1
@BlueClouds có và bất kỳ trong số họ cung cấp hỗ trợ viết tắt html, sẽ hoạt động. Theo quy tắc chung, tôi sử dụng quy tắc có số lượt cài đặt tối đa.
Sudhanshu

15

Bạn có thể thử phần mở rộng này cho VS Code. Nó đã triển khai chức năng thẻ tự động đóng và sẽ đáp ứng yêu cầu của bạn:

  • Tự động thêm thẻ đóng khi bạn nhập vào dấu ngoặc đóng của thẻ mở
  • Sau khi chèn thẻ đóng, con trỏ sẽ nằm giữa thẻ mở và thẻ đóng

Đây là những gì tôi cần. Hoạt động giống như Brackets bây giờ, điều đó thật tuyệt. Cảm ơn!
Harvey3589661

Vâng nhưng ... nó đã được kích hoạt trong các phiên bản trước của VS Code. Đây không phải chỉ là một thiết lập ở đâu đó trong mê cung của settings.json?
Kokodoko

7

Tôi đã gặp sự cố tương tự trên Mac Sierra (10.12.6) với VSCode (1.30.2), trong khi chỉnh sửa tệp HTML. Theo tài liệu vscode https://code.visualstudio.com/docs/languages/html , intellisense sẽ hoạt động hiệu quả.

Hóa ra là "Phát hiện ngôn ngữ" (ở góc bên phải của thanh trạng thái trình chỉnh sửa ở cuối màn hình) được đặt thành Phát hiện tự động và nhận dạng tệp là django-html. Khi chuyển trở lại Html đơn giản theo cách thủ công, mọi thứ đều hoạt động.


5
  1. Nhấn Ctrl + Shift + P để mở bảng lệnh.
  2. Nhập 'Chế độ Thay đổi Ngôn ngữ' trong trình tìm kiếm.
  3. Chọn 'Thay đổi Chế độ Ngôn ngữ' .
  4. Nhập 'HTML' vào trình tìm kiếm.
  5. Và chọn 'HTML' (nó có thể được đặt thành 'django-html)

3

Nhấn 𝐜𝐭𝐫𝐥+𝐬𝐡𝐢𝐟𝐭+𝐏-> nhập 𝐂𝐡𝐚𝐧𝐠𝐞 𝐋𝐚𝐧𝐠𝐮𝐚𝐠𝐞 𝐌𝐨𝐝𝐞 -> sau đó chọn 𝐀𝐮𝐭𝐨 𝐃𝐞𝐭𝐞𝐜𝐭

Nó làm việc cho tôi.


1
Tôi không thấy điều gì mới trong câu trả lời này
Vega

2

File> Preferences> Keymaps, Tìm kiếm 'Tự động đóng' và nhấp vào cài đặt. Nếu nó không hoạt động, hãy tải lại plugin.


1

Tôi cũng gặp phải vấn đề tương tự, sau đó tôi đã gỡ cài đặt các tiện ích mở rộng không cần thiết khỏi VS Code cùng với tiện ích mở rộng JavaScript (SE) và nó đã hoạt động với tôi.


0

Nhấn Ctrl + Shift + Pđể mở lệnh. Sau đó, nhập Change Language Modelựa chọn HTMLhoặc bất kỳ ngôn ngữ mong muốn nào khác.


0

Chỉ cần kiểm tra phần cuối vscode của bạn và thay đổi chế độ ngôn ngữ thành HTML Nó có thể đang hiển thị django-html hoặc nhấp vào ctrl + shift + p để thay đổi chế độ ngôn ngữ Ảnh chụp màn hình

Bây giờ hãy nhấp vào [!] + TAB thì vậy là xong !!!

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.