Nhiều con trỏ trong Visual Studio Code [đã đóng]


579

Làm thế nào bạn có thể tạo nhiều con trỏ khi chỉnh sửa trong VS Code? Tôi quan tâm đến cả macOS và Windows.


114
Chỉ cần giữ Altnút và bắt đầu nhấp vào những nơi khác nhau. Đó là nó.
tên người dùng

40
CMD + Alt + mũi tên xuống là những gì bạn muốn. stackoverflow.com/questions/30037808/ Mạnh
Valentine Bondar

4
Nếu bạn đang sử dụng máy mac, SHIFT + CTRL + DOWN / UP là những gì bạn thực sự muốn kể từ 1.14.2.
Ben Creasy

2
Ngoài ra, có vẻ như Cmd + Alt + Down được ánh xạ bởi trình soạn thảo.action.goToDeclaration theo mặc định kể từ 1.14.2
Ben Creasy

15
Thật xấu hổ khi mọi người quyết định đóng một chủ đề được quan tâm rõ ràng đến mức nó có gần 400 phiếu bầu và vẫn có khách truy cập gần 4 năm sau khi đăng. Tôi ước các biên tập viên SO sẽ thư giãn một chút và để cộng đồng phát triển và khuyến khích lẫn nhau. Tôi tò mò không biết câu trả lời thích hợp nào sẽ mọc lên với kiến ​​thức năm 2019. :(
Mike Williamson

Câu trả lời:


580

Nhấn Altvà nhấp. Điều này hoạt động trên Windows và Linux *, và nó cũng hoạt động trên Mac.

Nhiều tính năng đa con trỏ hiện có sẵn trong Visual Studio Code 0.2:

Nhiều cải tiến con trỏ
Ctrl+D( Cmd+Dtrên Mac) chọn lần xuất hiện tiếp theo của từ theo con trỏ hoặc của lựa chọn hiện tại
Ctrl+K Ctrl+Ddi chuyển con trỏ được thêm lần cuối vào lần xuất hiện tiếp theo của từ theo con trỏ hoặc của lựa chọn hiện tại
Các lệnh sử dụng matchCase theo mặc định. Nếu tiện ích tìm kiếm được mở, thì cài đặt tiện ích tìm kiếm (matchCase / matchWholeWord) sẽ được sử dụng để xác định lần xuất hiện tiếp theo
Ctrl+U( Cmd+Utrên Mac) hoàn tác hành động con trỏ cuối cùng, vì vậy nếu bạn đã thêm một con trỏ quá nhiều hoặc mắc lỗi, bạn có thể nhấn Ctrl+U( Cmd+Utrên Mac) để quay lại trạng thái con trỏ trước đó. Thêm con trỏ lên hoặc xuống ( Ctrl+Alt+Up/ Ctrl+Alt+Down) ( Cmd+Alt+Up/Cmd+Alt+Down trên Mac) hiện tiết lộ con trỏ được thêm lần cuối để giúp làm việc dễ dàng hơn với nhiều con trỏ trên hơn 1 chiều cao khung nhìn tại một thời điểm (nghĩa là chọn 300 dòng và chỉ 80 phù hợp với chế độ xem).

Điều này làm cho việc giới thiệu nhiều con trỏ dễ dàng hơn nhiều

* Xung đột cửa sổ kéo của Linux:

Một số distro (ví dụ Ubuntu) gán cửa sổ kéo đến Alt+LeftMouse, sẽ xung đột với VSCode.

Vì vậy, các phiên bản gần đây của VSCode cho phép bạn chuyển đổi giữa Alt+LeftMouseCtrl+LeftMousetrong menu Lựa chọn, như chi tiết trong câu trả lời khác .

Thay phiên, bạn có thể thay đổi các ràng buộc khóa hệ điều hành của bạn bằng cách sử dụng gsettingsnhư được đề cập trong câu trả lời khác .


20
Các phím tắt bàn phím ? Tôi nhận được rằng đó là lệnh + nhấp chuột. Nhưng đó là tổng thể .. không phải là cách nhanh chóng :(
Kiba

8
F2 hoặc Ctrl + F2 có thể giúp ích. Nhưng không tìm thấy cái gì đó như Ctrl + D.
vilicvane

13
Alt + click dường như không hoạt động trên Linux. Những gì đã làm cho tôi là Ctrl + shift + trái / phải / lên / xuống
Yonatan Simson

18
alt + shift + nhấp vào mac (2017)
Hoff

5
hmmm, ctrl + alt + lên hoặc xuống xoay màn hình của tôi (trên win10) thay vì nhiều con trỏ
Reinsbrain

158

Các con trỏ / lựa chọn nhiều từ (và nhiều dòng) trong Mã VS

Nhiều từ:

Windows / OS X:

  • Ctrl+Shift+L/ ⌘+Shift+Lchọn tất cả các phiên bản của từ được tô sáng hiện tại
  • Ctrl+D/ ⌘+Dchọn trường hợp tiếp theo ... và trường hợp tiếp theo ... vv

Đa dòng:

Đối với lựa chọn nhiều dòng , Ctrl+Alt+Down/ ⌘+Alt+Shift+Downsẽ mở rộng vị trí lựa chọn hoặc con trỏ của bạn sang dòng tiếp theo. Ctrl+Right/ ⌘+Rightsẽ di chuyển đến cuối mỗi dòng, bất kể bao lâu. Để thoát khỏi lựa chọn nhiều dòng, nhấn Esc.

Xem các phím bấm mã VS (độ nhạy hệ điều hành)


15
Ha ha trên máy của tôi, trình điều khiển video Intel có phím nóng Ctrl-Alt-Down để làm cho màn hình bị lộn ngược. Bắt tôi mất cảnh giác :) _
Kỹ sư đảo ngược

3
Tại sao không giống với SSMS (và có lẽ là Visual Studio), sử dụng Shift-Alt-Down / Up, không phải Ctrl-Alt-Down ???
Kỹ sư đảo ngược

@DaveBoltman - Tôi không biết! Nhưng bạn có thể tùy chỉnh các phím bấm.
Dave Everitt

2
Ctrl-Alt-Down làm cho màn hình của bạn bị lộn ngược? Giống như có bao nhiêu người dùng cần thiết để có một phím nóng? 🙄
GMAN

3
Để tắt phím nóng Intel câm, bạn chỉ cần nhấp chuột phải vào màn hình> Tùy chọn đồ họa> Phím nóng> Tắt
alxgb

138

Tôi gặp vấn đề với khóa ALT, cách khắc phục là thay đổi alt+clickthành một phím nóng Gnome, điều này làm tắc nghẽn đa con trỏ chọn trong VSCode, super+clickbằng cách chạy:

gsettings set org.gnome.desktop.wm.preferences mouse-button-modifier "<Super>"   

Nguồn: http://2bfox.com/articles/1529/visual-studio-code- results-to-linux /


7
+1 phương pháp này hoạt động! Chỉ cần xác minh nó với Ubuntu 14.04.05 .. Trước đó tôi đã thử dconf-editorCompizConfigthay đổi cấu hình plugin "di chuyển cửa sổ" và làm rối và gần như phá vỡ Ubuntu của tôi.
Dimitry K

2
Điều này hoạt động trong Ubuntu!
jonan.pineda

11
Sử dụng gsettings set org.cinnamon.desktop.wm.preferences mouse-button-modifier "<Super>"cho Linux Mint (Quế).
vossad01

Tuyệt vời! Hoạt động trên Ubuntu 16.04.
Bruno Gomes

1
Nếu bạn không muốn chạm vào cài đặt mặc định của hệ thống, bạn cũng có thể sử dụng "Lựa chọn> Chuyển sang CTRL + Nhấp để nhận nhiều con trỏ". Điều này hoạt động trong Linux Mint, vì vậy nó cũng hoạt động trong Ubuntu.
lsblsb

125

Tháng 5 năm 2017
Kể từ phiên bản 1.13 Thêm nhiều con trỏ với Ctrl/ Cmd+Click

VSCodecác nhà phát triển đã giới thiệu một cài đặt mới editor.multiCursorModifier, để thay đổi khóa sửa đổi để áp dụng nhiều con trỏ thành Cmd+ Clicktrên macOS và Ctrl+ Clicktrên Windows và Linux. Điều này cho phép người dùng đến từ các trình soạn thảo khác như Sublime Text hoặc Atom tiếp tục sử dụng công cụ sửa đổi bàn phím mà họ quen thuộc.

Cài đặt có thể được đặt thành:

  • ctrl/Cmd- Bản đồ Ctrltrên Windows và Cmdtrên macOS.
  • alt- Mặc định hiện có Alt.

Ngoài ra còn có một mục menu mới Sử dụng Ctrl+ Clickcho Multi-Cursortrong Selectionmenu để nhanh chóng chuyển đổi cài đặt này. nhập mô tả hình ảnh ở đây

Các cử chỉ Đi đến Định nghĩaLiên kết Mở cũng sẽ tôn trọng cài đặt này và điều chỉnh sao cho chúng không xung đột. Ví dụ: khi cài đặt là ctrl/Cmd, nhiều con trỏ có thể được thêm bằng Ctrl/ Cmd+ Clickvà mở liên kết hoặc đi đến định nghĩa có thể được gọi bằng Alt+ Click.

Với việc khắc phục sự cố # 2106, giờ đây cũng có thể xóa con trỏ bằng cách sử dụng cùng một cử chỉ trên đầu của một lựa chọn hiện có.


1
Tôi đã không hiểu tại sao Ctrl + nhấp không hoạt động. Không biết có một tùy chọn để chuyển đổi nó. :-)
ankush981

