Hacktoberfest 2026:维护者为十月标记出来的 issue,仍然开放、适合新手。 浏览 Hacktoberfest issue

Quarto extension errors calling pandoc citeproc with file in iCloud storage or with ~ in directory name

未关闭
#924 0 条评论 0 个 reaction 已指派 0 人 在 GitHub 查看

维护者通常 1 天内回复

还没有人认领这个 Issue。

评估

难度
4/5
预计耗时
3-5 天
新手友好度
48/100
Issue 类型
缺陷
描述清晰度
基本清楚
活跃度
停滞
技术栈
typescript
领域
tooling

调研方向

Start with the Quarto extension's source-mode bibliography autocomplete path that invokes pandoc, using the lsp.js stack trace and the provided reproduction as entry points. Reproduce with a directory containing embedded tildes and test.qmd plus minibib.bib. Done means citation autocomplete succeeds without an Output-pane error while quarto render continues to work.

由索引模型根据 Issue 内容生成。

描述

bug vscode
Bug description

When using the quarto extension in source mode in a directory with tilde characters embedded in the path name (i.e. a directory on the path has tildes in the name like Foo/tilde~in~name/bug/ ) autocomplete for bibliography fails and spews errors into the Output pane, because the file path is mangled on call to pandoc.

stderr: 'pandoc: /Users/yourname/Foo/tildeinname/bug/minibib.bib: withBinaryFile: does not exist (No such file or directory)\n'

Somehow the ~ is getting stripped from the path before you send a modified version of the file to pandoc. It wouldn't matter except that iCloud storage uses the convention

~/Library/iCloud~md~obsidian/

and I use Obsidian to sync dir with both .md and .qmd files in it.

Note that quarto render works fine

Steps to reproduce

Create a directory tree like this Foo/tilde~in~name/bug

Note that there's a directory in there with a tilde embedded in the name. In the bug directory create test.qmd with this content

---
bibliography: minibib.bib
---

Create the file minibib.bib with valid BibLaTex content like this

@book{durkheim1995,
  title = {The {{Elementary Forms}} of {{Religious Life}}},
  author = {Durkheim, Emile},
  date = {1995-06-01},
  origdate = {1912},
}

In test.qmd type

[@d
Actual behavior

Got error in output

pandoc: /Users/name/Foo/tildeinname/bug/minibib.bib: withBinaryFile: does not exist (No such file or directory)

    at genericNodeError (node:internal/errors:983:15)
    at wrappedFn (node:internal/errors:537:14)
    at checkExecSyncError (node:child_process:930:11)
    at Object.execFileSync (node:child_process:966:15)
    at Object.func (node:electron/js2c/node_init:2:2617)
    at M8 (/Users/name/.positron/extensions/quarto.quarto-1.130.0-universal/out/lsp/lsp.js:122:14901)
    at Object.runPandoc (/Users/name/.positron/extensions/quarto.quarto-1.130.0-universal/out/lsp/lsp.js:122:43358)
    at sqe (/Users/name/.positron/extensions/quarto.quarto-1.130.0-universal/out/lsp/lsp.js:348:16)
    at oqe (/Users/name/.positron/extensions/quarto.quarto-1.130.0-universal/out/lsp/lsp.js:347:1258)
    at B3e.i.bibliographies.length.i.bibliographies.reduce.cslRefs (/Users/name/.positron/extensions/quarto.quarto-1.130.0-universal/out/lsp/lsp.js:347:688) {
  status: 1,
  signal: null,
  output: [
    null,
    '',
    'pandoc: /Users/name/Foo/tildeinname/bug/minibib.bib: withBinaryFile: does not exist (No such file or directory)\n'
  ],
  pid: 3276,
  stdout: '',
  stderr: 'pandoc: /Users/name/Foo/tildeinname/bug/minibib.bib: withBinaryFile: does not exist (No such file or directory)\n'
}

Expected behavior

Autocomplete the reference name and no error

Your environment

Version: Positron 2026.02.1+5 (693b6d13ba5d61566bec7f5a4a46126eff7bbbe1, 2026-02-10T19:05:16.756Z)
Code - OSS version: VS Code 1.106.0
OS version: Darwin arm64 25.2.0
Modes:

System Info
Item Value
CPUs Apple M1 Pro (10 x 2400)
GPU Status 2d_canvas: enabled
direct_rendering_display_compositor: disabled_off_ok
gpu_compositing: enabled
multiple_raster_threads: enabled_on
opengl: enabled_on
rasterization: enabled
raw_draw: disabled_off_ok
skia_graphite: enabled_on
trees_in_viz: disabled_off
video_decode: enabled
video_encode: enabled
webgl: enabled
webgl2: enabled
webgpu: enabled
webnn: disabled_off
Load (avg) 9, 6, 6
Memory (System) 32.00GB (1.04GB free)
Process Argv
Screen Reader no
VM 0%
Extensions (17)
Extension Author (truncated) Version
ruff cha 2026.36.0
vscode-pull-request-github Git 0.120.2
todo-tree Gru 0.0.215
vscode-edit-csv jan 0.11.8
pyrefly met 0.53.0
debugpy ms- 2025.18.0
vscode-python-envs ms- 1.16.0
jupyter ms- 2025.9.1
jupyter-keymap ms- 1.1.2
vscode-jupyter-cell-tags ms- 0.1.9
vscode-jupyter-slideshow ms- 0.1.6
air-vscode Pos 0.20.0
publisher pos 1.31.8
shiny Pos 1.3.3
quarto qua 1.130.0
code-spell-checker str 4.5.6
open-in-external-app YuT 0.11.2
主要语言
TypeScript
星标
655
派生
64
平均合并
20 小时 53 分钟
30 天内合并 PR
46

环境准备

这个项目没有提供开发容器、Dockerfile 或贡献指南,环境需要你自己搭建:先看它的 README,通用步骤见我们的新手贡献指南。

从这里开始

  1. 先读完整个 Issue,再读项目的贡献指南。
  2. 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
  3. Fork 仓库,在一个分支上完成修改。
  4. 提交 Pull Request,并在描述里引用这个 Issue 编号。

quarto-dev/quarto 的其他 Issue

查看 quarto-dev/quarto 的全部 Issue

相似的 Issue

更多 TypeScript Issue

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。