Phím mã Visual Studio không chèn một tab


332

Tôi đang sử dụng Visual Studio Code làm biên tập viên cho Unity. Tôi đã tìm kiếm trên google nhưng không thể tìm thấy bất cứ điều gì về vấn đề của tôi.

Vấn đề là đơn giản, nhấn ⇥ Tabtrong trình chỉnh sửa không làm gì. Tôi hy vọng nó sẽ chèn 4 khoảng trắng.

Bất cứ ai cũng biết những gì tôi có thể làm để có được ⇥ Tablàm việc như mong đợi?


nó lại xảy ra ở những người trong cuộc ...
Bruce Lee

8
Tôi gặp vấn đề trong đó tab sẽ chỉ tab bên ngoài trình chỉnh sửa (điều hướng giữa các thành phần UI). Khởi động lại trình soạn thảo đã sửa nó.
Rivenfall

Không trả lời các câu hỏi op, nhưng đối với bất kỳ ai khác hạ cánh ở đây sau khi tìm kiếm "tab studio trực quan không hoạt động" hoặc gặp sự cố khi nhấn Tab trong Visual Studio chọn khối thay vì thêm thụt lề. Bạn có thể tham khảo câu trả lời này của Karel Tamayo
Justin Lessard

Vẫn còn một vấn đề trong Mã v1.45.1 từ tháng 6 năm 2020. Giải pháp là xóa khóa liên kết Toggle Tab Key Moves Focuscủa Ctrl + M(xem câu trả lời của @Addison). Lạ 'tính năng'.
AlainD

Câu trả lời:


948

Tôi đã vô tình kích hoạt một chế độ khác cho phím tab. Đã sửa nó bằng cách nhấn Ctrl+ M.

Từ các tài liệu Keybinding của Visual Studio Code :

| Key      | Command                                 | Command id                       |
| Ctrl + M | Toggle Use of Tab Key for Setting Focus | editor.action.toggleTabFocusMode |

Chế độ kiểm soát tab hiện tại cũng sẽ hiển thị trên thanh trạng thái:

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


28
Đã xảy ra với tôi khi tôi cố gắng sử dụng mã sụp đổ ( Ctrl + M, Ctrl + O). Cám ơn.
tên thú vị ở đây

3
Setting Focus
madhu131313

9
Có một "Tab Moves Focus" màu xanh lá cây tươi sáng trên thanh trạng thái ở phía dưới nếu bạn nhấn nhầm Ctrl + M.
Jannunen

3
@Jannunen bạn nói đúng, thật đáng buồn cho chúng tôi, những người có màn hình 25 inch, không ai có thể nhận ra thứ nhỏ xíu đó ở góc ...
strwoc

3
Nhưng tại sao mặc dù?
hormoneberg

116

Để khắc phục sự cố

Nhấn ctrl+ M khiến ⇥ Tab phím di chuyển tiêu điểm thay vì chèn ⇥ Tab ký tự.
Tắt nó bằng cách nhấn phím tắt một lần nữa.

Để tắt phím tắt

  1. Mở "Phím tắt" bằng ctrl+ K, sau đó ctrl+ S.
    Hoặc đi đến Tệp> Tùy chọn> Phím tắt .
  2. Tìm kiếm toggle tab key moves focus.
  3. Nhấp chuột phải , Remove Keybinding.

3
Cảm ơn vì điều này! Tôi sử dụng ctrl + m-> ctrl + k-> ctrl + 0để thu gọn mã và gần như hàng ngày tôi vô tình phá vỡ chức năng của mình trước khi này :)
ttugates

Cảm ơn người đàn ông, nó thực sự hoạt động. Tôi quên rằng tôi đã nhấn các Ctrl + mphím.
iFart

Tôi vừa cài đặt MSVS 2019. Tôi không thấy Tùy chọn trong tab Tệp. ctrl-k, ctrl-s mở danh sách các đoạn. Tôi không thấy tùy chọn "chuyển đổi phím tab di chuyển tiêu điểm". Phiên bản MSVS nào bạn đang sử dụng?
riderBill