5
Thiết lập editor.multiCursorModifiertừ alt thành ctrlCmd hoạt động rất tốt. Bây giờ tất cả những gì tôi phải làm là ctrl + nhấp chuột và nó sẽ sử dụng nhiều con trỏ :) Phần lớn gracias!
protoEveachion

Tôi có thể thay đổi sang Ctrl + nhấp chuột, nó hoạt động, nhưng để đi đến định nghĩa của lớp hoặc một cái gì đó đã biến mất, làm thế nào tôi có thể sửa chữa?
Vương Trần

Đây là câu trả lời hữu ích nhất. Trong hầu hết các trình soạn thảo, CTRL + nhấp được sử dụng cho nhiều lựa chọn. Không cần phải sửa đổi hành vi của hệ điều hành để làm cho trình soạn thảo hoạt động. Tùy chọn này sửa đổi hành vi cho nhiều lựa chọn thành mẫu được sử dụng phổ biến nhất.
Ruby Racer

83

Hãy thử Ctrl+ Alt+ Shift+ ⬇ / ⬆, không có chuột hoặc giữ "alt" và nhấp vào tất cả các dòng bạn muốn.

Lưu ý : Đã thử nghiệm trên Windows.


21
CMD+ OPTION+ SHIFT+ ⬇ / ⬆hoạt động với tôi trên Mac với phiên bản 1.15.1.
Tyler Collier

