Skrót klawiaturowy do komentowania linii w Sublime Text 3


170

W Sublime Text 2 można było zakomentować linię lub blok linii za pomocą Ctrl+ /i Ctrl+ Shift+ /. Zgodnie z menu Edit > Commentte skróty powinny być prawidłowe, ale w Sublime Text 3 (kompilacja 3047) wydają się już nie działać. Czy ktoś zna właściwe domyślne skróty klawiaturowe dla systemu Linux i MacOS? Czy to błąd?


3
Otwórz konsolę (Widok-> Pokaż konsolę) i zapisz w niej: sublime.log_commands(True)i naciśnij Ctrl+/i Ctrl+Shift+/. Co otrzymujesz w wyniku konsoli?
dusan

1
Kompilacja 3049 została właśnie wydana na kanale deweloperskim. Spróbuj to zainstalować i sprawdź, czy problem został rozwiązany. A tak przy okazji, na OSX tak Cmd-/nie jest Ctrl-/.
MattDMo,

6
@dusan konsola mówi command: move_to_group {"group": 6}dla Ctrl + Shift + / i command: focus_group {"group": 6}dla Ctrl + /
0x4a6f4672

1
Myślę, że zostało to naprawione w nowszych kompilacjach. Właśnie dl'ed Sublime 3 dla Ubuntu 13.10 32-bit i control + / nadal działa klawisz skrótu do komentarzy.
user137717

Odpowiedzi:


297

Wygląda na błąd: http://www.sublimetext.com/forum/viewtopic.php?f=3&t=11157&start=0

Aby obejść ten problem, przejdź do Preferences-> Key Bindings - Useri dodaj te skróty klawiszowe (jeśli używasz Linuksa):

{ "keys": ["ctrl+7"], "command": "toggle_comment", "args": { "block": false } },
{ "keys": ["ctrl+shift+7"], "command": "toggle_comment", "args": { "block": true } }

Aktualizacja : działa to również w systemie Windows 8 (patrz komentarz @ Sosi)


4
Tak, wygląda na to, że jest to błąd, ale obejście nie działa zadowalająco, przynajmniej w przypadku Linuksa (Ubuntu).
0x4a6f4672,

1
Jeśli zrobisz to sublime.log_commands(True)ponownie i naciśniesz Ctrl+/i Ctrl+Shift+/, czy nadal otrzymujesz polecenia move_to_groupi focus_group?
dusan

1
Masz rację, masz toggle_comment {"block": false}i toggle_comment {"block": true}. Jakoś to block:truepolecenie mnie irytowało, nie wydaje się działać dobrze. block:falsePolecenie działa zgodnie z oczekiwaniami.
0x4a6f4672

1
Chciałbym zauważyć, że działało to również w Sublime 3 na Win8;) dzięki!
Sos

1
toggle ma pewne problemy według css, html, js
localhoost

84

Możesz dodać następujące wiersze do Preferences / Key Bindings - User:

{ "keys": ["control+keypad_divide"],"command": "toggle_comment", "args": {"block": false} }, 
{ "keys": ["shift+control+keypad_divide"],"command": "toggle_comment", "args": {"block": true}}

Oto jak rozwiązałem problem - zamieniając „ctrl” na „control” i „/” na „keypad_divide”.


Zastanawiam się, jak wpadłeś na alternatywę controli keypad_divide?
arod

Działa na Fedorze 29, podczas gdy ctrl i 7 nie.
Asta86

To powinna być akceptowana odpowiedź, ponieważ nie jest to obejście
sebastian romero

43

To jest problem internacjonalizacji klawiatury.

Na standardowej amerykańskiej klawiaturze QWERTY, używanej w Australii, gdzie jest wykonany Sublime Text, /jest łatwo dostępna: Amerykańska klawiatura QWERTY

Nie dotyczy to wielu innych klawiatur. Weźmy na przykład niemiecką klawiaturę QWERTZ. Trzeba uderzyć SHIFT+ 7zajechać /. Dlatego komentowanie nie działa poprawnie na tych klawiaturach. Niemiecka klawiatura QWERTZ

Zmiana skrótów klawiszowych użytkownika na wymienione poniżej będzie działać na niemieckiej klawiaturze QWERTZ.

{ "keys": ["ctrl+7"], "command": "toggle_comment", "args": { "block": false } },
{ "keys": ["ctrl+shift+7"], "command": "toggle_comment", "args": { "block": true } }

Jeśli problemy występują przy wciąż innym układzie klawiatury, zmień odpowiednio przypisania klawiszy.


1
Dzięki - pomogli mi to zrozumieć kompletnie!
Tobias Hochgürtel

16

Możesz naprawić ten błąd przez:

[
   { "keys": ["ctrl+keypad_divide"], "command": "toggle_comment", "args": { "block": false } },
   { "keys": ["ctrl+shift+keypad_divide"], "command": "toggle_comment", "args": { "block": true } },
]

pozwala komentować za pomocą CTRL+ /i CTRL+ SHIFT+, / a można używać /na klawiaturze =)


11

To zadziałało dla mnie.

cmd + /

Jestem na Mac OS X El Capitan. Sublime Text 3 (stabilna kompilacja 3114).


8

Ja też jestem pod Linuksem. Dla mnie działa to tylko wtedy, gdy naciskam CTRL+ SHIFT+ /i jest to pojedynczy komentarz, a nie blokowy. Powodem jest to, aby osiągnąć /znak, muszę wcisnąć SHIFT, jeśli nie, wysublimowany tekst wykrywa, że ​​nacisnąłem CTRL+ :.

