Compare commits

..
Author SHA1 Message Date
Sean McManus f8d7cdf149 Filter out unknown extensions for didCreate/Delete. 2021-06-21 15:13:13 -07:00
37 changed files with 97 additions and 164 deletions
+2 -25
View File
@@ -1,26 +1,12 @@
# C/C++ for Visual Studio Code Change Log
## Version 1.5.1: July 9, 2021
### Bug Fixes
* cppvsdbg Debugging becomes no-op between 1.4.1 and 1.5.0 [#7808](https://github.com/microsoft/vscode-cpptools/issues/7808)
## Version 1.5.0: July 8, 2021
### New Feature
* Add the "Inline macro" code action. [#4183](https://github.com/microsoft/vscode-cpptools/issues/4183)
* Add a Windows ARM64 debugger. [PR #7798](https://github.com/microsoft/vscode-cpptools/pull/7798)
## Version 1.5.0-insiders: June 14, 2021
### Enhancements
* Add auto-detection of clang compilers on Windows (and different versions of cl.exe). [#6718](https://github.com/microsoft/vscode-cpptools/issues/6718)
* Stop adding .cu files to `files.associations` (switch to using setTextDocumentLanguage). [#7359](https://github.com/microsoft/vscode-cpptools/issues/7359)
* Add "Symbol Options" for CppVsdbg to configure symbol settings [PR #7680](https://github.com/microsoft/vscode-cpptools/pull/7680)
* Update CppVsdbg to use newer CppEE and msdia.
### Bug Fixes
* Fix switch header/source not checking `files.exclude`. [#4429](https://github.com/microsoft/vscode-cpptools/issues/4429)
* Fix code folding causing `} else if` lines to be hidden. [#5521](https://github.com/microsoft/vscode-cpptools/issues/5521)
* Add abort handling to recursive includes directory iteration. [#6461](https://github.com/microsoft/vscode-cpptools/issues/6461)
* Fix include completion with recursive includes in header files. [#6842](https://github.com/microsoft/vscode-cpptools/issues/6842)
* Add the get-task-allow entitlement to macOS binaries to enable call stacks to be obtained when SIP is enabled. [#7412](https://github.com/microsoft/vscode-cpptools/issues/7412)
* Fix Find All References reporting certain references in headers as inactive. [#7609](https://github.com/microsoft/vscode-cpptools/issues/7609)
* Fix IntelliSense process crash and tag parser failure with columns > 65535. [#7621](https://github.com/microsoft/vscode-cpptools/issues/7621)
* Fix incorrect localization translations.
@@ -30,18 +16,9 @@
* Change references of "OS X" to "macOS".
* Tyler Davis (@TylerADavis) [PR #7636](https://github.com/microsoft/vscode-cpptools/pull/7636)
* Prevent the root path from being added to the `browse.path`. [#7648](https://github.com/microsoft/vscode-cpptools/issues/7648)
* Fix a configuration squiggle when `${workspaceFolder}` is used with `compilerPath`. [#7649](https://github.com/microsoft/vscode-cpptools/issues/7649)
* Fix configuration squiggle when `${workspaceFolder}` is used with `compilerPath`. [#7649](https://github.com/microsoft/vscode-cpptools/issues/7649)
* Fix an issue causing editorConfig not to be used or cached. [PR #7666](https://github.com/microsoft/vscode-cpptools/pull/7666)
* Fix document symbols nesting with templates. [#7673](https://github.com/microsoft/vscode-cpptools/issues/7673)
* Fix include paths not being found when the paths start with /D or /I. [#7701](https://github.com/microsoft/vscode-cpptools/issues/7701), [#7757](https://github.com/microsoft/vscode-cpptools/issues/7756)
* Fix Find All References on a global variable giving incorrect references to local variables. [#7702](https://github.com/microsoft/vscode-cpptools/issues/7702)
* Fix `vcFormat` not working near the end of the file with UTF-8 characters > 1 byte. [#7704](https://github.com/microsoft/vscode-cpptools/issues/7704)
* Fix a configuration squiggle for a recursively resolved `forcedInclude`. [PR #7722](https://github.com/microsoft/vscode-cpptools/pull/7722)
* Fix `Build and Debug Active File` for certain file extensions (.cu, .cp, etc.).
* jogo- (@jogo-) [PR #7726](https://github.com/microsoft/vscode-cpptools/pull/7726)
* Fix `browse.path` being incorrect if an invalid `compileCommands` is set. [#7737](https://github.com/microsoft/vscode-cpptools/issues/7737)
* Fix an incorrect error message when `C_Cpp.errorSquiggles` is `"Enabled"`. [#7744](https://github.com/microsoft/vscode-cpptools/issues/7744)
* Fix compiler querying sometimes not working with Cygwin. [#7751](https://github.com/microsoft/vscode-cpptools/issues/7751)
* Fix a duplicate IntelliSense update when a new C/C++ file is opened and after switching from a non-C/C++ file and back.
* Fix a potential IntelliSense process crash on shutdown.
-1
View File
@@ -946,7 +946,6 @@ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
IN THE SOFTWARE.
---------------------------------------------------------
---------------------------------------------------------
@@ -37,4 +37,4 @@
"no.compilers.found": "系统上未找到任何 C++ 编译器。对于你的平台,建议使用编辑器中的说明安装 {0}。",
"compilers.found": "我们在系统上发现了以下 C++ 编译器:",
"compilers.found.message": "可在项目的 IntelliSense 配置中指定要使用的编译器。"
}
}
@@ -212,6 +212,5 @@
"nvcc_host_compiler_not_found": "找不到 nvcc 主机编译器: {0}",
"invoking_nvcc": "正在使用命令行调用 nvcc: {0}",
"nvcc_host_compile_command_not_found": "在 nvcc 的输出中找不到主机编译命令。",
"unable_to_locate_forced_include": "找不到 forced include: {0}",
"inline_macro": "内联宏"
"unable_to_locate_forced_include": "找不到 forced include: {0}"
}
@@ -37,4 +37,4 @@
"no.compilers.found": "在您的系統 C++ 上找不到編譯器。針對您的平台,建議您使用編輯器中的指示來安裝 {0}。",
"compilers.found": "我們在您的系統上找到下列 C++ 編譯器:",
"compilers.found.message": "您可以在專案的 IntelliSense 設定中指定要使用的編譯器。"
}
}
@@ -212,6 +212,5 @@
"nvcc_host_compiler_not_found": "找不到 nvcc 主機編譯器: {0}",
"invoking_nvcc": "正在使用命令列 {0} 叫用 nvcc",
"nvcc_host_compile_command_not_found": "在 nvcc 的輸出中找不到主機編譯命令。",
"unable_to_locate_forced_include": "找不到強制的 include: {0}",
"inline_macro": "內嵌巨集"
"unable_to_locate_forced_include": "找不到強制的 include: {0}"
}
+1 -1
View File
@@ -176,7 +176,7 @@
"c_cpp.configuration.filesExcludeWhen.description": "Další kontrola položek na stejné úrovni u odpovídajícího souboru. Jako proměnnou názvu odpovídajícího souboru použijte $(basename).",
"c_cpp.configuration.debugger.useBacktickCommandSubstitution.description": "Když se nastaví na true, nahrazování příkazů shellu ladicího programu bude používat starou verzi obrácené čárky (`).",
"c_cpp.contributes.views.cppReferencesView.title": "C/C++: výsledky jiných odkazů",
"c_cpp.contributes.viewsWelcome.contents": "Další informace o launch.json najdete tady: [konfigurace C/C++ ladění](https://code.visualstudio.com/docs/cpp/launch-json-reference).",
"c_cpp.contributes.viewsWelcome.contents": "Další informace o launch.json najdete tady: [konfigurace C/C++ Ladění](https://code.visualstudio.com/docs/cpp/launch-json-reference).",
"c_cpp.debuggers.pipeTransport.description": "Pokud je k dispozici, předá ladicímu programu informaci, aby se připojil ke vzdálenému počítači pomocí dalšího spustitelného souboru jako kanál, který bude přenášet standardní vstup a výstup mezi nástrojem VS Code a spustitelným souborem back-endu ladicího programu s podporou MI (třeba gdb).",
"c_cpp.debuggers.pipeTransport.default.pipeProgram": "zadejte plně kvalifikovanou cestu názvu programu kanálu, třeba /usr/bin/ssh",
"c_cpp.debuggers.pipeTransport.default.debuggerPath": "Úplná cesta k ladicímu programu na cílovém počítači, například /usr/bin/gdb",
@@ -37,4 +37,4 @@
"no.compilers.found": "V systému se nenašly žádné kompilátory jazyka C++. Pro vaši platformu doporučujeme podle instrukcí v editoru nainstalovat {0}.",
"compilers.found": "V systému jsme našli následující kompilátory jazyka C++:",
"compilers.found.message": "V konfiguraci IntelliSense vašeho projektu můžete zadat, který kompilátor se má použít."
}
}
@@ -212,6 +212,5 @@
"nvcc_host_compiler_not_found": "Nepovedlo se najít kompilátor hostitele nvcc: {0}",
"invoking_nvcc": "Volá se nvcc pomocí příkazového řádku: {0}",
"nvcc_host_compile_command_not_found": "Ve výstupu nástroje nvcc se nepovedlo najít příkaz pro kompilaci hostitele.",
"unable_to_locate_forced_include": "Nepovedlo se najít vynuceně zahrnované soubory: {0}",
"inline_macro": "Vložené makro"
"unable_to_locate_forced_include": "Nepovedlo se najít vynuceně zahrnované soubory: {0}"
}
@@ -37,4 +37,4 @@
"no.compilers.found": "Es wurden keine C++ Compiler auf dem System gefunden. Für Ihre Plattform empfehlen wir Ihnen die Installation von {0} mithilfe der Anweisungen im Editor.",
"compilers.found": "Wir haben die folgenden C++ Compiler auf dem System gefunden:",
"compilers.found.message": "Sie können angeben, welcher Compiler in der IntelliSense-Konfiguration Ihres Projekts verwendet werden soll."
}
}
@@ -212,6 +212,5 @@
"nvcc_host_compiler_not_found": "Der nvcc-Hostcompiler wurde nicht gefunden: {0}",
"invoking_nvcc": "nvcc wird über Befehlszeile aufgerufen: {0}",
"nvcc_host_compile_command_not_found": "Der Hostkompilierbefehl wurde in der Ausgabe von nvcc nicht gefunden.",
"unable_to_locate_forced_include": "Erzwungene Includedatei wurde nicht gefunden: {0}",
"inline_macro": "Inlinemakro"
"unable_to_locate_forced_include": "Erzwungene Includedatei wurde nicht gefunden: {0}"
}
@@ -37,4 +37,4 @@
"no.compilers.found": "No se encontró ningún compilador de C++ en el sistema. Para la plataforma, se recomienda instalar {0} mediante las instrucciones del editor.",
"compilers.found": "Se encontraron los siguientes compiladores de C++ en el sistema:",
"compilers.found.message": "Puede especificar el compilador que se va a usar en la configuración de IntelliSense del proyecto."
}
}
@@ -212,6 +212,5 @@
"nvcc_host_compiler_not_found": "No se encuentra el compilador host nvcc: {0}",
"invoking_nvcc": "Invocando nvcc con la línea de comandos: {0}",
"nvcc_host_compile_command_not_found": "No se encuentra el comando de compilación del host en la salida de nvcc.",
"unable_to_locate_forced_include": "No se encuentra la inclusión forzada: {0}",
"inline_macro": "Macro insertada"
"unable_to_locate_forced_include": "No se encuentra la inclusión forzada: {0}"
}
+3 -3
View File
@@ -193,8 +193,8 @@
"c_cpp.debuggers.logging.engineLogging.description": "Indicateur facultatif pour déterminer si les messages du moteur de débogage de diagnostic doivent être journalisés dans la console de débogage. La valeur par défaut est false.",
"c_cpp.debuggers.logging.trace.description": "Indicateur facultatif pour déterminer si le suivi de commande de l'adaptateur de diagnostic doit être journalisé dans la console de débogage. La valeur par défaut est false.",
"c_cpp.debuggers.logging.traceResponse.description": "Indicateur facultatif pour déterminer si le suivi de commande et de réponse de l'adaptateur de diagnostic doit être journalisé dans la console de débogage. La valeur par défaut est false.",
"c_cpp.debuggers.cppvsdbg.logging.threadExit.description": "Indicateur facultatif pour déterminer si les messages indiquant la sortie du thread doivent être journalisés dans la console de débogage. Valeur par défaut : 'false'.",
"c_cpp.debuggers.cppvsdbg.logging.processExit.description": "Indicateur facultatif pour déterminer si les messages indiquant la sortie du processus cible doivent être journalisés dans la console de débogage. Valeur par défaut : 'true'.",
"c_cpp.debuggers.cppvsdbg.logging.threadExit.description": "Indicateur facultatif pour déterminer si les messages indiquant la sortie du thread doivent être journalisés dans la console de débogage. Valeur par défaut: 'false'.",
"c_cpp.debuggers.cppvsdbg.logging.processExit.description": "Indicateur facultatif pour déterminer si les messages indiquant la sortie du processus cible doivent être journalisés dans la console de débogage. Valeur par défaut: 'true'.",
"c_cpp.debuggers.text.description": "Commande de débogueur à exécuter.",
"c_cpp.debuggers.description.description": "Description facultative de la commande.",
"c_cpp.debuggers.ignoreFailures.description": "Si la valeur est true, les échecs de la commande doivent être ignorés. La valeur par défaut est false.",
@@ -218,7 +218,7 @@
"c_cpp.debuggers.miDebuggerArgs.description": "Arguments supplémentaires pour le débogueur MI (par exemple gdb).",
"c_cpp.debuggers.miDebuggerServerAddress.description": "Adresse réseau du serveur du débogueur MI auquel se connecter (par exemple : localhost:1234).",
"c_cpp.debuggers.stopAtEntry.description": "Paramètre facultatif. Si la valeur est true, le débogueur doit s'arrêter au point d'entrée de la cible. Si processId est passé, le paramètre n'a aucun effet.",
"c_cpp.debuggers.debugServerPath.description": "Chemin complet facultatif au serveur de débogage à lancer (valeur par défaut : null). Utilisé conjointement avec \"miDebugServerAddress\" ou votre propre serveur avec \"customSetupCommand\" qui exécute \"-target-select remote <server:port>\".",
"c_cpp.debuggers.debugServerPath.description": "Chemin complet facultatif au serveur de débogage à lancer (valeur par défaut: null). Utilisé conjointement avec \"miDebugServerAddress\" ou votre propre serveur avec \"customSetupCommand\" qui exécute \"-target-select remote <server:port>\".",
"c_cpp.debuggers.debugServerArgs.description": "Arguments facultatifs du serveur de débogage. La valeur par défaut est null.",
"c_cpp.debuggers.serverStarted.description": "Modèle facultatif de démarrage du serveur à rechercher dans la sortie du serveur de débogage. La valeur par défaut est null.",
"c_cpp.debuggers.filterStdout.description": "Permet de rechercher dans le flux stdout le modèle correspondant au démarrage du serveur, et de journaliser stdout dans la sortie de débogage. La valeur par défaut est true.",
@@ -37,4 +37,4 @@
"no.compilers.found": "Aucun C++ compilateur na été trouvé sur votre système. Pour votre plateforme, nous vous recommandons dinstaller {0} à laide des instructions de l’éditeur.",
"compilers.found": "Nous avons trouvé les C++ compilateur(s) suivant(s) sur votre système :",
"compilers.found.message": "Vous pouvez spécifier le compilateur à utiliser dans la configuration IntelliSense de votre projet."
}
}
@@ -212,6 +212,5 @@
"nvcc_host_compiler_not_found": "Impossible de localiser le compilateur hôte pour nvcc : {0}",
"invoking_nvcc": "Appel de nvcc avec la ligne de commande : {0}",
"nvcc_host_compile_command_not_found": "La commande de compilation hôte est introuvable dans la sortie de nvcc.",
"unable_to_locate_forced_include": "Impossible de localiser le fichier include forcé : {0}",
"inline_macro": "Macro inlined"
"unable_to_locate_forced_include": "Impossible de localiser le fichier include forcé : {0}"
}
@@ -37,4 +37,4 @@
"no.compilers.found": "Nel sistema non sono stati trovati compilatori C++. Per la piattaforma, è consigliabile installare {0} usando le istruzioni nell'editor.",
"compilers.found": "Nel sistema sono stati trovati i seguenti compilatori C++:",
"compilers.found.message": "È possibile specificare il compilatore da utilizzare nella configurazione IntelliSense del progetto."
}
}
@@ -212,6 +212,5 @@
"nvcc_host_compiler_not_found": "Non è possibile individuare il compilatore host nvcc: {0}",
"invoking_nvcc": "Chiamata di nvcc con la riga di comando: {0}",
"nvcc_host_compile_command_not_found": "Non è possibile trovare il comando di compilazione host nell'output di nvcc.",
"unable_to_locate_forced_include": "Non è possibile individuare la direttiva include forzata: {0}",
"inline_macro": "Macro inline"
"unable_to_locate_forced_include": "Non è possibile individuare la direttiva include forzata: {0}"
}
@@ -37,4 +37,4 @@
"no.compilers.found": "お使いのシステムで C++ コンパイラが見つかりませんでした。プラットフォーム向けに、エディターの指示に従って {0} をインストールすることをお勧めします。",
"compilers.found": "システムに次の C++ コンパイラが見つかりました:",
"compilers.found.message": "プロジェクトの IntelliSense 構成で使用するコンパイラを指定できます。"
}
}
@@ -212,6 +212,5 @@
"nvcc_host_compiler_not_found": "nvcc ホスト コンパイラが見つかりません: {0}",
"invoking_nvcc": "コマンド ラインで nvcc を呼び出しています: {0}",
"nvcc_host_compile_command_not_found": "nvcc の出力でホスト コンパイル コマンドが見つかりません。",
"unable_to_locate_forced_include": "強制インクルードが見つかりません: {0}",
"inline_macro": "インライン マクロ"
"unable_to_locate_forced_include": "強制インクルードが見つかりません: {0}"
}
@@ -37,4 +37,4 @@
"no.compilers.found": "C++시스템에서 컴파일러를 찾을 수 없습니다. 플랫폼의 경우 편집기의 지침을 사용하여 {0}을(를) 설치하는 것이 좋습니다.",
"compilers.found": "시스템에서 다음 C++ 컴파일러를 찾았습니다.",
"compilers.found.message": "프로젝트의 IntelliSense 구성에서 사용할 컴파일러를 지정할 수 있습니다."
}
}
@@ -212,6 +212,5 @@
"nvcc_host_compiler_not_found": "nvcc 호스트 컴파일러를 찾을 수 없음: {0}",
"invoking_nvcc": "명령줄 {0}을(를) 사용하여 nvcc를 호출하는 중",
"nvcc_host_compile_command_not_found": "nvcc의 출력에서 호스트 컴파일 명령을 찾을 수 없습니다.",
"unable_to_locate_forced_include": "강제 포함을 찾을 수 없음: {0}",
"inline_macro": "인라인 매크로"
"unable_to_locate_forced_include": "강제 포함을 찾을 수 없음: {0}"
}
@@ -37,4 +37,4 @@
"no.compilers.found": "W systemie nie odnaleziono żadnych kompilatorów języka C++. W przypadku Twojej platformy zalecamy zainstalowanie {0} przy użyciu instrukcji w edytorze.",
"compilers.found": "Znaleźliśmy następujące kompilatory C++ w systemie:",
"compilers.found.message": "Możesz określić, który kompilator ma być używany w konfiguracji IntelliSense projektu."
}
}
@@ -212,6 +212,5 @@
"nvcc_host_compiler_not_found": "Nie można zlokalizować kompilatora hosta nvcc: {0}",
"invoking_nvcc": "Wywoływanie narzędzia nvcc za pomocą wiersza polecenia: {0}",
"nvcc_host_compile_command_not_found": "Nie można znaleźć polecenia kompilacji hosta w danych wyjściowych narzędzia nvcc.",
"unable_to_locate_forced_include": "Nie można zlokalizować wymuszonego dołączenia: {0}",
"inline_macro": "Makro śródwierszowe"
"unable_to_locate_forced_include": "Nie można zlokalizować wymuszonego dołączenia: {0}"
}
@@ -37,4 +37,4 @@
"no.compilers.found": "Não foram encontrados compiladores C++ em seu sistema. Para sua plataforma, recomendamos instalar {0} usando as instruções do editor.",
"compilers.found": "Encontramos o(s) seguinte(s) compilador(es) C++ em seu sistema:",
"compilers.found.message": "Você pode especificar qual compilador usar na Configuração IntelliSense de seu projeto."
}
}
@@ -212,6 +212,5 @@
"nvcc_host_compiler_not_found": "Não é possível localizar o compilador de host NVCC: {0}",
"invoking_nvcc": "Invocando NVCC com a linha de comando: {0}",
"nvcc_host_compile_command_not_found": "Não é possível localizar o comando de compilação de host na saída de NVCC.",
"unable_to_locate_forced_include": "Não é possível localizar a inclusão forçada: {0}",
"inline_macro": "Macro embutida"
"unable_to_locate_forced_include": "Não é possível localizar a inclusão forçada: {0}"
}
@@ -37,4 +37,4 @@
"no.compilers.found": "В системе не найдены компиляторы C++. Для вашей платформы рекомендуется установить {0}. Необходимые инструкции см. в редакторе.",
"compilers.found": "В системе обнаружены следующие компиляторы C++:",
"compilers.found.message": "Вы можете указать, какой компилятор использовать в конфигурации IntelliSense проекта."
}
}
@@ -212,6 +212,5 @@
"nvcc_host_compiler_not_found": "Не удалось найти компилятор узла nvcc: {0}",
"invoking_nvcc": "Идет вызов nvcc с помощью командной строки: {0}",
"nvcc_host_compile_command_not_found": "Не удалось найти команду компиляции узла в выходных данных nvcc.",
"unable_to_locate_forced_include": "Не удалось найти принудительное включение: {0}",
"inline_macro": "Встроенный макрос"
"unable_to_locate_forced_include": "Не удалось найти принудительное включение: {0}"
}
@@ -37,4 +37,4 @@
"no.compilers.found": "Sisteminizde C++ derleyicisi bulunamadı. Platformunuz için, düzenleyicideki yönergeleri takip ederek {0} derleyicisini yüklemenizi öneririz.",
"compilers.found": "Sisteminizde şu C++ derleyicileri bulundu:",
"compilers.found.message": "Projenizin IntelliSense Yapılandırmasında kullanılacak derleyiciyi belirtebilirsiniz."
}
}
@@ -212,6 +212,5 @@
"nvcc_host_compiler_not_found": "Nvcc konak derleyicisi bulunamıyor: {0}",
"invoking_nvcc": "Komut satırı ile nvcc çağrılıyor: {0}",
"nvcc_host_compile_command_not_found": "Nvcc çıkışındaki konak derleme komutu bulunamıyor.",
"unable_to_locate_forced_include": "Zorlamalı ekleme bulunamıyor: {0}",
"inline_macro": "Satır içi makro"
"unable_to_locate_forced_include": "Zorlamalı ekleme bulunamıyor: {0}"
}
+19 -32
View File
@@ -2,7 +2,7 @@
"name": "cpptools",
"displayName": "C/C++",
"description": "C/C++ IntelliSense, debugging, and code browsing.",
"version": "1.5.1-main",
"version": "1.5.0-main",
"publisher": "ms-vscode",
"icon": "LanguageCCPP_color_128x.png",
"readme": "README.md",
@@ -54,6 +54,7 @@
"id": "cppWelcome",
"title": "Get Started with C++ Development",
"description": "Dive into VS Code's rich C++ development experience.",
"primary": true,
"when": "false",
"steps": [
{
@@ -2796,7 +2797,7 @@
"runtimeDependencies": [
{
"description": "C/C++ language components (Linux / x86_64)",
"url": "https://go.microsoft.com/fwlink/?linkid=2167520",
"url": "https://go.microsoft.com/fwlink/?linkid=2164295",
"platforms": [
"linux"
],
@@ -2807,11 +2808,11 @@
"./bin/cpptools",
"./bin/cpptools-srv"
],
"integrity": "32AC1D58A5A21527AA24583011F5A3694FCEFB5920677D0CA8D13F70BC0102BE"
"integrity": "2E6E25B3B9C10ECC25A5B523C413182D185F13492602CF92896C658E6959CBFA"
},
{
"description": "C/C++ language components (Linux / armhf)",
"url": "https://go.microsoft.com/fwlink/?linkid=2167624",
"url": "https://go.microsoft.com/fwlink/?linkid=2164297",
"platforms": [
"linux"
],
@@ -2822,11 +2823,11 @@
"./bin/cpptools",
"./bin/cpptools-srv"
],
"integrity": "9CB1C36A34DD2F7A53FF5471F1FBB5C0AD65A9E67C17013C7FBF65CDDAF7A7E1"
"integrity": "25F5776247184254D49B9FCC25D0D018AECF1D8930FC517F25C9FCC0A9E650AC"
},
{
"description": "C/C++ language components (Linux / aarch64)",
"url": "https://go.microsoft.com/fwlink/?linkid=2167623",
"url": "https://go.microsoft.com/fwlink/?linkid=2165100",
"platforms": [
"linux"
],
@@ -2837,11 +2838,11 @@
"./bin/cpptools",
"./bin/cpptools-srv"
],
"integrity": "D8F6A5A4A8A13F6F872C94BD522602A7C0E5E5CCA58CE7CE1ED3DC32F82850AC"
"integrity": "186614524A13EC75BF68798861818D25CE82FDE293C57B725C11F62B0694EC55"
},
{
"description": "C/C++ language components (macOS / x86_64)",
"url": "https://go.microsoft.com/fwlink/?linkid=2167518",
"url": "https://go.microsoft.com/fwlink/?linkid=2164296",
"platforms": [
"darwin"
],
@@ -2852,11 +2853,11 @@
"./bin/cpptools",
"./bin/cpptools-srv"
],
"integrity": "3EF54224CED1BCC6D64B2A93BFA8093E3D75510C8F96E943049CCB4C656161A2"
"integrity": "8E19E1BDD95FCC80F74529E6B5C24AB761F7D84B92CF44C33DAE38A8F11F6FB5"
},
{
"description": "C/C++ language components (macOS / ARM64)",
"url": "https://go.microsoft.com/fwlink/?linkid=2167519",
"url": "https://go.microsoft.com/fwlink/?linkid=2164187",
"platforms": [
"darwin"
],
@@ -2867,11 +2868,11 @@
"./bin/cpptools",
"./bin/cpptools-srv"
],
"integrity": "02F2BE96493256237995EF51D4E0CD0345727D27A61135C6FCDB88608406C908"
"integrity": "1225791C05E0DBD708D0EE9598ACBC94B742E25C7CAE92C5C89791AF924D4B96"
},
{
"description": "C/C++ language components (Windows)",
"url": "https://go.microsoft.com/fwlink/?linkid=2167517",
"url": "https://go.microsoft.com/fwlink/?linkid=2164298",
"platforms": [
"win32"
],
@@ -2883,11 +2884,11 @@
"./bin/cpptools.exe",
"./bin/cpptools-srv.exe"
],
"integrity": "1E23884810A6EBF56BC7C5C4CB5317723CC3519039D56BF07310735870163E77"
"integrity": "8D9E008B789D13DF4175795400E9402D43D199846CEC1DC4DD1F319B4C0D5492"
},
{
"description": "C/C++ language components (Windows ARM64)",
"url": "https://go.microsoft.com/fwlink/?linkid=2167516",
"url": "https://go.microsoft.com/fwlink/?linkid=2165101",
"platforms": [
"win32"
],
@@ -2898,7 +2899,7 @@
"./bin/cpptools.exe",
"./bin/cpptools-srv.exe"
],
"integrity": "26CCA79735F15BE0595510E2A170794CBF7E2EE72F2A565CD9D26970EA35547F"
"integrity": "4B94A64721FE8D0E1F93AACBA1190A9DC00DF7225E20BF628AC57BEC6301AA7D"
},
{
"description": "ClangFormat (Linux / x86_64)",
@@ -3106,7 +3107,7 @@
},
{
"description": "Visual Studio Windows Debugger",
"url": "https://go.microsoft.com/fwlink/?linkid=2167539",
"url": "https://go.microsoft.com/fwlink/?linkid=2162486",
"platforms": [
"win32"
],
@@ -3117,21 +3118,7 @@
"binaries": [
"./debugAdapters/vsdbg/bin/vsdbg.exe"
],
"integrity": "3E71A1FDD78FBD9FD46ADEE0DF1283349363078B273CAE765978ACF1BA9C2DB1"
},
{
"description": "Visual Studio Windows ARM64 Debugger",
"url": "https://go.microsoft.com/fwlink/?linkid=2167648",
"platforms": [
"win32"
],
"architectures": [
"arm64"
],
"binaries": [
"./debugAdapters/vsdbg/bin/vsdbg.exe"
],
"integrity": "698BA3D45B925F998AACE9ED387ADE4927FFE569860408570FD074DD0CD56252"
"integrity": "E5046509D510086B99F171595114220AD8E9F820E7238B6A5199CD78B9AD2078"
}
]
}
}
@@ -71,7 +71,7 @@ export class QuickPickConfigurationProvider implements vscode.DebugConfiguration
const selection: MenuItem | undefined = await vscode.window.showQuickPick(items, {placeHolder: localize("select.configuration", "Select a configuration")});
if (!selection) {
throw Error(localize("debug.configuration.selection.canceled", "Debug configuration selection canceled")); // User canceled it.
return []; // User canceled it.
}
if (selection.label.startsWith("cl.exe")) {
if (!process.env.DevEnvDir) {
@@ -161,11 +161,11 @@ class CppConfigurationProvider implements vscode.DebugConfigurationProvider {
return false;
}
if (defaultConfig.name.startsWith("(Windows) ")) {
if (command.startsWith("cl.exe")) {
if (command.includes("cl.exe")) {
return true;
}
} else {
if (!command.startsWith("cl.exe")) {
if (!command.includes("cl.exe")) {
return true;
}
}
@@ -203,16 +203,9 @@ class CppConfigurationProvider implements vscode.DebugConfigurationProvider {
let debuggerName: string;
if (compilerName.startsWith("clang")) {
newConfig.MIMode = "lldb";
debuggerName = "lldb-mi";
// Search for clang-8, clang-10, etc.
if ((compilerName !== "clang-cl.exe") && (compilerName !== "clang-cpp.exe")) {
const suffixIndex: number = compilerName.indexOf("-");
if (suffixIndex !== -1) {
const suffix: string = compilerName.substr(suffixIndex);
debuggerName += suffix;
}
}
newConfig.type = "cppdbg";
const suffixIndex: number = compilerName.indexOf("-");
const suffix: string = suffixIndex === -1 ? "" : compilerName.substr(suffixIndex);
debuggerName = "lldb-mi" + suffix;
} else if (compilerName === "cl.exe") {
newConfig.miDebuggerPath = undefined;
newConfig.type = "cppvsdbg";
@@ -220,9 +213,11 @@ class CppConfigurationProvider implements vscode.DebugConfigurationProvider {
} else {
debuggerName = "gdb";
}
if (isWindows) {
debuggerName = debuggerName.endsWith(".exe") ? debuggerName : (debuggerName + ".exe");
debuggerName += ".exe";
}
const compilerDirname: string = path.dirname(compilerPath);
const debuggerPath: string = path.join(compilerDirname, debuggerName);
if (isWindows) {
+1 -1
View File
@@ -37,7 +37,7 @@ export function initialize(context: vscode.ExtensionContext): void {
// On non-windows platforms, the cppvsdbg debugger will not be registered for initial configurations.
// This will cause it to not show up on the dropdown list.
let vsdbgProvider: CppVsDbgConfigurationProvider | null = null;
if (os.platform() === 'win32') {
if (os.platform() === 'win32' && os.arch() !== 'arm64') {
vsdbgProvider = new CppVsDbgConfigurationProvider(configurationProvider);
disposables.push(vscode.debug.registerDebugConfigurationProvider('cppvsdbg', new QuickPickConfigurationProvider(vsdbgProvider)));
}
@@ -28,18 +28,12 @@ export class FoldingRangeProvider implements vscode.FoldingRangeProvider {
}
const result: vscode.FoldingRange[] = [];
ranges.ranges.forEach((r: CppFoldingRange, index: number, array: CppFoldingRange[]) => {
let nextNonNestedIndex: number = index + 1; // Skip over nested if's.
for (; nextNonNestedIndex < array.length; ++nextNonNestedIndex) {
if (array[nextNonNestedIndex].range.start.line >= r.range.end.line) {
break;
}
}
const foldingRange: vscode.FoldingRange = {
start: r.range.start.line,
// Move the end range up one if it overlaps with the next start range, because
// VS Code doesn't support column-based folding: https://github.com/microsoft/vscode/issues/50840
end: r.range.end.line - (nextNonNestedIndex >= array.length ? 0 :
(array[nextNonNestedIndex].range.start.line !== r.range.end.line ? 0 : 1))
end: r.range.end.line - (index + 1 >= array.length ? 0 :
(array[index + 1].range.start.line !== r.range.end.line ? 0 : 1))
};
switch (r.kind) {
case FoldingRangeKind.Comment:
+30 -31
View File
@@ -449,12 +449,6 @@ interface GoToDirectiveInGroupParams {
next: boolean;
};
interface SetTemporaryTextDocumentLanguageParams {
path: string;
isC: boolean;
isCuda: boolean;
}
// Requests
const QueryCompilerDefaultsRequest: RequestType<QueryCompilerDefaultsParams, configs.CompilerDefaults, void, void> = new RequestType<QueryCompilerDefaultsParams, configs.CompilerDefaults, void, void>('cpptools/queryCompilerDefaults');
const QueryTranslationUnitSourceRequest: RequestType<QueryTranslationUnitSourceParams, QueryTranslationUnitSourceResult, void, void> = new RequestType<QueryTranslationUnitSourceParams, QueryTranslationUnitSourceResult, void, void>('cpptools/queryTranslationUnitSource');
@@ -515,7 +509,6 @@ const ShowWarningNotification: NotificationType<ShowWarningParams, void> = new N
const ReportTextDocumentLanguage: NotificationType<string, void> = new NotificationType<string, void>('cpptools/reportTextDocumentLanguage');
const SemanticTokensChanged: NotificationType<string, void> = new NotificationType<string, void>('cpptools/semanticTokensChanged');
const IntelliSenseSetupNotification: NotificationType<IntelliSenseSetup, void> = new NotificationType<IntelliSenseSetup, void>('cpptools/IntelliSenseSetup');
const SetTemporaryTextDocumentLanguageNotification: NotificationType<SetTemporaryTextDocumentLanguageParams, void> = new NotificationType<SetTemporaryTextDocumentLanguageParams, void>('cpptools/setTemporaryTextDocumentLanguage');
let failureMessageShown: boolean = false;
@@ -1978,7 +1971,6 @@ export class DefaultClient implements Client {
this.languageClient.onNotification(ReportTextDocumentLanguage, (e) => this.setTextDocumentLanguage(e));
this.languageClient.onNotification(SemanticTokensChanged, (e) => this.semanticTokensProvider?.invalidateFile(e));
this.languageClient.onNotification(IntelliSenseSetupNotification, (e) => this.logIntellisenseSetupTime(e));
this.languageClient.onNotification(SetTemporaryTextDocumentLanguageNotification, (e) => this.setTemporaryTextDocumentLanguage(e));
setupOutputHandlers();
}
@@ -1992,15 +1984,7 @@ export class DefaultClient implements Client {
}
}
private async setTemporaryTextDocumentLanguage(params: SetTemporaryTextDocumentLanguageParams): Promise<void> {
const languageId: string = params.isC ? "c" : (params.isCuda ? "cuda-cpp" : "cpp");
const document: vscode.TextDocument = await vscode.workspace.openTextDocument(params.path);
if (!!document && document.languageId !== languageId) {
vscode.languages.setTextDocumentLanguage(document, languageId);
}
}
private associations_for_did_change?: Set<string>;
private associations_for_file_watchers?: Set<string>;
/**
* listen for file created/deleted events under the ${workspaceFolder} folder
@@ -2016,34 +2000,42 @@ export class DefaultClient implements Client {
false /* ignoreChangeEvents */,
false /* ignoreDeleteEvents */);
this.rootPathFileWatcher.onDidCreate((uri) => {
if (path.basename(uri.fsPath).toLowerCase() === ".editorconfig") {
cachedEditorConfigSettings.clear();
}
this.languageClient.sendNotification(FileCreatedNotification, { uri: uri.toString() });
});
// TODO: Handle new associations without a reload.
this.associations_for_did_change = new Set<string>(["cu", "cuh", "c", "i", "cpp", "cc", "cxx", "c++", "cp", "hpp", "hh", "hxx", "h++", "hp", "h", "ii", "ino", "inl", "ipp", "tcc", "idl"]);
this.associations_for_file_watchers = new Set<string>(["cu", "cuh", "c", "i", "cpp", "cc", "cxx", "c++", "cp", "hpp", "hh", "hxx", "h++", "hp", "h", "ii", "ino", "inl", "ipp", "tcc", "idl"]);
const assocs: any = new OtherSettings().filesAssociations;
for (const assoc in assocs) {
const dotIndex: number = assoc.lastIndexOf('.');
if (dotIndex !== -1) {
const ext: string = assoc.substr(dotIndex + 1);
this.associations_for_did_change.add(ext);
this.associations_for_file_watchers.add(ext);
}
}
this.rootPathFileWatcher.onDidChange((uri) => {
const dotIndex: number = uri.fsPath.lastIndexOf('.');
this.rootPathFileWatcher.onDidCreate((uri) => {
if (path.basename(uri.fsPath).toLowerCase() === ".editorconfig") {
cachedEditorConfigSettings.clear();
}
const dotIndex: number = uri.fsPath.lastIndexOf('.');
if (dotIndex !== -1) {
const ext: string = uri.fsPath.substr(dotIndex + 1);
if (this.associations_for_did_change?.has(ext)) {
if (this.associations_for_file_watchers?.has(ext)) {
this.languageClient.sendNotification(FileCreatedNotification, { uri: uri.toString() });
}
}
});
this.rootPathFileWatcher.onDidChange((uri) => {
if (path.basename(uri.fsPath).toLowerCase() === ".editorconfig") {
cachedEditorConfigSettings.clear();
}
const dotIndex: number = uri.fsPath.lastIndexOf('.');
if (dotIndex !== -1) {
const ext: string = uri.fsPath.substr(dotIndex + 1);
if (this.associations_for_file_watchers?.has(ext)) {
// VS Code has a bug that causes onDidChange events to happen to files that aren't changed,
// which causes a large backlog of "files to parse" to accumulate.
// We workaround this via only sending the change message if the modified time is within 10 seconds.
@@ -2061,7 +2053,14 @@ export class DefaultClient implements Client {
cachedEditorConfigSettings.clear();
}
this.languageClient.sendNotification(FileDeletedNotification, { uri: uri.toString() });
const dotIndex: number = uri.fsPath.lastIndexOf('.');
if (dotIndex !== -1) {
const ext: string = uri.fsPath.substr(dotIndex + 1);
if (this.associations_for_file_watchers?.has(ext)) {
this.languageClient.sendNotification(FileDeletedNotification, { uri: uri.toString() });
}
}
});
this.disposables.push(this.rootPathFileWatcher);
@@ -1656,10 +1656,8 @@ export class CppProperties {
let compilerPathNeedsQuotes: boolean = false;
let compilerMessage: string | undefined;
const compilerPathAndArgs: util.CompilerPathAndArgs = util.extractCompilerPathAndArgs(compilerPath);
const compilerLowerCase: string = compilerPathAndArgs.compilerName.toLowerCase();
const isClCompiler: boolean = compilerLowerCase === "cl" || compilerLowerCase === "cl.exe";
// Don't squiggle for invalid cl and cl.exe paths.
if (compilerPathAndArgs.compilerPath && !isClCompiler) {
// Don't squiggle invalid cl.exe paths because it could be for an older preview build.
if (compilerPathAndArgs.compilerName.toLowerCase() !== "cl.exe" && compilerPathAndArgs.compilerPath !== undefined) {
// Squiggle when the compiler's path has spaces without quotes but args are used.
compilerPathNeedsQuotes = (compilerPathAndArgs.additionalArgs && compilerPathAndArgs.additionalArgs.length > 0)
&& !compilerPath.startsWith('"')
@@ -1678,7 +1676,7 @@ export class CppProperties {
}
const isWSL: boolean = isWindows && compilerPath.startsWith("/");
let compilerPathExists: boolean = true;
if (this.rootUri && !isClCompiler) {
if (this.rootUri) {
const checkPathExists: any = util.checkPathExistsSync(compilerPath, this.rootUri.fsPath + path.sep, isWindows, isWSL, true);
compilerPathExists = checkPathExists.pathExists;
compilerPath = checkPathExists.path;
+1 -4
View File
@@ -229,8 +229,5 @@
"invoking_nvcc": "Invoking nvcc with command line: {0}",
"nvcc_host_compile_command_not_found": "Unable to find host compile command in output of nvcc.",
"unable_to_locate_forced_include": "Unable to locate forced include: {0}",
"inline_macro": {
"text": "Inline macro",
"hint": "'Inline' is a command and not an adjective, i.e. like 'Expand macro'."
}
"inline_macro": "Inline macro"
}