2
Trên windows 10 tôi có thể làm điều đó mà không cầnshift
Pini Cheyni

2
Bạn cũng có thể sử dụng trang lên / xuống để đi nhanh hơn!
Tối đa

không có SHIFTnó đã không làm việc cho tôi thx
BartusZak

1
Tôi đã cài đặt tiện ích mở rộng Đa con trỏ thông minh với một số tính năng nâng cao, với phím tắt Cmd + Alt + (Lên / Xuống) để tạo đa con trỏ.
Daniel

47

Cmd+ Option+ Shift⬇ / ⬆hoạt động với tôi trên VSCode 1.29.1 mới nhất và OSX High Sierra 10.13.6 mới nhất, Macbook Pro.

Điều này thêm một dòng dọc lên / xuống trên màn hình, như Option+ Nhấp chuột / Kéo dọc thực hiện trong Văn bản cao siêu.

Để thêm nhiều con trỏ tại bất kỳ điểm nào trong tệp của bạn , bao gồm nhiều điểm trên cùng một dòng , hãy Cmd (or Option)+ Nhấp vào bất cứ nơi nào bạn muốn, được hiển thị trong video này . Bạn cũng có thể tìm kiếm văn bản ( Cmd+ F) lặp lại nhiều lần, sau đó nhấn Option+ Returnđể thêm con trỏ ở cuối từ MACHI.


30

Trên Ubuntu , để cho phép nhấp nhiều con trỏ, bạn sẽ cần gán lại Alt + nhấp trước, bằng cách chạy lệnh bên dưới. Điều này là do mặc định Ubuntu sử dụng chính phím tắt và nó được ưu tiên.

> gsettings set org.gnome.desktop.wm.preferences mouse-button-modifier "<Super>"

25

Trên XFCE, đi đến Applications -> Settings -> Settings editor - > xfwm4 -> easy_click(disable value)

Bây giờ bạn có thể Insert Cursorvới Alt+ Nhấp

Tôi cũng đã tắt cài đặt L / R Workspace ( ctrl+ alt+ L/R) trongSettings -> Window manager -> Keyboard


1
?? XFCE ở đây là gì?
Martian2049

1
@ Martian2049, đó là Môi trường Máy tính để bàn trên các hệ điều hành giống Unix (Linux, BSD, v.v.). Nếu bạn chưa biết điều này, có lẽ câu trả lời của tôi sẽ không hữu ích cho bạn, hãy kiểm tra các câu trả lời khác.
dung nham-dung nham

Nó hoạt động sau khi vô hiệu hóa easy_click cho tôi, cảm ơn bạn đã cứu ngày của tôi.
Mohamed M. Hagag

Nó làm việc cho tôi. Tôi đã thay đổi trong easy_click ALT thành CTRL vì ALT + nhấp là để di chuyển các cửa sổ.
millonesj

Đẹp trả lời. Nó hoạt động với tôi @ lava-lava.
abu abu

23

Kể từ phiên bản Visual Studio Code 0.10.9, giờ đây bạn có thể thực hiện Tạo nhiều con trỏ từ các dòng được chọn bằng cách chọn nhiều dòng và nhấnShift+Alt+I

Lưu ý: Điều này tương tự như Ctrl+Shift+Lchức năng của Sublime Text .

