爱气象,爱气象家园! 

气象家园

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博登陆

只需一步, 快速开始

搜索
查看: 17812|回复: 43

[经验总结] 在vscode中运行ncl

[复制链接]

新浪微博达人勋

发表于 2022-8-27 20:33:19 | 显示全部楼层 |阅读模式

登录后查看更多精彩内容~

您需要 登录 才可以下载或查看,没有帐号?立即注册 新浪微博登陆

x
本帖最后由 LDW 于 2022-9-24 10:57 编辑

在学习ncl的时候,以及调图片的时候,每次都要切换界面,感觉比较麻烦,希望ncl代码可以在像python那样直接在vscode中运行,但是网上没找到怎样设置。最近尝试了一下,发现vscode中code runner这个插件可以实现,在使用前先要安装这个插件,此外window下还需要kermit大佬的cygwin ncl
————————————————————————
9月24日更新:
  1. "code-runner.saveFileBeforeRun": true, // 运行前保存文件
复制代码
9月2日更新:
在实际运行的时候,发现终端的默认路径为bash中的用户路径,这样就会导致无法使用相对路径,查了一下发现code runner也可以解决这个问题,在设置中搜索fileDirectoryAsCwd,选择即可
Snipaste_2022-09-02_14-56-59.png
或者在json文件中加入:
  1. "code-runner.fileDirectoryAsCwd": true,
复制代码
在点击运行之后,终端会先切换到当前目录下,然后再去运行代码,这样就可以使用相对路径了

(8)

(8)

————————————————————————
第一步 :vscode中添加bash

(1)

(1)


(2)

(2)


(3)

(3)

  1. "terminal.integrated.profiles.windows": {
  2. "PowerShell": {
  3.              "source": "PowerShell",
  4.              "icon": "terminal-powershell"
  5.          },
  6.          "Command Prompt": {
  7.              "path": [
  8.                  "${env:windir}\\Sysnative\\cmd.exe",
  9.                  "${env:windir}\\System32\\cmd.exe"
  10.              ],
  11.              "args": [],
  12.              "icon": "terminal-cmd"
  13.         },
  14.          "CygBash": {
  15.              "path": [
  16.                 "D:\\Program\\CYGncl\\Piggy_Packages\\Cygwin64\\bin\\bash.exe"
  17.                                                                 //这里换成自己的cygwin中的bash
  18.              ],
  19.                                                         
  20.              "args": ["-l"],
  21.              "icon": "terminal-bash"
  22.          }
  23.     },   
  24.     "terminal.integrated.defaultProfile.windows": "CygBash",
复制代码
最后一句是把bash设置为默认terminal(注意在设置的时候每句结尾的逗号,如果不加的话会显示有错误)


到这一步应该就可以直在bash中运行ncl脚本了,这样的话也是比较方便

(5)

(5)


第二步:添加ncl.exe和cygwin bin的环境部变量(这一步我做了,但是好像可以跳过)
这两个这两个都在cygwin下面,可以参考我的路径找
D:\Program\CYGncl\Piggy_Packages\Cygwin64\usr\local\ncarg\bin
D:\Program\CYGncl\Piggy_Packages\Cygwin64\bin
设置环境变量的方法;https://blog.csdn.net/nvsirgn/article/details/121120235
在上面两个路径添加到环境变量之后,就可以用在cmd中运行ncl,如图:

(4)

(4)




第三步:在vscode中设置运行ncl
  1. "code-runner.executorMap": {
  2.         "ncl":"ncl $fullFileName",
  3.         // "ncl": "ncl",//这两个都可以
  4.    
  5.     },

  6. "code-runner.runInTerminal": true,
复制代码
第一个部分的意思是用ncl运行这个文件,我的理解是对于ncl文件,直接在terminal中输入“ncl $fullFileName”,$fullFileName就是文件路径+文件名
第二个部分是否在terminal中运行,我试过不用terminal运行,但是程序一直在运行,停不了,不知道为什么。

到这里,点击右上角的运行按钮就可以运行ncl脚本了,目前这个方法,我试了其他一些程序,都可以运行,但是不排除有其他一些问题,如果有其他问题,可以一起讨论一下。

(6)

(6)




————————————————————————

参考文章
https://blog.csdn.net/xiaojinger_123/article/details/118694075
https://blog.csdn.net/weixin_43342476/article/details/126292368







评分

参与人数 2金钱 +3 收起 理由
拾柒ovo + 1
zsuzifan + 2 很给力!赞一个!

查看全部评分

密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2022-8-27 22:02:52 | 显示全部楼层
可以可以,这波操作真不错,学习一下。
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

新浪微博达人勋

发表于 2022-8-28 00:11:10 | 显示全部楼层
密码修改失败请联系微信:mofangbao
回复

使用道具 举报

新浪微博达人勋

发表于 2022-8-31 10:15:15 | 显示全部楼层
大佬,请问这是否还要再下载个NCL的插件才可以高亮显示啥的?按照大佬的分享,环境变量设置好后终端显示没有问题,就是ncl脚本还都是黑的PS感谢大佬分享哈
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

新浪微博达人勋

发表于 2022-8-31 10:21:26 | 显示全部楼层
贫道敬孔 发表于 2022-8-31 10:15
大佬,请问这是否还要再下载个NCL的插件才可以高亮显示啥的?按照大佬的分享,环境变量设置好后终端显示没 ...

插件里搜一下ncl就行
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

新浪微博达人勋

发表于 2022-8-31 11:08:46 | 显示全部楼层
zhoushiyang123 发表于 2022-8-31 10:21
插件里搜一下ncl就行

嗯嗯,感谢回复哈,搜到NCL的插件了,函数啥的都能高亮,但是貌似resource还是不能
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

新浪微博达人勋

 楼主| 发表于 2022-8-31 13:44:59 | 显示全部楼层
贫道敬孔 发表于 2022-8-31 11:08
嗯嗯,感谢回复哈,搜到NCL的插件了,函数啥的都能高亮,但是貌似resource还是不能

不好意思,没太明白resource是啥(我太菜了
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

新浪微博达人勋

发表于 2022-8-31 15:10:07 | 显示全部楼层
LDW 发表于 2022-8-31 13:44
不好意思,没太明白resource是啥(我太菜了)

别别别,大佬谦虚了,就是NCL里的res那些,应该是叫resource啥的吧
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

新浪微博达人勋

 楼主| 发表于 2022-8-31 16:53:43 | 显示全部楼层
本帖最后由 LDW 于 2022-8-31 16:55 编辑
贫道敬孔 发表于 2022-8-31 15:10
别别别,大佬谦虚了,就是NCL里的res那些,应该是叫resource啥的吧

我刚才看了一下,我的是没问题的,你的除了res的,其他的都有代码提示吗?还是说只是没有高亮,这个的话,可能是插件本来就没有吧。
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

新浪微博达人勋

发表于 2022-8-31 21:41:28 | 显示全部楼层
LDW 发表于 2022-8-31 16:53
我刚才看了一下,我的是没问题的,你的除了res的,其他的都有代码提示吗?还是说只是没有高亮,这个的话 ...

哦哦,我的就是res没有高亮,其他的都高亮呢。那就是插件的问题。最后还是谢谢楼主的分享和回答啦
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册 新浪微博登陆

本版积分规则

Copyright ©2011-2014 bbs.06climate.com All Rights Reserved.  Powered by Discuz! (京ICP-10201084)

本站信息均由会员发表,不代表气象家园立场,禁止在本站发表与国家法律相抵触言论

快速回复 返回顶部 返回列表