Syntaxhervorhebung für Reaktionscode in sublime


76

Ich habe angefangen, einen grundlegenden React-Code in erhabenem Text zu schreiben. So sieht meine Syntaxhervorhebung aus. Es ist teilweise hervorgehoben. Gibt es ein vorgeschlagenes großartiges Plugin, mit dem ich ein vollständiges Syntax-Highlight sehen kann?

Geben Sie hier die Bildbeschreibung ein

import React, { Component } from 'react'
import { connect } from 'react-redux'   // <-- is the glue between react and redux
import { bindActionCreators } from 'redux'
import { selectBook } from '../actions/index'

// there is no intrinsic connection between React and Redux
// they are two seperate libraries
// they are connected using a seperate library called ReactRedux

// container? its a React component that hasa direct connection to state managed by Redux
class BookList extends Component {

    constructor(props) {
        super(props)
        //this.props = props;
    }

    renderList() {
        return this.props.books.map((book) => {
            return (
                <li key={book.title} className="list-group-item">{book.title}</li>
            )
        })
    }

    render() {
        return (
            <ul className="list-group col-sm-4">
                {this.renderList()}
            </ul>
        )
    }

}

// function is the glue between react and redux
function mapStateToProps(state) {
    // Whatever gets retrieved from here will show up as props inside
    // of book-list

    return {
        books: state.books
    }
}

// anything returned from this function will end up as props on the BookList container
function mapDispatchToProps(dispatch) {
    return bindActionCreators({selectBook: selectBook}, dispatch)
}

// Promote BookList from a component to a container - it needs to know
// about this new dispatch method, selectBook. Make it available as a prop
export default connect(mapStateToProps, mapDispatchToProps)(BookList);

BEARBEITEN: [Fehlerhafte Syntax behoben, Codetext hinzugefügt]


1
Ich denke, es könnte ein Problem in Ihrem Code geben. Sie haben möglicherweise vergessen, ein Tag oder etwas anderes zu schließen.
Codesingh

Antworten:


171

Durch die Installation von babel wird die Syntaxhervorhebung behoben.

Schritte zum Installieren von babel auf sublime3:

  1. Für Windows: Drücken Sie Ctrl+ Shift+ P Für Mac: Cmd + Shift+P
  2. Dann tippen install und auswählen Package control: Install Package
  3. Dann tippen Babel und auswählen 'Babel-Snippets' . Es wird babel in wenigen Augenblicken installieren.
  4. Stellen Sie dann die Babel-Syntax im Sublime3-Editor ein von :View > Syntax > Babel > Javascript

Bei einigen Benutzern Babelfehlte in Schritt 4. Sie können zusätzlich installieren, Babel indem Sie dieselben Schritte ausführen und Babeldiese Zeit anstelle von Babel-SnippetsSchritt 3 auswählen.

Überprüfen Sie, ob ich es getestet habe:

Geben Sie hier die Bildbeschreibung ein


3
Vielen Dank. Eigentlich war ich verwirrt, weil das Babel-Paket nicht Babel heißt, sondern Babel-Snippets. Auf jeden Fall hat es bei mir funktioniert.
noi.m

2
Für Mac-Benutzer ist escmd + shift + p
NateH06

5
Es hat mit dem BabelPlugin für mich funktioniert. Mit dem Babel SnippetsPlugin wurde die Babel-Syntax nicht in der Liste angezeigt. Ich verwende Sublime Text 3 über Windows.
fsinisi90

6
Babel fehlt nach der Installation von Babel-Snippets in der Syntax. Installierte das Babel und es funktioniert.
Abdul Qadir

3
Schritt 4 oben war das fehlende Stück für mich. Ich wusste nicht, dass ich es sagen musste, um Babel zu benutzen. Danke!
Vida

4

Sie müssen das babel-sublimePlugin installieren .

Sie können es von package controlsublime installieren .

Hier ist der Link - https://github.com/babel/babel-sublime


Ich sehe die Option 'Babel' nicht in meinem Paketmanager. Haben Sie dies manuell installiert?
noi.m

Nun, es ist für erhabene 3.
Prakash Sharma

Hast du erhabenen Text 2?
Prakash Sharma

2
Ich habe sublime3. Wie oben erwähnt, heißt das Paket nicht Babel, sondern Babel-Snippets.
noi.m

Beachten Sie, dass Sie das Plugin noch aktivieren müssen, indem Sie Ansicht -> Syntax -> Babel -> Javascript wie oben erwähnt auswählen.
Kurt Peek

-1

Ich konnte dies lösen, indem ich die Syntax auf JSX setzte. Ich musste dieses Plugin nicht installieren.


4
JSX ist dafür besser als JS, aber das Babel-Plugin behandelt viele Fälle besser, z. B. <Input onChange={input.onChange} placeholder={'Type here'} />behandelt das Hervorheben der JSX-Syntax das Ganze placeholder={'Input your email'}wie eine Zeichenfolge, während das Babel-Plugin es korrekt
hervorhebt

Wie stelle ich die Syntax ein?
Naveed Hasan
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.