Vscode-theme-onedark: VSCode1.9の新しいスコープのテーマを修正

作成日 2017年02月03日  ·  17コメント  ·  ソース: akamud/vscode-theme-onedark

VSCode 1.9は、色付けのためのtmThemeスコープの処理方法を完全に変更しました。

現時点ではテーマ全体が壊れており、ゼロからほぼやり直す必要があります。

詳細: https

new-version-broken

最も参考になるコメント

待っている人には、バージョン1.1.0の色がバージョン1.9より前と同じになっていると思います。 VSCodeMarketplaceで更新できます。

RubyやJS / TSなど、一部の言語は新しいスコープで改善されましたが、特に1.9より前に存在しなかった不整合を見つけた場合は、報告してください。

現在欠落している言語は、Rustのように、1.9より前にサポートしていたVSCodeのプラグインに依存している言語だけだと思います。 私は1週間にわたってそれらに取り組み、それらがリリースされたらこの問題を閉じます。

忍耐をありがとう:)

全てのコメント17件

私はこれにできるだけ早く取り組んでいきます。 みんなしっかりと抱きしめて、ご不便をおかけして申し訳ありません:(

バージョン1.0.0をリリースしましたが、バージョン1.9のサポートは最小限に抑えられています。

一部の言語は、VS Codeで適切にサポートされておらず、適切な色付けができません(Javaなど)。

目の前にはまだたくさんの仕事があります。 1.9より前と同じサポートを実現できると思います。一部の言語(Pythonなど)は、前回のバージョンと比較して、現時点ではまだ非常に劣っています。 申し訳ありませんが、現在取り組んでいます。

進捗状況に応じて、この問題を更新します。

待っている人には、バージョン1.1.0の色がバージョン1.9より前と同じになっていると思います。 VSCodeMarketplaceで更新できます。

RubyやJS / TSなど、一部の言語は新しいスコープで改善されましたが、特に1.9より前に存在しなかった不整合を見つけた場合は、報告してください。

現在欠落している言語は、Rustのように、1.9より前にサポートしていたVSCodeのプラグインに依存している言語だけだと思います。 私は1週間にわたってそれらに取り組み、それらがリリースされたらこの問題を閉じます。

忍耐をありがとう:)

次のような矛盾が見つかりました。

言語:JavaScript

前:
screen shot 2017-02-07 at 7 33 48 pm

後:
screen shot 2017-02-07 at 7 34 08 pm

問題は、角かっことその中のコードにあるようです。

サンプルコードは

export default class Definition {
    constructor(def) {
        if (invalidParams(def)) {
            throw new Error('Invalid arguments provided to Lang constructor');
        }

        this.__def = def instanceof Map ? def : new Map(def);
    }

    clone = () => new Definition(new Map(this.__def));

    extend = (def) => {
        if (invalidParams(def)) {
            throw new Error(`extend requires Map`);
        }

        const extendedLang = new Map(this.__def);

        for (const [key, value] of def) {
            extendedLang.set(key, value);
        }

        return new Definition(extendedLang);
    }
}

報告してくれてありがとう!

今夜これを見て、あなたに戻ります。

修理済み。 残りの作業が完了するまで保留するので、毎日新しいバージョンでユーザーが殺到することはありません(過去にいくつかの苦情を受けました)。 これはバージョン1.2.0でリリースされます。

比較のために、

原子:
screen shot 2017-02-07 at 23 35 12

VSCode:
screen shot 2017-02-07 at 23 35 56

残念ながら、 constructorキーワードは、他の多くのアイテムの色を一緒に変更せずに選択することはできません... JSのConst宣言にも同じ問題があり、固有のスコープはありません。 VSCodeが改善された場合は、これを修正して更新します。

貢献してくれてありがとう:)

迅速な対応に感謝します!

ただし、1つの質問:const宣言は1.9より前では正しく機能していました。また、見てみると、 forループのconst宣言は正しく機能しています。 では、なぜその上のものではないのですか?

forループ内の[key, value]配列変数宣言であるため、VSCodeはそれらに固有のスコープを提供します。これを使用しました。

ただし、 extendedLang constは通常の変数として検出されます。 下の写真に示すように:

screen shot 2017-02-07 at 23 48 59

それはそれが持っている最も具体的な範囲です。 ご覧のとおり、他のスコープはどれもそれをconst宣言として検出しません。 したがって、今色を付けると、すべての変数も赤になります。
私がこれらの対立にぶつかったとき、私は選択をしなければならないので、通常、最も一般的なスコープまたは目に優しい色が勝ちます。 この場合、変数ははるかに一般的であり、定数に一致するように変数を赤にすることで、Atomの元のテーマとの違いがはるかに大きくなります。

これが以前に機能した理由については、VSCodeが以前のバージョンとはまったく異なるスコープを公開するようになりました。おそらく、この場合、変数宣言とconstsを区別する方法がありました。

constsとvariablesのスコープがまったく同じになっていることがわかります。
screen shot 2017-02-07 at 23 56 35

Atomはconstant.other.jsスコープを公開するため、カスタムカラーリングを提供できます。

詳細な説明ありがとうございます!

すべての変数タイプに一貫して色を付けるオプションを作成できますか? (赤で私は推測します)

私はAtomのテーマにできるだけ近づけるようにしています。 Atomは変数( varまたはlet )に色を付けません。それらは灰色です。 だから私はそれをそのように保ちます。

原子:
screen shot 2017-02-09 at 00 09 26

いつでもプロジェクトをフォークして、必要に応じてカスタマイズできます。MITライセンスです:)

とにかくここにバグがあります:
image
コード:

import * as styles from './mission.scss';

export default function MissionIcon({ key, title }) {
    return <i class={classnames(
        styles['mission__icon'],
        {
            [styles['mission__icon-letter']]: title.match(A_HEBREW_LETTER),
            [styles['mission__icon-first']]: !key,
        }
    )}>{title}</i>;
}

ありがとうございました!

もう少し情報を提供できますか? これはJSまたはTSファイルですか? これは反応ですか?

image
別のバグ:

  • 黄色の中括弧とセミコロン
  • グレーのデコレータ@
  • 変数の色が一貫していません(または、キーになるために意図されていますか?)
    コード:
@connect(
    ({ artists }) => ({ artists }),
    dispatch => bindActionCreators({ getArtists, getArtist, addArtist, editArtist, removeArtist }, dispatch)
)
export default class AdminArtists extends Component {

    componentWillMount = () => {
        this.props.getArtists();
    }

    render = () => {
        console.log(this.props.artists);
        return <div>

        </div>;
    }
}

@akamudそれは

このJSReactの問題を追跡するために、新しい問題を作成します。

この議論に従うために#36を使用してください。

バージョン1.2.0では、プラグインが以前と同じようにサポートされるようになりました。

その他の不一致を見つけた場合は、新しい問題を作成してください。

このページは役に立ちましたか?
0 / 5 - 0 評価