Jak ustawić kursor w każdym wierszu w vscode

107

Próbuję użyć funkcji wielu kursorów w vscode na dużym (ish) pliku. plik jest zbyt duży, aby zaznaczyć każdą linię osobno za pomocą ctrl-alt-up lub down. W sublime-text zaznaczałbym wszystko i wciskał ctrl-shift-l. Czy jest coś podobnego w vscode. Próbowałem użyć wyszukiwania wyrażenia regularnego dla ^, ale powoduje to błąd z informacją, że „Wyrażenie pasuje do wszystkiego”.

złodziejaszek
źródło

Odpowiedzi:

199

Polecenie Zaznaczenie / Dodaj kursory do końców linii altshiftiumieści kursor na każdym wierszu w bieżącym zaznaczeniu. (Do użytku na komputerach Mac optshifti)

Wskazówka: Można podciągnąć skrótu klawiaturowego arkusz referencyjnych ctrlk, ctrls(jak na te dwie kombinacje klawiszy w sekwencji). (Dla Macintosh cmdk, cmds)

ZachB
źródło
2
Kiedy spróbowałem, kursor przeszedł na koniec każdego wiersza. Szukałem początku każdej linii. Widziałem rozszerzenie, które umożliwia przypisanie klawisza do „kursora na początku wiersza”, ale zastanawiałem się, czy można to zrobić w waniliowym kodzie VS?
Tiffany
18
@Tiffany wcisnął homeklawisz po.
ZachB
3
To powinno być dla mnie oczywiste. Ale mimo wszystko dziękuję!
Tiffany
W celach informacyjnych, aby narysować kursory bez wcześniejszego zaznaczania, użyj kombinacji alt + shift + przeciągnij zaznaczenie. Osoby zaznajomione z Sublime Text wiedzą o tym, używając opcji Alt + przeciągnij zaznaczenie.
palmi
2
homedla Mac to fn+left
eibersji
22

Przytrzymaj Alt+ Shifti wybierz blok. Następnie naciśnij przycisk Endlub Right. Otrzymujesz wybrane pojedyncze linie.

Używam wersji VSCode 1.5.3 w systemie Windows.

Borys Lebeda
źródło
4
To fajna praca, ale jedna z niewielu rzeczy, których brakuje mi w wysublimowanym tekście, stara, ctrl + shift + Laby dodawać kursory do wszystkich wybranych linii
Des Horsley,
12
@DesHorsley Myślę, że szukasz alt+shift+I.
ZachB
3
@ZachB ty legenda. Dzięki!
Des Horsley
@ZachB. Proszę o odpowiedź, abym mógł to zaakceptować.
feihtthief
Jeśli zmieniłeś klawisz multi kursora na ctrlcmdzamiast, altskrót do tego to ctrl + shift + draglub cmd + shift + drag.
spodnie
11
  • Przytrzymaj Alt+ Shift+i

  • Przytrzymaj Home( fn+ ->Mac) najbardziej od prawej lub Endlewej strony ( fn+ <-Mac)

wprowadź opis obrazu tutaj

snr
źródło
Ta odpowiedź oszczędza mi dużo czasu. BTW, jak nagrywasz ten gif?
Li Jinyao
Na Macu używałem gifoxdo takich gifów.
snr
Zaoszczędzono mnóstwo czasu.
MA Salman
5

Ta funkcja jest faktycznie wywoływana split selection into linesw wielu edytorach.

  • Sublime Text używa domyślnego powiązania klawiszy, CTRLSHIFT L
  • VSCode używa ALTSHIFTI
  • W przypadku Atom faktycznie musisz edytować swoją mapę klawiszy na coś takiego
„.platform-win32 .editor, .platform-linux .editor”:
  'ctrl-shift-L': 'editor: split-selections-into-lines' 
nikhilweee
źródło
1

Zainstaluj rozszerzenie Sublime Commands .

[Sublime Commands] Dodaje polecenia z Sublime Text do VS Code: Transpose, Expand Selection to Line, Split into Lines , Join Lines.

(Nie zapomnij dodać powiązań klawiszy ze strony szczegółów rozszerzenia do swojej keybindings.json)


Czy VS Code nie ma już polecenia „podziel na linie”?

Tak , tak. Jednak różni się od tego w Sublime.

W programie VS Code po podzieleniu na wiersze zaznaczenie zostaje odznaczone, a na końcu każdego zaznaczonego wiersza pojawia się kursor (z wyjątkiem ostatniego wiersza, w którym kursor znajduje się na końcu zaznaczenia).

W Sublime, po podzieleniu na linie, kursor pojawia się na końcu każdej linii (z tym samym wyjątkiem, co w VS Code), a zaznaczenie jest dzielone na każdą linię i „przekazywane” do tej samej linii.

Bubba
źródło
Zauważ, że OP pyta, jak wykonać zadanie na vscode, ponieważ już wiedzą, jak to zrobić w sublime
alamoot
0

Mam ten sam problem, jestem przyzwyczajony do Alt + przeciągnij, aby wykonać „zaznaczanie pól” w Visual Studio, ale to nie działa w kodzie.

Na razie wydaje się niemożliwe zrobić to inaczej, niż wybierając każdą pojedynczą linię.

Jednak wtyczki powinny być wkrótce obsługiwane, więc prawdopodobnie zobaczymy wtyczkę do tego, jeśli nie zostanie zaimplementowana bezpośrednio przez firmę Microsoft.

Z forów użytkowników usługi Visual Studio:

Planujemy zaoferować obsługę wtyczek dla Visual Studio Code. Dziękujemy za zainteresowanie i więcej szczegółów znajdziesz na naszym blogu w najbliższych tygodniach. http://blogs.msdn.com/b/vscode .

Do podglądu szukamy właśnie tego typu opinii. Nie przerywaj.

Sean McBreen - członek zespołu VS Code

seg-s
źródło