开发Google Apps Script:如何让TS Server将JS视为单文件?
解决VS Code中TS Server未检测Google Apps Script全局变量重复的问题
因为Google Apps Script会将所有脚本文件合并到同一个全局作用域运行,跨文件的重复变量声明会导致运行时错误,但VS Code默认的TS Server会按单个文件分析,无法检测这类问题。可以通过以下配置让TS Server将所有代码视为单个全局脚本:
- 在项目根目录创建或修改
jsconfig.json(如果是TypeScript项目则用tsconfig.json) - 写入以下配置内容:
{ "compilerOptions": { "module": "none", "target": "ES6", "checkJs": true, "isolatedModules": false }, "include": ["**/*.js"] }
配置说明
"module": "none":指定代码不使用任何模块系统,所有变量都挂载到全局作用域,和GAS的运行逻辑一致"checkJs": true:开启对JavaScript文件的类型检查(若无需类型检查可省略,但建议开启以获得更全面的错误提示)"isolatedModules": false:关闭单文件独立检查模式,让TS Server将所有文件作为一个整体分析,从而检测到全局变量重复声明的问题
保存配置后,VS Code的TS Server会自动重新加载配置,此时跨文件的重复变量声明就会被标记为错误。
内容的提问来源于stack exchange,提问作者Takuya HARA
相关产品推荐
相关产品推荐