Oto moje rozwiązanie, aby przywrócić normalne preferencje. Napisz w Key Bindings - User:

{ "keys": ["ctrl+:"], "command": "toggle_comment", "args": { "block": false } }, { "keys": ["ctrl+shift+:"], "command": "toggle_comment", "args": { "block": true } }


7

Na OSX Yosemite, naprawiłem to przechodząc System Preferences, Keyboard, a następnie Shortcuts. Pod App Shortcuts, wyłącz, Show Help menuktóry był powiązany z CMD+ SHIFT+ 7.

ustawienia klawiatury

Mój układ klawiatury to norweski, z angielskim jako językiem systemu operacyjnego.


To rozwiązuje problem z międzynarodowymi klawiaturami na OSX
Skatox


4

W przypadku brazylijskich klawiatur ABNT Ctrl+, ;aby skomentować i powtórz, aby usunąć komentarz.


4

Na klawiaturze mojego notebooka, ABNT 2, mogę używać skrótu CTRL+ ;jako domyślnej akcji komentowania bloków i linii. Ten sam skrót do odkomentowania.


Wygląda na to, że klawiatura nie została odpowiednio zrekonstruowana. Dziwne, że klawisz "/" - działa normalnie podczas pisania, ale nie dla skrótu.
mathiasfk


2

Użyj Ctrl+ / dla komentarzy w jednym wierszu i
Ctrl+ Alt+ / dla komentarzy blokowych lub wielowierszowych.



1

Upewnij się, że plik jest rozpoznawanym typem. Miałem otwarty plik yaml (bez rozszerzenia .yaml) i Sublime Text rozpoznał go jako zwykły tekst. Zwykły tekst nie ma metody komentowania. Zmiana typu pliku na YAML sprawiła, że ​​skrót komentarza działał.


1

Miałem ten sam problem. Sprawdź za pomocą polecenia sublime.log_input (True) na konsoli, aby zobaczyć, jakie klucze są wykrywane za pomocą CTRL+ /i SHIFT+ CTRL+ / shorcuts. Następnie zamień skróty na te. (Zmiana / dla keypad_divide działała dla mnie)


1

Dla mnie na Mac OS Sierra:

{ "keys": ["super+forward_slash"], "command": "toggle_comment", "args": { "block": true } }, { "keys": ["super+alt+:"], "command": "toggle_comment", "args": { "block": false } },

1

Sublime 3 dla Windows:

Dodaj tagi komentarza -> CTRL+ SHIFT+ ;
Cała linia staje się linią komentarza -> CTRL+;


1

Na moim Macu skrót to ⌘cmd+, /który tworzy komentarz wieloliniowy, ale jako pojedyncze linie:

// if ($username && $password) {
//  echo "You are good to go";
// } else {
//  echo "Fields cannot be blank";
// }

LUB

⌥ alt+ ⌘cmd+, /a rezultatem jest ogólny komentarz, od początku selekcji do końca.

/*
if ($username && $password) {
    echo "You are good to go";
} else {
    echo "Fields cannot be blank";
}
*/

1

Wolę naciskać, Ctrl + /aby (od) komentować bieżący wiersz. Dodatkowo chcę, aby kursor przesunął się w dół o jedną linię, w ten sposób mogę łatwo skomentować kilka linii. Jeśli zainstalujesz wtyczkę „Chain of Command”, możesz połączyć te dwie operacje:

[
    { 
        "keys": ["ctrl+keypad_divide"], 
        "command": "chain",
        "args": {
            "commands": [
                ["toggle_comment", { "block": false }],
                ["move", {"by": "lines", "forward": true}]
            ]
        }
    }
]

0

Na wypadek, gdyby ktoś miał dalsze problemy z Sublime 3 na Windows 7, wszystkie powyższe sugestie nie zadziałały. Jednak gdy 1 - ponownie uruchomiłem aplikację jako administrator i 2 - podświetlone i wybrałem Edycja -> Komentarz -> przełącz komentarz, później mogłem użyć preferencji użytkownika, aby ustawić przypisywanie klawiszy, aby przełączać komentarze. Naprawdę nie mam wyjaśnienia, dlaczego to zadziałało, poza tym, że zadziałało.


0

Otwórz Sublime Text 3 i przejdź do menu Preferences i kliknij Key Bindings, a następnie wklej ten kod, aby utworzyć skrót komentarza za pomocą CTRL+ D.

[{ "keys": ["ctrl+d"],"command": "toggle_comment", "args": {"block": false}},]

następnie zapisz go. teraz możesz użyć skrótu.



0

To działało dobrze dla mnie na Win 10:

    [{ "keys": ["ctrl+7"], "command": "toggle_comment", "args": { "block": false } },
{ "keys": ["ctrl+shift+7"], "command": "toggle_comment", "args": { "block": true } }
]

zwróć uwagę, że „[]” są niepotrzebne i jeśli je przegapisz, spowoduje to błąd.


0

Jeśli skrót ctrl+ ?, ctrl+ shift+ ?lub ctrl+ /nie działa, spróbuj przełączyć się na inny, na przykład ctrl+ 1, ctrl+ shift+ 1, u mnie zadziałał.

{"keys": ["ctrl + 1"], "command": "toggle_comment", "args": {"block": false}}, {"keys": ["ctrl + shift + 1"], " polecenie ":" toggle_comment "," args ": {" block ": true}}



0

Mogę się spóźnić na imprezę, ale od mojej wersji 3176 wygląda na to, że błąd został naprawiony. Właśnie użyłem Ctrl + T i zadziałało dla pliku CSS (Kubuntu 18.10)

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.