microsoft / microsoft/vscode-cpptools

Extension does not correctly handle WSL symlinks

オープン
#2,140 コメント 4 件 リアクション 1 件 担当者 0 名 GitHub で見る

まだ誰も着手していません。

bug Language Service symlinks
主要言語
TypeScript
スター
6.2k
フォーク
1.7k
平均マージ
14時間 46分
マージ済み PR(30日)
61

説明

Type: LanguageService

Describe the bug

  • OS and Version: 1803
  • WSL version: Ubuntu 18.04
  • VS Code Version: 1.24.1
  • C/C++ Extension Version: 0.17.4
  • Other extensions you installed (and if the issue persists after disabling them):
  • A clear and concise description of what the bug is.
    I want to include LLVM in a project but vscode-cpptools seems to fail to intellisense.

To Reproduce
Steps to reproduce the behavior:
c_cpp_prperties.json

{
    "configurations": [
        {
            "name": "WSL",
            "intelliSenseMode": "clang-x64",
            "compilerPath": "/usr/bin/gcc",
            "includePath": [
                "${workspaceFolder}",
                "/mnt/c/libraries/lib1/include",
                "C:/libraries/lib2/include"
            ],
            "defines": [],
            "browse": {
                "path": [
                    "${workspaceFolder}",
                    "/mnt/c/libraries"
                ],
                "limitSymbolsToIncludedHeaders": true,
                "databaseFilename": ""
            },
            "cStandard": "c11",
            "cppStandard": "c++17"
        }
    ],
    "version": 4
}

edit an C/C++ source code file and try to type this

#include <llvm/IR/Module.h>

Expected behavior
show no error read lines and make correct intellisense

Screenshots

default

Additional context
it seems that the extension do find the LLVM folder but somehow it cannot recognize it. I tried to make a soft link named "llvm" for "llvm-6.0" in /usr/include/ but it is useless.

コントリビューションガイド

コントリビューションガイドを開く

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

調査の方向性

提供された c_cpp_properties.json、WSL 構成、および #include <llvm/IR/Module.h> の例を使用して報告内容を再現します。まず、拡張機能が記載された Windows パスと WSL パス、および /usr/include/llvm シンボリックリンクをどのように処理するかを調べます。LLVM ヘッダーがエラーなく解決され、IntelliSense が正しく動作すれば完了です。

索引モデルが issue の本文から書いたものです。

評価

技術スタック
cpp, linux, vscode
領域
devtools, operating-systems
issue の種類
バグ
難易度
4/5
見積もり時間
3〜5日
活発さ
停滞
明瞭さ
説明が足りない
初心者へのやさしさ
25/100

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。