Julia中向REPL发送代码与直接输入代码的环境差异问题
Julia VS Code扩展环境隔离问题解决办法
这是因为VS Code的Julia扩展默认使用的集成REPL和你手动打开的终端REPL是两个独立的进程,运行环境完全不共享,所以两边的变量、函数互相访问不到。
解决办法有两种:
用扩展自带的集成REPL
打开命令面板(Ctrl+Shift+P),输入Julia: Start REPL启动集成REPL。这个REPL和你从文档里发送代码的环境是同一个,不管是从文档选代码按Ctrl+Enter,还是直接在这个REPL里输入命令,变量、函数都能共享访问。让终端REPL和文档发送环境关联
如果你习惯用终端里的REPL,打开VS Code设置(Ctrl+,),搜索Julia: Execute In Terminal并勾选该选项。之后从文档发送代码时,就会自动复用当前打开的终端REPL进程,两边环境就统一了。
另外关于模块和函数的问题:
如果是在模块内定义的内容,比如module MyMod; x=1; end,不管用哪个REPL,都要通过MyMod.x访问,或者执行using MyMod导入后才能直接用x,不然会提示未定义。
内容的提问来源于stack exchange,提问作者Kent Orr
相关产品推荐
相关产品推荐