1
@riderBill - Đây là mã VS mới nhất 1.39.2 (2019-10-15). Bạn đang sử dụng Microsoft Visual Studio , không nên nhầm lẫn với Visual Studio Code .
Addison

Oh. <: ^ | Lỗi của tôi. Nhưng không (hoàn toàn) lỗi của tôi. Tôi sẽ nài nỉ "Microsoft là công ty hàng đầu trong các lựa chọn kém cho việc đặt tên sản phẩm mới." Google cũng vậy. Bạn đã bao giờ thử tìm kiếm trợ giúp trên Google Messages chưa? [Thở dài]
riderBill

70

Nhấp vào trình thám hiểm hoặc bất kỳ cửa sổ nào khác không phải là trình chỉnh sửa, sau đó nhấn Ctrl+ M, đây là lệnh "Chuyển đổi phím Tab Di chuyển tiêu điểm" trên Phím tắt.


2
Có cách nào để vô hiệu hóa "tính năng" này không?
Alexander Ryan Baggett

1
@AlexanderRyanBaggett chỉ cần gỡ bỏ keybinding
Lamelas84

17

Trong trường hợp của tôi, tôi đã làm theo lời khuyên này và thay đổi cài đặt emmet này trong vscode thành false:

"emmet.triggerExpansionOnTab": false

Tôi đã nhận được lỗi Cannot read property 'value' of null. Nó đã giải quyết vấn đề ngay lập tức.


12

Kể từ tháng 12 năm 2018 trên macOS Mojave 10.14.2 bằng VSCode 1.29.1, tính năng khóa phím mặc định cho 'Toggle Tab Key Moves Focus' được đặt thành Command+Shift+M. Nếu bạn gặp khó khăn với điều này, sử dụng tổ hợp phím đó sẽ khắc phục vấn đề.

Làm Command+K Command+Sđể kéo lên Cài đặt phím nóng và sau đó tìm kiếm Toggle Tab Key Moves Focushoặc editor.action.toggleTabFocusModenếu bạn muốn thay đổi tổ hợp phím.


1
Trên Windows, nó chỉ Ctrl+Mmặc định là Toggle Tab Key Moves Focus. Và Dan, đó là một hyperbol chút, xem xét các mặc định trong Visual Studio để định dạng một tài liệu thực sự là tổ hợp phím Ctrl + K, Ctrl + D - visualstudioshortcuts.com/2017
KymikoLoco

4

Tôi đang sử dụng mã trên xfce - đã làm như sau để khắc phục hành vi phím Tab:

Tệp -> Tùy chọn -> Cài đặt

tìm kiếm "keyboard.dispatch"

sao chép vào bảng bên phải và thay đổi giá trị từ "mã" thành "keyCode"

Tải lại mã


2

Có lẽ một chương trình khác đang can thiệp? Đóng Teamviewer đã khắc phục vấn đề cho tôi.


Tương tự cho tôi!!! Tôi không bao giờ mở TeamViewer và tôi vô tình để nó mở. Để thêm thông tin: Tôi đã có một phiên bản khác của Mã VS đang chạy và trong đó tab hoạt động tốt, trong khi ở tab khác không hoạt động. Sau khi đóng TeamViewer, tab hoạt động trong cả hai trường hợp!
Miloš Stanić

2

[Chỉnh sửa] Câu trả lời này dành cho MSVS (IDE, trái ngược với VS ). Có vẻ như Microsoft và Google đã cố gắng chọn những cái tên khó hiểu cho các sản phẩm mới. Bây giờ tôi sẽ để lại câu trả lời này, trong khi tôi (tiếp tục) tìm kiếm câu hỏi stackoverflow tương đương về MSVS . Hãy cho tôi biết trong các ý kiến ​​nếu bạn nghĩ tôi nên xóa nó. Hoặc tốt hơn, chỉ cho tôi phiên bản MSVS của câu hỏi này.

