一部のコンテンツを含むファイルを生成するvscode拡張機能を構築しています。私がやろうとしているのは、.editorconfig で定義されたルールを使用して、新しく作成されたファイルを vscode に強制的にフォーマットさせることです。
私は次のことをしようとしました:
fs.writeFile(file.name, file.content, (err) => {
if (err) { errors.push(err.message) }
let edit: vscode.WorkspaceEdit = new vscode.WorkspaceEdit();
const { activeTextEditor } = vscode.window;
const fileUri = vscode.Uri.file(file.name);
vscode.workspace.openTextDocument(fileUri).then((td) => {
vscode.commands.executeCommand('vscode.executeFormatDocumentProvider', fileUri, { tabSize: 50, insertSpaces: true, insertFinalNewline: true }).then((edits: vscode.TextEdit[]) => {
if (edits !== undefined) {
let formatEdit = new vscode.WorkspaceEdit();
formatEdit.set(fileUri, edits);
vscode.workspace.applyEdit(formatEdit);
vscode.workspace.saveAll();
}
},
error => console.error(error));
残念ながら、私は2つの問題に直面しました:
vscode.workspace.getConfiguration('editor')
.editorconfig ファイルで定義されているものと同じではないため、.editorconfig プロパティを取得する方法がわかりません- このアプローチは常に機能するとは限りません。フォーマットがまったく適用されない場合があります。
誰もそれを解決する方法を知っていますか?