Как прокомментировать код JSX в файлах .js в VSCode?


81

В отличие от webstorm, я не могу комментировать JSX-код в .jsфайлах в Visual Studio Code.


1
Вы ищете ярлык или просто как это сделать?
— erichardson30

@ erichardson30 Я бы хотел знать, как это сделать! Комментирующий ярлык заключает код, выполняя «//», но, очевидно, это не сработает. Я бы хотел вместо этого сделать "/ * * /".
— YH Eng

Ответы:


94

Вы можете закомментировать JSX до {/ ** /}

Пример :

render() {
  return (
    <div>
      <Component1 />
      {/* <Component2 /> */}
    </div>
  )
}

а затем Component2 будет закомментирован


8
Да, но есть ли способ сделать это с помощью сочетания клавиш Cmd + / shortcut?
— YH Eng

Я искал вокруг и ничего не нашел .... Я дам вам знать, когда наткнусь на что-то для быстрого доступа
— erichardson30,

1
github.com/Microsoft/vscode/issues/6461 Это то, что мне удалось найти относительно проблемы
— YH Eng

Да ... кажется, это постоянная проблема?
— erichardson30

23

Попробуйте отключить все плагины, потому что они могут изменить поведение редактора. Например, если вы используете плагин Babel ES6 / ES7 , .jsxсинтаксис комментариев редактора //вместо {/*. Вы видите здесь проблему .


Похоже, у меня была эта проблема, когда комментарии VS Code в JSX применялись в {/* */}течение нескольких недель, но затем перестали работать. Вчера я установил Babel ES6 / ES7, поэтому я просто попытался удалить его, и он не вернулся в нормальное состояние. Любая помощь?
— Джонатан Тузман



9

Команды клавиатуры ...

Ctrl + /- Windows и Linux
Cmd + /- MacOS

... теперь работают должным образом для однострочного и блочного кода, добавляя {/* */}вокруг выбранных строк.

Он был исправлен в последних сборках Visual Studio Code для инсайдеров и войдет в следующий полный выпуск.


То же сочетание клавиш работает и в Atom (что, вероятно, неудивительно, поскольку Visual Studio Code и Atom построены на электронном языке).
— Грег К.

Не могу заставить его работать в VS CODE. Вы используете какой-либо плагин, который поможет в этом?
— Jordan

У меня работает без каких-либо плагинов в самой последней общей версии VS Code.
— GollyJer

4

{/ * это работает, но только в одну строку * /}


4
Ваш ответ не отличается от уже хорошо обозначенного ответа.
— HDJEMAI

2
Многострочные комментарии, использующие этот синтаксис, у меня нормально работают ( {/*только в первой строке и */}только в последней).
— Джон Шнайдер

1
Определенно поддерживает многострочный комментарий
— Чарльз Уотсон

4

У меня была такая же проблема, пока я не преобразовал язык файлов в Typescript React (typescriptreact).

Если вы хотите настроить это как язык для всех файлов .js, добавьте его в свой settings.json (глобально или на уровне проекта в /.vscode/settings.json).

"files.associations": {
    "*.js": "typescriptreact"
  }

3

Если вы хотите прокомментировать блок синтаксиса JSX, вы можете сделать это так

{
  /* <section>
     <header><h3>Contact Form</h3></header>
     <figure>
       <Form />
     </figure>
   </section> */
}


2

В настоящее время в коде Visual Studio это можно сделать, нажав комбинацию - Shift + Alt + A и прокомментируя код "jsx", который он создает - {/ ** /} комментарии.


2

Если мы нажмем cmd + / по умолчанию vs, код будет делать однострочные комментарии, которые нельзя применить для JSX. Просто установите указанное ниже расширение кода и все будет в порядке.

vscode-language-babel


2

В React "{}" позволяет нам использовать выражения JavaScript, поэтому мы можем комментировать, как в JavaScript.

Пример:

{/* multi 
line 
comment 
*/}

{// single line comment
}

2

Я потратил несколько часов на эту проблему, и самое простое решение, которое я нашел, заключается в следующем: Да, проблема связана с установкой расширения Babel ES6 / ES7, как многие заметили, и когда вы удаляете или деактивируете его, VScode восстанавливает его нормальное поведение: Ctrl + / => Переключить комментарий строки для строки или блока, выбранного с помощью //для файлов JS, JSX, ...; Shift + Alt + A => Переключить комментарий блока для строки или блока, выбранного <!-- --> в файлах HTML, между/* */ выражениями JS и между{/* */}в файлах JSX для тегов разметки в рендеринге / возврате ... Итак, если вы хотите, чтобы расширение Babel ES6 / ES7 оставалось активным и при этом сохраняло такое поведение: вы можете параметрировать свою собственную комбинацию клавиш быстрого доступа в файле keybindings.json (File / Preferences / Keyboard Shortcuts (или Ctrl + K + S), а затем щелкните маленький значок файла в правом верхнем углу для выбора Open Keyboard Shortcuts, который открывает keybindings.json), где вы используете встроенную команду VScode "editor.action.insertSnippet" следующим образом:

[
    {
    "key": "shift+alt+a",
    "command": "editor.action.insertSnippet",
    "args": {
        "snippet": "{/*\n ${TM_SELECTED_TEXT} \n*/}$0"
    },
    "when": "editorLangId == 'javascript' && editorTextFocus && !editorReadonly"
    }
]

Поместите /nнужное место в выражении для разрыва линий и $0окончательное размещение курсора. Затем сохраните, и он работает прямо :) только в JS и JSX файлов Если вы хотите , чтобы указать другой язык просто заменить 'javascript'в "when"выражении на тот , который вы хотите из этого списка VScode Язык идентификаторами: https://code.visualstudio.com/docs / languages ​​/ identifiers # идентификаторы-неизвестного-языка И, конечно, если вам нужно другое поведение сниппета: просто замените в {/*выражении на то, что вы хотите "args".


1

Для Linux: для одной строки используйте Ctrl+/ .

А для многострочного режима выберите фрагменты в VSCode. Просто нажмите Ctrl+ Shift+A .

Оно работает. Счастливое кодирование


0

=> Чтобы прокомментировать выделенную одну или несколько строк кода:

Для машины с Windows или Linux выберите код и используйте:

  1. Ctrl + / получить шаблон комментария //
  2. Ctrl + Shift + A чтобы получить шаблон комментария {/ * * /}

Для компьютера Mac выберите код и используйте:

  1. Cmd + / получить шаблон комментария //
  2. Cmd + Shift + A чтобы получить шаблон комментария {/ * * /}

=> Чтобы раскомментировать закомментированные строки кода: просто повторите шаг, который вы использовали для комментирования.


0

Я удаляю SUBLIME BABEL JOSH PENG, и он работает

Перед: //

После:

{/ * * /}

с React JavaScript, и он РАБОТАЕТ :-)

введите описание изображения здесь


0

По-видимому, vs code не делает комментарии автоматически с использованием ctrl + /или cmd + /на jsx, поэтому нам нужно писать {/ * текст здесь * /} вручную

РЕДАКТИРОВАТЬ: удалите расширение Babel из кода vs, и комментарии jsx начнутся ctrl + /илиcmd + /

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.