2014-11-11 10 views
9

W OSX, w Sublime Text 3 (build 3065), z zestawem składni JavaScript(JSX) czy tylko JSX, jestem uderzając zwykły cmd + / wypowiedzieć się zaznaczony tekst.Jak zdefiniować znaki komentarza do React JSX w Sublime Text?

Jednak ST3 jest zalegających na // komentarz znaków, gdy chcę owinąć wybór tak:

{/* foobar selected text */}

szukam tutaj, ale nie można dowiedzieć się, co do edycji:

/Users/admin/Library/Application Support/Sublime Text 3/Packages/User/JavaScript (JSX).tmLanguage

z góry dzięki! :)

+0

Dla przyszłości, [tag: JSX] jest czymś niezwiązane [Tag: reagują-JSX]. – FakeRainBrigand

Odpowiedz

9

Utwórz plik XML w Packages/User nazwie Comments.tmPreferences z następujących treści (jestem zakładając, zakres podstawowy swojego języka jest source.jsx - można go znaleźć w pliku .tmLanguage):

<?xml version="1.0" encoding="UTF-8"?> 
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> 
<plist version="1.0"> 
<dict> 
    <key>name</key> 
    <string>Comments</string> 
    <key>scope</key> 
    <string>source.jsx</string> 
    <key>settings</key> 
    <dict> 
     <key>shellVariables</key> 
     <array> 
      <dict> 
       <key>name</key> 
       <string>TM_COMMENT_START</string> 
       <key>value</key> 
       <string>// </string> 
      </dict> 
      <dict> 
       <key>name</key> 
       <string>TM_COMMENT_START_2</string> 
       <key>value</key> 
       <string>{/* </string> 
      </dict> 
      <dict> 
       <key>name</key> 
       <string>TM_COMMENT_END_2</string> 
       <key>value</key> 
       <string> */}</string> 
      </dict> 
     </array> 
    </dict> 
    <key>uuid</key> 
    <string>F9BFFF1F-1999-4722-B094-52E8AFD234D1</string> 
</dict> 
</plist> 

// pozostanie domyślny komentarz prefiks po trafieniu /, ale po wybraniu jakiś tekst i uderzył Shift/ zawiniesz go w {/* blahblahblah */}.

Jeśli chcesz, aby całkowicie pozbyć się //, zamiast używać następujących:

<?xml version="1.0" encoding="UTF-8"?> 
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> 
<plist version="1.0"> 
<dict> 
    <key>name</key> 
    <string>Comments</string> 
    <key>scope</key> 
    <string>source.jsx</string> 
    <key>settings</key> 
    <dict> 
     <key>shellVariables</key> 
     <array> 
      <dict> 
       <key>name</key> 
       <string>TM_COMMENT_START</string> 
       <key>value</key> 
       <string>{/* </string> 
      </dict> 
      <dict> 
       <key>name</key> 
       <string>TM_COMMENT_END</string> 
       <key>value</key> 
       <string> */}</string> 
      </dict> 
     </array> 
    </dict> 
    <key>uuid</key> 
    <string>F9BFFF1F-1999-4722-B094-52E8AFD234D1</string> 
</dict> 
</plist> 
+0

Dzięki! ... Wydaje się to dobre dla robienia komentarzy "{/ * * /}", ale nie dla cofania ... Twoje rozwiązanie opuszcza lokomotywy, gdy naciśniesz 'command + /' while caret jest na linii, bez wyboru. typowe zachowanie 'command + /' usuwa wszystkie znaki komentarza. Ale nie narzekam, to jest pomocne przy pisaniu .jsx –

+0

PS: dla innych ludzi: musiałem zmienić 'scope' na' source.js' zamiast 'source.jsx' aby to rozwiązanie działało. Wiem, że to zmienia zachowanie komentarzy dla plików .js, ale jako front-end dev mam do czynienia głównie z składnią .jsx. Dzięki @MattDMo, akceptując teraz swoją odpowiedź. –

+1

Dunno, jeśli będziesz na to gotowy, ale myślę, że byłoby wspaniale, gdybyś zmienił to w rzeczywistą subtelną paczkę! Dzięki za kod! – majorBummer