Tôi đã cài đặt MSVS 2017 gần đây. Không có gợi ý nào tôi thấy đã khắc phục vấn đề. Giải pháp tôi đã tìm ra hoạt động cho MSVS 2015 và 2017. Thêm nhận xét bên dưới nếu bạn thấy rằng nó hoạt động cho các phiên bản khác.

Trong Công cụ -> Tùy chọn -> Trình soạn thảo văn bản -> C / C ++ -> Định dạng -> Chung, hãy thử bỏ chọn hộp "Tự động thụt lề khi tôi nhập tab". Nó có vẻ phản trực giác, nhưng nó đã khắc phục vấn đề cho tôi. nhập mô tả hình ảnh ở đây


Cảm ơn bạn rất nhiều vì sửa chữa này. Nó thực sự nghiền nát bánh răng của tôi khi một phần mềm bắt đầu tự coi mình thông minh hơn người dùng - đặc biệt là khi người dùng được cho là như vậy.
Hidefromkgb

Không có gì! Phiên bản nào của MSVS giải pháp này phù hợp với bạn?
riderBill

1

Hãy chắc chắn rằng điều này KHÔNG được kiểm tra:

[] Công cụ | Tùy chọn | Trình soạn thảo văn bản | C / C ++ | Định dạng | Tự động thụt lề trên tab

Hãy cho tôi biết nếu điều này đã giúp!


Điều này có liên quan đến Visual Studio không? Câu hỏi được hỏi cho VS Code tôi đoán.
Taha Paksu

1

Đối với những người không phải là về cuộc sống thanh không gian đó (- _ -) (- _ -)

  1. Keybinding ⇥ Tab không được đặt thành bất cứ điều gì vì vậy bạn phải thực hiện thủ công

  2. Điều hướng đến Tùy chọn / Môi trường / Keybindings và tìm kiếm " tab "

  3. Nhấp vào Chỉnh sửa Binding ở dưới cùng và nhấn phím tab.

  4. Nhấn " Áp dụng " rồi " Ok "

  5. Ràng buộc chính!


1

Tất cả những điều trên thất bại đối với tôi. Nhưng tôi nhận thấy shift + ⇥ Tab làm việc như mong đợi (vượt xa dòng).

Vì vậy, tôi đã tìm kiếm lối tắt "Dòng thụt lề" (được gán cho alt+ ctrl + cmd + 0), được gán cho tab và bây giờ tôi lại vui vẻ.


Sáng hôm sau chỉnh sửa ...

Tôi cũng sử dụng tab để chấp nhận đề xuất đoạn trích, vì vậy tôi đã đặt "khi" của "Dòng thụt" thành editorTextFocus && !editorReadonly && !inSnippetMode && !suggestWidgetVisible.


1
vâng, không có gì ở trên hoặc dưới làm việc .. cảm ơn bạn
naftalimich

1

Gọi tôi là điên, nhưng tôi cũng đã từng xảy ra điều này trước đây, nơi có ứng dụng khách TeamViewer chiếm quyền điều khiển TAB. Bạn sẽ không biết điều này, cho đến khi bạn đóng cửa sổ TV mà bạn đã mở ở chế độ nền. Thật kỳ lạ, nhưng nó đã xảy ra với tôi một vài lần.


-1

Không chắc chắn bạn đang sử dụng hệ điều hành nào, nhưng có một sự cố đã biết với phím tab trên một trong những bản phát hành gần đây của Mã VS cho Mac OS X. Lỗi này đã được sửa trong bản phát hành mới nhất (0.10.9).

Trên Mac OS X, bạn có thể kiểm tra bản cập nhật mới nhất bằng cách mở Mã VS và sau đó chuyển đến [Mã> Kiểm tra cập nhật].

Nguồn và thêm thông tin:


Bản cập nhật mới nhất đã không làm điều đó cho tôi - Tôi đã phát hành bản phát hành nội bộ tháng ba và nó đã hoạt động rất tốt.
benkraus
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.