我有一个JS SDK,用户不使用require来将其加载到他们的JS脚本中。我想在VSCode中提供SDK的智能感知/自动完成功能,而无需用户执行任何困难的操作,除了安装扩展程序或在jsconfig中设置简单的内容。
他们在工作空间以外的其他路径中都有一个js模块和SDK,我检查了以下解决方案:
require
or import
语句)有什么建议么?
按照此如何将Intellisense文件导入vsCode(Visual Studio Code)的操作,我已经完成了以下操作:
向我添加了以下内容,jsconfig.js
但完全没有影响自动完成功能:
"typeAcquisition": {
"enable": true,
"include": [
"C:\\test.d.ts"
]
Run Code Online (Sandbox Code Playgroud)
}
一旦添加/// <reference path="C:\test.d.ts" />
,就解决了
有没有一种方法可以使用扩展程序自动执行此操作?还是完全不需要参考路径?
我已经用可变参数模板声明了一个简单的函数。
template<typename ...Args>
void Log(const LogLevel level, const char * format, Args ...args);
Run Code Online (Sandbox Code Playgroud)
在以下列方式调用它时 -
Log(LogLevel::debug,
R"(starting x, %d pending call for "%s" with param "%s")",
id, first.c_str(),
second.c_str())
Run Code Online (Sandbox Code Playgroud)
其中变量类型是:id
( unsigned int
), first
( std::string
) , second
( std::string
)
我收到以下错误:
Error LNK2001 unresolved external symbol "public: void __cdecl Log<unsigned int,char const *,char const *>(enum LogLevel,char const *,unsigned int,char const *,char const *)"
Run Code Online (Sandbox Code Playgroud)
当我unsigned int
从函数调用中删除参数时 - 错误消失了。AFAIK 可变参数模板确实支持不同的类型......那我错过了什么?