Visual studio code “什么是”呢;“主要”;用于语言扩展的package.json中
所以我已经为VS代码(repo-find)开发了一个语言支持扩展。我遇到了大量的bug(对于那些只想突出显示某些单词的人来说,文档并没有那么好)。我现在有很多问题,但找不到任何关于Visual studio code “什么是”呢;“主要”;用于语言扩展的package.json中,visual-studio-code,vscode-extensions,Visual Studio Code,Vscode Extensions,所以我已经为VS代码(repo-find)开发了一个语言支持扩展。我遇到了大量的bug(对于那些只想突出显示某些单词的人来说,文档并没有那么好)。我现在有很多问题,但找不到任何关于main的问题,主要是package.json文件的main条目 接下来是问题: 我知道,main为文件指定了一个目录。 那个文件是做什么的 我已经浏览了几个不同的扩展,试图找出 我知道它是做什么的,但是我注意到目录路径都开始了 使用“/out/…”,即使没有调用 out。甚至还有一个标有out的目录。那么,什么是ou
main
的问题,主要是package.json
文件的main
条目
接下来是问题:
main
为文件指定了一个目录。
那个文件是做什么的“/out/…”
,即使没有调用
out
。甚至还有一个标有out
的目录。那么,什么是out
main
文件或out
目录。分机应该有这些吗?我把事情搞砸了吗我关心
main
的主要原因是我试图使用activationEvents
字段,而VS代码表示必须指定activationEvent
和main
。在这种情况下,main
实际上需要做什么?main
没有指定目录,而是指定包含扩展代码的文件(至少是像激活
功能这样的主代码)。你必须在某个地方实现你可以通过activationEvents
激活的东西,对吗?如果有index.js文件或用于解析文件名的本地package.json文件,您甚至可以指定一个文件夹。我自己还没试过。使用文件名更容易
在这里,您必须记住指定从已安装的扩展名中看到的代码文件。当您有一个TS项目时,在执行扩展之前,您的代码将被传输到JS。这不是强制性的,但这些传输文件的实际标准是out
文件夹(就在package.json文件旁边)。此文件夹镜像源文件夹,但包含传输的JS和映射文件
输出文件夹可以在命令行上指定(例如,当您手动运行tsc时),也可以在tsconfig.json文件中指定(请参见compilerOptions
->outDir
)
旁注:out文件夹实际上并不需要前导的/
,但在其他情况下(如解析导入时)会触发特殊处理,其中前导的/
避免通过节点\单元
解析模块。因此,为了保持一致性,人们倾向于使用/out
而不是out
关于yeoman生成的文件:我已经有一段时间没有使用它了,我认为它还会生成您的extension.ts文件(并将其作为主文件输入package.json)。如果不发生这种情况,您可能会遇到错误或做了错事。在任何情况下,创建该文件并将其添加到
main
条目只需几秒钟。主文件是项目中要执行的第一个文件。因此,如果执行节点。
将运行该文件。out
目录是编译过程输出的目录。构建项目时,您将在指定文件夹中找到生成的包。如果你没有包含一个主目录或一个输出目录,那么什么都不会发生,不是所有的项目都需要它。谢谢@CristianTraìna!我忘了在问题描述中添加一个重要的细节,该细节解释了我为什么试图找出main
。tl;如果我想使用清单文件中的activationEvents
字段,dr,VS-Code请求一个main
。知道为什么吗?或者我是否应该对激活事件感兴趣?我只想在打开正确的文件类型(有几种)时突出显示语法。谢谢您提供的所有信息!!大部分内容我都听懂了,但我有点纠结于下一步该怎么办。您提到我可以快速创建一个扩展名.ts
文件,因为Yeoman没有把它放在我的目录中。我需要扩展名.ts中的任何内容吗?它需要在文件路径中的任何特定位置吗?另外,仅供参考,我已经向Yo代码生成器GitHub提交了一个问题。它可以根据和.md文件中的内容查看,其中应该有一个extension.ts文件(或js项目的extension.js):模板输出一个package.json文件和一个扩展主文件。