Skip to content

2021

VSCode-Rhino 联动写python程序的软件配置

需要以下两个操作,就能在vscode上写rhinopython:

  1. VSCode(1.6.2)端安装RhinoPython这个插件。---client side

  2. Rhino(7.1)端安装Codelistener这个插件。 ---server side

  3. 更新:

效果如下:

从VSC发送程序至Rhino运行测试,成功

从VSC发送程序至Rhino运行测试,成功。其实Rhino自带编辑器也挺好用,唯一不能忍就是自定义变量名不能补全,Rhinopython里各种长变量名简直要逆天。比金箍棒还要长的变量名,你能忍就能敲出来,不能忍就用VSCode。

其实主要就是vscode这个插件的安装配置。纯翻一下,给不想费力的同学。

以下内容来自:RhinoPython - Visual Studio Marketplace

图片载入有问题,更换了自己的图片。配置文件也使用了自己的文件。

RhinoPython

RhinoPython是一个VSCode插件,可以在VSCode编辑器内写Rhino python程序,但最终程序运行是在Rhino环境内进行的。 它不仅继承了原装Rhino python编辑器的自动补全功能,反应速度还更快,同时也能享受到VSCode提供的各种好处。

它原是DesignToProduction 的一个开源项目,供其内部使用。

从v0.1.7开始, 它同时支持Rhino 5 和Rhino 6.(本次安装使用的是7.1)

⭐ 如果喜欢用Visual Studio, 试一试RhinoPythonForVS, 那玩意更快更智能!

功能

和原装Rhino python编辑器一样。只是更高效、简单和快速。

如果可以看土鳖,可以点一下 视频链接

要求

这个插件是安装在VSCode上,RhinoPython编辑器的客户端。

程序发送到Rhino运行是通过安装在Rhino上的服务端监听VSCode,那个是Rhino插件:CodeListener

安装过程

  1. 安装 VS code
  2. 安装 python for VS code。如果不熟python for VS code,先看看这个帖子
  3. 安装 RhinoPython for VS code 下载Rhino插件CodeListener (food4rhino)并安装
  4. 打开Rhino, 点击tools(工具) -> pythonscript(python脚本) -> edit(编辑), 在Rhino python编辑器窗口,点击 tools -> options, 复制Module search path里的所有路径到文本文件备用。 目录展示
  5. 在Rhino窗口,点击 tools(工具) -> options(选项) -> Plug-ins(插件程序) -> CodeListener -> Proterties(详情), 点击文件名称后面那个链接打开资源管理器。向上两级,到达包含AutoComplete文件夹的目录。进入AutoComplete文件夹并复制 AutoComplete 文件夹的当前路径。 目录地址 打开VS Code,打开user settings(常用设置) 快捷键Ctrl+, 在搜索栏键入"python.autoComplete.extraPaths",在出现的选项中点击“在settings.json中编辑",把刚才复制的几个库路径与自动完成路径复制入设置文件。请参考以下我的配置文件内容。 设置路径

如果加入路径到python.autoComplete.extraPaths,自动补全并没有生效, 有一种可能是并没有正确定稿库文件的根目录。比如你的库 ExampleLib 在文件夹"...\Libs"下,你可能需要写入的路径是"...\Libs", 而不是"...\Libs\ExampleLib"。 请注意使用双斜杠\\

{
    "python.defaultInterpreterPath": "C:\\Program Files\\python\\python.exe",
    "python.autoComplete.extraPaths": [

        "D:\\Program Files\\Rhino 7\\Plug-ins\\IronPython\\Lib",
        "C:\\Users\\kriswu\\AppData\\Roaming\\McNeel\\Rhinoceros\\7.0\\Plug-ins\\IronPython (814d908a-e25c-493d-97e9-ee3861957f49)\\settings\\lib",
        "C:\\Users\\kriswu\\AppData\\Roaming\\McNeel\\Rhinoceros\\7.0\\scripts",
        "C:\\Users\\kriswu\\AppData\\Roaming\\McNeel\\Rhinoceros\\7.0\\Plug-ins\\CodeListener (8c4235b6-64bc-4508-9166-bef8aa151085)\\0.1.7.0\\AutoComplete"
    ],
    "python.analysis.extraPaths": [
        "D:\\Program Files\\Rhino 7\\Plug-ins\\IronPython\\Lib",
        "C:\\Users\\kriswu\\AppData\\Roaming\\McNeel\\Rhinoceros\\7.0\\Plug-ins\\IronPython (814d908a-e25c-493d-97e9-ee3861957f49)\\settings\\lib",
        "C:\\Users\\kriswu\\AppData\\Roaming\\McNeel\\Rhinoceros\\7.0\\scripts",
        "C:\\Users\\kriswu\\AppData\\Roaming\\McNeel\\Rhinoceros\\7.0\\Plug-ins\\CodeListener (8c4235b6-64bc-4508-9166-bef8aa151085)\\0.1.7.0\\AutoComplete"
    ]

}

使用方法

  • 打开Rhino, 输入命令 CodeListener。应该看到以下输出:VS Code Listener Started....

    可以把CodeListener 加入Rhino自启命令列表。 其他相关的的命令还有: StopCodeListener, CodeListenerVersion

  • 打开VS Code, 新建一个(为了使自动补全和代码分析生效,必须选择编程语言为python) 或打开一个已经有后缀.py的python文件。

  • 写好程序后,按F2发送到Rhino执行,或者按F1( Ctrl+Shift+P),在出现的>后输入CodeSender ,会看到程序在Rhino执行后的输出或错误信息。根据配置文件选项RhinoPython.ResetAndRun ,可能脚本环境会在每次发送程序前自动重置。
  • 如果需要重置Rhino Python脚本环境,在VSCode按Ctrl + R

插件设置

用户配置下有以下可选的设置项:

  • RhinoPython.Enabled: 开/关插件
  • RhinoPython.ResetAndRun: 决定每次按下F2(或发送命令CodeSender)是否重置脚本环境

已知问题

  • 调试功能暂无
  • 只支持监听一个Rhino实例。如果需要切换Rhino程序,可以关掉已经连接的Rhino实例,或给它发送命令StopCodeListener 终止监听。

答谢

VSCode里RhinoCommon的智能识别工作来源于以下项目 ironpython-stubs 。感谢 Gui Talarico.

git for Windows 初使用

1. 本地工作

  • 新建分支create new branch
    git branch <new branch name>
    
  • 切换到新分支switch to branch

    有人使用checkout,暂时不明白checkout是一个什么操作,不是特别直观,所以使用switch,命令很直观,就是切换到想要的分支。

    git switch <branch name>
    

  • 把上面两个命令合二为一,新建并切换到新分支。create and switch to new branch

    git switch -c <new branch name>
    

Hexo写博客的Hello World

欢迎使用Hexo! 这是我的第一篇文章。更多信息请参考文档。如果使用hexo中遇到任何问题,可以在问题区寻找答案,或者在GitHub上向我们提问。

0. 新建文章Create a new post

$ hexo new "My New Post"

更多信息: [写文Writing]](https://hexo.io/docs/writing.html)

1. 三板斧之一:清除缓存文章

$ hexo clean

2. 三板斧之二:生成静态文件

$ hexo g
更多信息: 生成Generating

3. 三板斧之三:发表整个blog,也就是部署,部署你懂吗,我不懂,我发表,我去年发表。

$ hexo d
更多信息: 部署Deployment