Nguồn: https://code.visualstudio.com/updates/vJanemony#_thank-you
PR có liên quan: https://github.com/Microsoft/vscode/pull/1479


1
Shift+Alt+<arrow>đã làm cho tôi. Cảm ơn!
Matt Kneiser

18

Không có ràng buộc cho chính xác những gì bạn muốn.

Điều duy nhất đến gần là Ctrl+ F2sẽ chọn tất cả chúng cùng một lúc.

Bạn có thể liên kết nó với Ctrl+ Dlàm như sau:

  • Nhấp vào File > Preferences > Keyboard Shortcuts
    Bạn sẽ thấy một khung chứa đầy các ràng buộc hiện tại và bên phải một danh sách các ràng buộc tùy chỉnh
  • Trong các ràng buộc hiện tại, tìm kiếm Ctrl+ F2và sao chép toàn bộ dòng đó và dán nó vào khung bên phải.
  • Bạn có thể phải xóa dấu phẩy ở cuối và sau đó thay đổi Ctrl+ F2thành Ctrl+ Dvà sau đó lưu tệp.

Nó sẽ trông giống như thế này:

// Place your key bindings in this file to overwrite the defaults
[
{ "key": "ctrl+d",               "command": "editor.action.changeAll",
                                    "when": "editorTextFocus" }
]

Tôi có thể làm cho nó đa dạng như, siêu phàm không .. nhấn con lăn chuột?
Miguel

@MigueI chưa tìm được cách nào để thực hiện điều đó
intrepion

Khi bạn không muốn tìm kiếm và thay thế, đây là cách hiệu quả nhất nếu bạn có hàng ngàn hàng để chỉnh sửa cùng một lúc! CÁM ƠN !
Liên kết

10

Ctrl+ Alt+ ⬇ / ⬆thêm con trỏ ở trên và dưới dòng hiện tại. Vẫn không nơi nào tốt như siêu phàm hoặc dấu ngoặc. Tôi không thể thấy bất cứ điều gì tương đương với Ctrl+ Dtrong cao siêu trong tệp phím tắt.


3
Đối với Mac, đó là: Alt + Commandvà mũi tên lên hoặc xuống.
Leniel Maccaferri

Trên Ubuntu, đây làCtrl+Shift+Up/Down
tobalr

Trong Windows dường như mặc định là "xoay màn hình".
BlaM

1
Nếu nó xoay màn hình của bạn, đó là trình điều khiển đồ họa của bạn, không phải cửa sổ. Bạn có thể tắt phím tắt đó khỏi cài đặt đồ họa.
Daniel

9

https://code.visualstudio.com/Updates

Phiên bản mới (Visual Studio 0.3.0) hỗ trợ nhiều tính năng con trỏ hơn.

Multi-cursor
Here's multi-cursor improvements that we've made.

⌘D selects the word at the cursor, or the next occurrence of the current selection.
⌘K ⌘D moves the last added cursor to next occurrence of the current selection.
The two actions pick up the matchCase and matchWholeWord settings of the find widget.
⌘U undoes the last cursor action, so if you added one cursor too many or made a mistake, press ⌘U to return to the previous cursor state.
Insert cursor above (⌥⌘↑) and insert cursor below (⌥⌘↓) now reveals the last added cursor, making it easier to work with multi-cursors spanning more than one screen height (i.e., working with 300 lines while only 80 fit in the screen).

Và cắt ngắn chọn nhiều con trỏ thay đổi thành cmd + d (giống như Văn bản siêu phàm. Lol)

Chúng tôi có thể mong đợi rằng phiên bản tiếp theo hỗ trợ tính năng thuận tiện hơn về đa con trỏ;)




4

Trong XFCE của tôi (phiên bản 4.12), nó ở trong Settings -> Window Manager Tweaks -> Accessibility.

Có một trường thả xuống Key used to grab and move windows:, đặt trường này thành None.

Alt + Nhấp vào hoạt động ngay bây giờ trong Mã VS để thêm con trỏ.


4

Bạn có thể thực hiện các thao tác sau theo menu Lựa chọn:

Ảnh chụp màn hình của menu Lựa chọn trong Mã VS

Nhấn / giữ Alt+Ctrl+Up Arrow/ Alt+Ctrl+Down Arrow theo yêu cầu để tạo đủ con trỏ, sau đó Ctrl+Dcó thể được sử dụng để mở rộng các lựa chọn.


3

Vấn đề tương tự trên Ubuntu-MATE, nhưng ở đây bạn giải quyết nó bằng cách:

gsettings set org.mate.Marco.general mouse-button-modifier "<Super>"

2

Alt + Command + Shift sẽ thêm một con trỏ vào phiên bản tiếp theo của những gì bạn đã chọn. Ví dụ: tên biến hoặc hàm


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.