-1

enter image description hereVSCは一時的にのみ、そのファイルのために一時的に赤線をオフにする方法を見つけようとYAMLのlintin

をオフにします。

+0

なぜVSCはこれがYAMLの構文チェックを適用すべきだと思っているのでしょうか?コンテンツやファイル拡張子( '.sls')に基づいたYAMLファイルではありません。 – Anthon

+0

YAML構文ではありませんが、 saltstateの構文(yaml + jinja)はまだサポートされておらず、利用可能なプラグインは利用できないので、thingはYAMLです。この.sls拡張子がyamlとして読み込まれる理由は、私のfilename_associationが設定されているためです。 –

答えて

0

これはまったく有効ではありませんが、これをYAMLとして編集する場合は、 を有効なYAMLにする必要があります。エラーが発生した場合は、 の代わりに、YAML 編集モードの利点がありません。

saltstateあなたは、<{(または<<{に変更{{をあなたはblock_start_stringvariable_start_string Jinja2のは、あなたが(自然に自分のソースで発生#%###%場合や ###%#%{%を変更することができます使用して変更することができ、また、 場合アイデアを得る)。あなたが直接あなたがして、その後FireSystemLoaderに渡す Jinja2のを呼び出したい場合: block_start_string='<{'variable_start_string='#%'上記 が可能である場合、あなたは一度だけ入力ファイルを変更する必要があり、 はエディタでそれを行います。

あなたはまともなことを行うためにsaltstateを制御することができない場合、あなたはまだ は立ち往生していないが、あなたは、Python、 ruamel.yamlといくつかの サポートパッケージ(免責事項:私はそれらのパッケージの作者だ)を使用して、もう少しをしなければなりません。

from ruamel.yaml import YAML 
from ruamel.std.pathlib import Path 

yamlj2 = YAML(typ='jinja2') 
yamlrt = YAML() 
yaml_flow_style = YAML() 
yaml_flow_style.default_flow_style = True 

in_file = Path('init.sls') 
backup_file = Path('init.sls.org') 
in_file.copy(backup_file) 

data = yamlj2.load(in_file) 
with in_file.open('w') as fp: 
    # write the header with info needed for revers 
    fp.write('# ruamel.yaml.jinja2: ') # no EOL 
    yaml_flow_style.dump(yamlj2._plug_in_jinja2, fp) 
    yamlrt.dump(data, fp) 

問題のJinja2のシーケンスを変更し、ファイルに使用される実際のパターンで1行のヘッダコメントを追加するには:編集プログラムを実行する前に、次に

pip install ruamel.yaml[jinja2] ruamel.std.pathlib 

: はしてインストールします。 ファイルを編集して、init.slsファイルを編集することはできません。

saltstateを呼び出す前に、次のことを実行します:

from ruamel.yaml import YAML 
from ruamel.std.pathlib import Path 

in_file = Path('init.sls') 
yamlj2 = YAML(typ='jinja2') 
yamlrt = YAML() 
yamlnort = YAML(typ='safe') 
with in_file.open() as fp: 
    yamlj2._plug_in_jinja2 = yamlnort.load(fp.readline().split(':', 1)[1]) 
    data = yamlrt.load(fp) 
yamlj2.dump(data, in_file) 

あなたはこれらのファイルの複数を持っている場合、あなたはおそらくsys.argvのからあなた ファイル名を取りたい[1]。この2番目のPythonプログラム(すなわち、デコードと実行)から実際にsalstateプログラムを呼び出すことができます。

+0

私は無知であることを私に許して、私はVSCには新しいです。私はPythonを理解していますが、これがVSCでどのように動作するのか分かりません。 –

+0

@MoAliこれは動作しません** ** VSC内では、ファイルをYAMLに修正します.VSCで開くと、投稿された画像が示す問題は表示されません。唯一の "問題"は、塩分が塩酸塩を開始する前に変更を受け入れるか、戻すかを確認する必要があることです。あなたはサルステートを使用していると確信しています[salststack](https://en.wikipedia.org/wiki/Salt_(ソフトウェア)) – Anthon

+0

清潔さありがとう。私はソルトスタックを使用しています。 saltの.slsファイルはsaltstateと呼ばれ、したがってsaltstateと呼ばれます。 –

関連する問題