来自stdin与clang的自动完成

时间:2011-07-11 06:48:32

标签: c++ c clang code-completion

我已经在Emacs中设置了一个自动完成环境,使用clang 2.8作为解析器。它运行良好,但依赖于在完成之前将当前编辑的缓冲区保存到文件。这很慢,所以我试图让clang解析一个通过stdin给它的文件而不是运气到目前为止。

解析文件时命令行I feed clang如下:

clang -cc1 -fsyntax-only -Iinclude/ -code-completion-at foo.cpp:10:20 foo.cpp

这很有效。但尝试从stdin读取失败。我试过这个:

cat foo.cpp | clang -xc++ -cc1 -fsyntax-only -Iinclude/ -code-completion-at -:10:20 -

但这使得clang终止而没有进行任何完成并打印出警告:

clang: warning: argument unused during compilation: '-cc1'
clang: warning: argument unused during compilation: '-code-completion-at'
clang: warning: argument unused during compilation: '-:10:20'

有什么想法吗?

1 个答案:

答案 0 :(得分:1)

如果您在-cc1之前指定-x c++,是否有效?