如何使用.editorconfig强制VSCode格式化新创建的文档

时间:2018-03-18 16:20:18

标签: visual-studio-code vscode-extensions

我正在构建vscode扩展,它会生成包含一些内容的文件。 我正在尝试做的是强制vscode使用.editorconfig中定义的规则格式化那些新创建的文件。

我尝试过以下操作:

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));

不幸的是,我遇到了两个问题:

  1. 我不知道如何检索.editorconfig属性,因为vscode.workspace.getConfiguration('editor')与.editorconfig文件中定义的不一样
  2. 这种方法并不总是有效,有时格式不适用
  3. 有谁知道如何解决它?

0 个答案:

没有答案