揭秘Polyglot Notebooks黑科技:如何在VSCode中实现多语言协同编程

第一章:Polyglot Notebooks概述

Polyglot Notebooks 是一种现代化的交互式开发环境,支持在单个文档中混合使用多种编程语言。它基于 .NET Interactive 内核构建,允许开发者在 Jupyter Notebook 或 Visual Studio Code 等工具中编写并执行跨语言代码块,极大提升了数据科学、教学演示和多语言项目协作的灵活性。

核心特性

  • 支持多种语言内核,包括 C#、F#、Python、PowerShell、JavaScript 和 SQL
  • 可在同一笔记本中无缝切换语言并共享变量
  • 与主流编辑器集成,如 VS Code 和 JupyterLab

典型应用场景

场景说明
数据分析使用 Python 进行数据处理,结合 C# 实现高性能计算逻辑
技术教学在同一文档中对比不同语言的实现方式,便于学习理解
自动化脚本开发混合 PowerShell 与 JavaScript 实现系统管理与前端调用

快速开始示例

以下代码展示如何在 Polyglot Notebook 中定义一个 C# 变量,并在 Python 中调用:
// 在 C# 单元格中定义变量
#r "nuget: Newtonsoft.Json, 13.0.1"
var message = "Hello from C#";
var count = 42;
// 导出变量供其他语言使用
#!share --to python message count
# 在相邻的 Python 单元格中接收变量
print(f"Message: {message}, Count: {count}")
import numpy as np
data = np.random.rand(count)
print(data)
上述代码首先在 C# 环境中声明变量并通过 #!share 指令将其导出至 Python 上下文,随后 Python 代码即可直接访问这些变量,实现跨语言协同执行。
graph LR A[C# Kernel] -->|Export Variables| B(.NET Interactive Host) B -->|Import Variables| C[Python Kernel] D[VS Code] --> B E[Jupyter Notebook] --> B style A fill:#f9f,stroke:#333 style C fill:#bbf,stroke:#333

第二章:核心架构与多语言支持机制

2.1 Polyglot Notebooks的底层运行原理

Polyglot Notebooks 的核心在于其基于语言服务器协议(LSP)和内核抽象层的多语言协同机制。它通过统一的执行上下文管理,使不同语言代码块共享数据空间。
执行模型与内核通信
每个代码单元由对应的语言内核处理,通过 Microsoft.DotNet.Interactive 构建的通用内核管道进行调度:

var kernel = new CSharpKernel();
kernel.UseNuGetDirective();
kernel.AddDirective(new LoadCsvDirective("data"));
上述代码注册了 NuGet 包支持并加载 CSV 指令,展示了内核如何扩展功能。指令通过抽象语法树(AST)解析后交由 LSP 处理。
跨语言数据交换
变量在不同语言间传递时,系统自动序列化为公共中间表示(CIR),确保类型一致性。
语言变量名运行时表示
PythonxPyObject → CLR object
C#yint → Python int

2.2 多语言内核(Kernel)协同工作机制

在复杂系统架构中,多语言内核通过统一的通信协议实现跨语言协同。各语言内核以插件化方式接入主控调度器,共享任务队列与上下文环境。
数据同步机制
内核间通过共享内存+消息队列双通道进行数据交换,确保高吞吐与低延迟:
// Go 内核实现数据发布
func Publish(data []byte) {
    sharedMemory.Write("latest_data", data)
    messageQueue.Send(&Message{
        Topic: "kernel.update",
        Body:  data,
    })
}
该函数将数据写入共享内存区,并向消息总线广播更新事件,Python 或 Java 内核可订阅该主题实时获取变更。
执行调度流程
  • 主调度器解析任务依赖图
  • 按语言类型分发至对应内核队列
  • 跨语言调用通过 gRPC 接口桥接
  • 结果汇总至统一上下文空间

2.3 语言间数据对象共享与序列化策略

在跨语言系统集成中,数据对象的共享依赖于统一的序列化机制。不同运行时环境(如 JVM、V8、CPython)间的内存模型互不兼容,必须通过中间格式进行转换。
常见序列化格式对比
格式可读性性能语言支持
JSON高中广泛
Protobuf低高多语言官方支持
MessagePack低高主流语言覆盖
Go 中使用 Protobuf 示例
syntax = "proto3";
message User {
  string name = 1;
  int32 age = 2;
}
该定义经编译后生成多语言绑定代码,确保结构体在 Go、Python、Java 等环境中具有一致的二进制表示。字段编号(如 `=1`, `=2`)是序列化关键,不可变更。
序列化选择原则
  • 微服务间通信优先选用 Protobuf 以提升吞吐量
  • 前端交互推荐 JSON,便于调试与兼容性处理
  • 嵌入式场景可考虑 MessagePack 节省带宽

2.4 跨语言依赖管理与环境隔离实践

在现代多语言协作开发中,跨语言依赖管理成为保障项目稳定性的关键环节。不同语言生态(如 Python、Node.js、Go)各自拥有独立的包管理机制,需通过统一策略实现版本对齐与环境复现。
依赖隔离方案对比
语言包管理工具环境隔离方式
Pythonpip + requirements.txtvirtualenv
Node.jsnpm/yarnnode_modules + .nvmrc
Gogo modmodule + GOPATH isolation
标准化构建流程示例
# 统一入口脚本确保环境一致性
./scripts/setup-env.sh

# 各语言独立安装依赖
pip install -r py-requirements.txt --no-cache-dir
npm install --production
go mod download
该脚本通过分步执行各语言依赖拉取,结合 CI 环境缓存机制提升构建效率,避免因本地环境差异导致部署失败。

2.5 性能开销分析与优化路径

性能瓶颈识别
在高并发场景下,核心瓶颈常出现在I/O等待与锁竞争。通过pprof工具可定位CPU与内存热点,典型表现为goroutine阻塞在互斥锁获取阶段。
优化策略对比
  • 减少锁粒度:将全局锁拆分为分片锁
  • 异步化处理:将日志写入、监控上报等非核心逻辑异步执行
  • 对象复用:利用sync.Pool降低GC压力

var bufferPool = sync.Pool{
    New: func() interface{} {
        return make([]byte, 1024)
    },
}
// 获取对象避免重复分配
buf := bufferPool.Get().([]byte)
defer bufferPool.Put(buf)
上述代码通过sync.Pool复用缓冲区,显著减少内存分配次数。New函数定义初始对象构造方式,Put回收对象供后续Get复用,适用于频繁创建销毁临时对象的场景。

第三章:在VSCode中配置与使用Polyglot Notebooks

3.1 安装扩展与初始化开发环境

为构建高效的开发工作流,首先需安装必要的编辑器扩展并配置基础环境。推荐使用 Visual Studio Code,并安装 Go 相关插件以获得智能提示、格式化和调试支持。
必备扩展清单
  • Go for Visual Studio Code:提供语言服务器支持
  • Code Runner:快速执行代码片段
  • GitLens:增强版本控制体验
初始化项目结构
执行以下命令创建模块并初始化环境:
go mod init example/project
go get -u golang.org/x/lint/golint
该命令创建 go.mod 文件以管理依赖,并下载静态分析工具。后续可通过 golint 检查代码规范性,提升可维护性。

3.2 创建多语言Notebook并运行代码块

在Jupyter Notebook中,可通过安装`jupyterlab-lsp`与`xeus-cling`等内核支持多语言混合编程。一个Notebook可同时包含Python、C++、Julia等代码块。
配置多语言环境
  • 安装conda-forge源:`conda install -c conda-forge xeus-cling`
  • 启用C++支持:`pip install jupyterlab`
  • 重启JupyterLab后即可选择C++11、C++14等内核
跨语言代码执行示例
// C++代码块
#include <iostream>
int x = 42;
std::cout << "Value: " << x << std::endl;
该代码定义了整型变量x并输出其值。通过xeus-cling内核,Jupyter能实时编译并执行C++语句,结果嵌入下方单元格。 不同语言间虽不直接共享变量空间,但可通过文件或内存映射实现数据传递。

3.3 混合语言编程的实际操作示例

在实际开发中,混合语言编程常用于结合不同语言的优势。例如,使用 Go 编写高性能服务端逻辑,同时调用 Python 实现的机器学习模型。
Go 调用 Python 脚本示例
package main

import (
    "os/exec"
    "fmt"
)

func main() {
    cmd := exec.Command("python3", "model.py", "input.json")
    output, err := cmd.Output()
    if err != nil {
        panic(err)
    }
    fmt.Println(string(output))
}
该代码通过 exec.Command 调用外部 Python 脚本,传递参数并获取输出。适用于模型推理等解耦场景,进程间通信开销较低。
数据交换格式选择
  • JSON:通用性强,适合结构化数据传输
  • Protobuf:高效序列化,跨语言支持良好
  • CSV:适用于表格类数据批量处理

第四章:典型应用场景与实战案例

4.1 Python与C#数据处理流水线集成

在现代数据工程架构中,Python与C#常被用于互补的数据处理场景。Python擅长数据分析与机器学习,而C#在企业级应用和Windows服务中表现优异。通过标准化接口实现二者协同,可构建高效的数据流水线。
跨语言通信机制
采用REST API或gRPC作为通信桥梁,Python端使用Flask暴露数据处理接口,C#通过HttpClient调用。
from flask import Flask, jsonify
app = Flask(__name__)

@app.route('/process', methods=['POST'])
def process_data():
    # 接收C#客户端发送的JSON数据并处理
    data = request.get_json()
    result = {"status": "processed", "count": len(data)}
    return jsonify(result)
该接口接收C#提交的数据集,执行清洗与统计分析。C#端使用Newtonsoft.Json序列化对象后发送请求,实现无缝集成。
性能对比
方案延迟(ms)吞吐量(req/s)
REST/JSON15800
gRPC81200

4.2 在同一Notebook中调用JavaScript进行前端可视化

在Jupyter Notebook中,可通过IPython.display模块直接嵌入JavaScript代码,实现动态前端可视化。
执行JavaScript的机制
使用display(Javascript(...))可在单元格中执行原生JavaScript,结合HTML容器渲染图表。
from IPython.display import display, Javascript

js_code = """
element.append('<div id="vis"></div>');
require.config({ paths: { d3: "https://d3js.org/d3.v7.min" } });
require(['d3'], function(d3) {
  d3.select("#vis").append("p").text("动态可视化已加载");
});
"""
display(Javascript(js_code))
上述代码先向当前输出单元格插入一个
容器,随后通过require加载D3.js库,并在其中渲染文本内容。该机制支持集成任意前端可视化库(如D3、Chart.js),实现数据驱动的图形展示。
应用场景
  • 实时数据仪表盘构建
  • 交互式图表嵌入
  • 自定义动画与用户反馈界面

4.3 使用F#进行函数式编程辅助分析

在金融与数据科学领域,F# 凭借其强大的类型推断和不可变数据结构,成为函数式分析的理想选择。
核心优势
  • 不可变性确保数据处理无副作用
  • 管道操作符(|>)提升代码可读性
  • 模式匹配简化复杂逻辑分支
示例:风险评估函数
let assessRisk (amount: decimal) (score: int) =
    match amount with
    | amt when amt > 10000M && score < 500 -> "High"
    | amt when amt > 5000M && score < 600 -> "Medium"
    | _ -> "Low"
该函数通过模式匹配对贷款金额与信用评分组合进行分类。参数 `amount` 为贷款额度,`score` 为用户信用分。利用 F# 的表达式匹配能力,避免条件嵌套,逻辑清晰且易于扩展。
性能对比
语言开发效率运行速度
F#高中
C#中高

4.4 构建跨语言机器学习实验工作流

在多语言协作的机器学习项目中,构建统一且高效的实验工作流至关重要。通过标准化接口与模块化设计,可实现 Python、R、Julia 等语言间的无缝协同。
数据同步机制
使用共享存储(如 Parquet 文件或 Redis)作为中间层,确保各语言环境访问一致的数据版本。
# Python 写入共享数据
import pyarrow.parquet as pq
import pandas as pd

df = pd.DataFrame({'feature': [1, 2, 3], 'label': [0, 1, 0]})
pq.write_table(pa.Table.from_pandas(df), 'data/shared_dataset.parquet')
该代码将 Pandas 数据框保存为 Parquet 格式,R 和 Julia 均可通过对应库读取,保证数据一致性。
任务调度策略
  • 使用 Airflow 或 Prefect 编排跨语言脚本调用
  • 通过 shell 操作触发 Rscript 或 julia 执行模型训练
  • 日志统一归集至中央存储便于追踪

第五章:未来展望与生态发展

跨平台模块化架构演进
现代 Go 应用正朝着高度模块化方向发展。通过 go mod 管理依赖,开发者可轻松集成微服务组件。以下是一个典型的模块化项目结构示例:

// main.go
package main

import (
    "github.com/example/api"
    "github.com/example/service"
)

func main() {
    router := api.NewRouter()
    svc := service.NewUserService()
    router.Handle("/user", svc.GetUser)
    router.Start(":8080")
}
云原生生态整合趋势
Kubernetes 与 Istio 的普及推动了 Go 在服务网格中的深度应用。企业级项目普遍采用如下技术栈组合:
  • Prometheus 实现指标监控
  • gRPC 替代 REST 提升通信效率
  • Envoy 作为边车代理处理流量
  • Operator 模式自动化资源管理
开发者工具链优化实践
高效的 CI/CD 流程依赖于标准化工具集成。某金融科技公司实施的流水线配置如下:
阶段工具作用
构建GoReleaser生成多平台二进制包
测试Testify + Mockery单元与接口测试覆盖
部署Argo CDGitOps 驱动的持续交付
[代码提交] → [GitHub Action 构建] → [Docker 镜像推送] → [K8s 滚动更新]

相关推荐

多语言笔记系列:Polyglot Notebooks 中使用 Html

多语言笔记系列:Ployglot Notebooks 使用 html

bicijinlian的专栏 385

【杂谈】一个快速的C#代码学习环境(Jupyter Notebook 中跑 C# 代码)

JupyterNotebook里执行C#代码,快速学习、测试特性

几何螃蟹的代码笔记 2599

Polyglot Notebooks 系列:使用Html

笔记文件及相关资源,可拿来直接使用。当然本机要有Polyglot Notebooks 环境。

揭秘Polyglot Notebooks黑科技:如何在VSCode中实现多语言无缝交互计算

掌握多语言交互计算新方式!通过VSCode的Jupyter Notebook扩展(Polyglot Notebooks),实现在单一笔记本中无缝切换Python、R、C#等语言协同计算,提升开发效率。支持实时共享变量、跨语言调用,适用于数据科学与混合技术栈项目,值得收藏。

ProcePerch的博客 1112

保姆级教程:用Java和HslCommunication库搞定三菱PLC数据读写(附完整代码)

本文提供了一份详细的Java与三菱PLC通信教程,通过HslCommunication库实现高效数据读写。内容涵盖环境配置、通信模式选择、数据类型操作、异常处理及性能优化,并附有完整代码示例,帮助开发者快速掌握工业自动化中的PLC数据交互技术。

weixin_28731223的博客 227

MuJoCo 关节角速度记录与可视化,监控机械臂运动状态

1. 手动计算关节速度,其中timestep为仿真步长。2. 使用data.qvel直接取得关节速度。

darcsdn 767

【独家揭秘】微软内部都在用的VSCode插件:Polyglot Notebooks究竟有多强?

解决多语言编程难题,VSCode 的 Jupyter Notebook 扩展(Polyglot Notebooks)支持Python、R、.NET等多种内核,适用于数据科学、教学演示与跨语言协作。集成化环境提升开发效率,交互式笔记体验更流畅,值得收藏。

CompiShoal的博客 1166

PFC中pb模型实战:从胶结参数设置到破坏模拟全流程解析

本文详细解析了PFC软件中平行胶结模型(PB模型)的实战应用全流程。从胶结参数(pb_kn, pb_ks, pb_ten等)的物理意义与精准赋值入手,深入探讨了模型构建、胶结施加以避免初始损伤的技巧,并系统介绍了破坏过程的监测、阈值判定方法以及高级可视化与常见问题诊断。旨在帮助岩土工程与颗粒材料研究者掌握从参数调试到破坏模拟的核心操作,提升数值模拟的准确性与效率。

php55的博客 1074

VSCode + Jupyter = 开发神器?(Polyglot Notebooks实战指南)

掌握多语言编程新利器,VSCode 的 Jupyter Notebook 扩展(Polyglot Notebooks)让开发更高效。支持Python、SQL、C#等混合编码,实现实时交互与可视化,适用于数据科学、教学演示和自动化脚本。集成强大编辑功能,提升协作效率,值得收藏。

InstrGap的博客 1122

深度学习 load_data_fashion_mnist

pytorch 中报错:PermissionError: [WinError 5] 拒绝访问。: '…/data’ 在学习李沐大神动手学习深度学习卷积神经网络章节中,调用d2l包中load_data_fashion_mnist报错,这可能是***权限***的问题。 batch_size = 256 train_iter, test_iter = d2l.load_data_fashion_mnist(batch_size,batch_size) 我的解决方法是 重新定义一下 load_data_fashi

纸上得来终觉浅,绝知此事要躬行 9148

macOS Jdk1.8安装(目前主流版本的jdk)

添加环境环境变量,类似于windows的高级设置中path配置的环境变量。查看 JAVA_HOME 目录。查看 JDK 版本信息。一直下一步安装就好了。在终端的根目录下运行。

m0_50207524的博客 9352

【VSCode中Jupyter Notebook扩展全攻略】:掌握Polyglot Notebooks的5大核心技巧

掌握VSCode的Jupyter Notebook扩展(Polyglot Notebooks)核心技巧,提升多语言编程效率。支持Python、.NET、Java等混合编码,实现实时交互与调试。涵盖安装配置、多内核管理、代码可视化等五大实用方法,适用于数据科学与教学场景,值得收藏。

FuncWander的博客 1090

数据安全实战技能解析:从加密攻防到数字水印的竞赛指南

数据安全是信息安全领域的核心,其基础在于密码学与信息隐藏技术。密码学通过加密算法(如AES、RSA)和哈希函数,保障数据的机密性与完整性,其原理涉及对称/非对称加密、工作模式及密钥管理。数字水印技术则基于信号处理(如DCT/DWT变换),将信息嵌入多媒体载体,用于版权保护与溯源。这些技术的价值在于为数据全生命周期提供“防泄漏”与“可追溯”的解决方案,广泛应用于企业数据治理、合规审计和**数据防泄漏(DLP)** 系统。本文以一场贴近实战的**数据安全职业技能竞赛**为切入点,深入剖析如何运用密码分析、磁盘取

weixin_34314962的博客 402

VSCode + Jupyter = 开发神器?深度剖析Polyglot Notebooks的7个隐藏功能

提升开发效率?深度解锁VSCode的Jupyter Notebook扩展(Polyglot Notebooks)7大隐藏功能,支持多语言内核、实时协作与交互式调试,适用于数据科学、AI开发与教学场景。关键技巧一文掌握,值得收藏。

VarChat的博客 631

手把手教你学Simulink--FIR滤波器的设计与优化仿真

FIR滤波器的设计目标通常包括指定的频率响应特性(如低通、高通、带通或带阻),以及特定的应用需求(如线性相位、最小化误差等)。Simulink提供了一个直观且强大的平台来模拟这些设计,并允许用户通过调整参数实时观察其对系统性能的影响。明确你的系统需求,比如输入信号类型(如正弦波组合)、采样率、FIR滤波器的设计参数(如滤波器类型、阶数、截止频率等)。假设我们需要设计一个低通FIR滤波器,用来去除高于1kHz的所有频率成分,保留低于1kHz的信号成分。采样率为8kHz。

MHD0815的博客 346

基于STM32L4XX、HAL库的BQ27520YZFR-G4 电量监测计驱动程序设计

(可选) -------- TS (Pin 3) 连接温度传感器。(可选) -------- BAT (Pin 2) 连接电池正极。// 假设I2C1已初始化。// 每5秒更新一次。// 短暂延时确保数据准备好。支持Impedance Track™技术,提供高精度电量测量。适用于便携式设备如智能手机、平板电脑等。// 可添加初始化验证代码。// 初始化BQ27520。// 发送控制子命令。// 配置模拟滤波器。// 配置数字滤波器。// I2C1初始化函数。

zhusl6688的博客 244

【VSCode中Jupyter Notebook扩展终极指南】:掌握Polyglot Notebooks的5大核心技巧

掌握VSCode的Jupyter Notebook扩展(Polyglot Notebooks)核心技巧,提升多语言编程效率。支持Python、SQL、C#等混合执行,实现实时交互与可视化。涵盖安装配置、单元格调试、内核管理、版本控制协同及性能优化五大方法。适用于数据科学、教学演示与工程协作场景,值得收藏。

StepNexus的博客 855

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

如何用VSCode + Polyglot Notebooks构建下一代可编程文档?(独家实践路径)

掌握VSCode的Jupyter Notebook扩展(Polyglot Notebooks),轻松构建支持多语言的下一代可编程文档。适用于数据科学、教学与技术写作,实现代码、文本与可视化无缝融合。高效协作、实时运行,提升开发效率,值得收藏。

StepLens的博客 609

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

VSCode的Jupyter扩展全面解析(Polyglot Notebooks功能全曝光)

掌握多语言编程利器,VSCode 的 Jupyter Notebook 扩展(Polyglot Notebooks)支持Python、.NET、Java等多内核协同,适用于数据科学与教学场景。提供交互式编程体验、无缝语言切换与丰富可视化,提升开发效率,值得收藏。

simcode的专栏 727

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

Polyglot Notebooks环境安装及注册Python Kernel

Polyglot Notebook是一个由微软开发的交互式编程环境,它允许用户在一个笔记中混合使用多种编程语言,如:C#、F#、Powershell、JavaScript、SQL、Python、R等。这个工具通过.NET Interactive引擎实现,旨在提高开发者在处理数据分析和机器学习任务时的效率和灵活性。 .NET Interactive官方文档:Github地址Polyglot Notebook = 交互式编程笔记本 = Markdown + CodingJupyter Notebook是一个基

xiaouncle的博客 815

还在用传统Notebook?(切换Polyglot Notebooks的三大理由与迁移方案)

告别传统Notebook卡顿与语言限制,VSCode 的 Jupyter Notebook 扩展(Polyglot Notebooks)支持多语言协同、启动更快、集成更流畅。适用于数据科学、跨语言开发等场景,提供无缝迁移方案与内核配置指南,提升开发效率。值得收藏,点击了解详情。

GatherTide的博客 698

从零到专家:VSCode中Polyglot Notebooks实战技巧,提升开发效率300%

掌握VSCode的Jupyter Notebook扩展(Polyglot Notebooks),提升多语言开发效率。支持Python、SQL、C#混合编程,实现实时调试与交互式计算,适用于数据科学与AI开发。集成丰富内核,简化工作流,值得收藏。

QuickProceed的博客 967

为什么顶级工程师都在悄悄使用Polyglot Notebooks?揭秘其架构设计精髓

掌握多语言编程难题?VSCode 的 Jupyter Notebook 扩展(Polyglot Notebooks)支持跨语言内核协同,适用于数据科学与AI开发场景,融合交互式编程与工程化工作流。架构设计灵活高效,提升开发效率,值得收藏。

QuickTrans的博客 1036

【数据科学家必备工具】:为什么你必须立即升级到VSCode的Polyglot Notebooks?

提升数据科学效率就靠它!VSCode 的 Jupyter Notebook 扩展(Polyglot Notebooks)支持多语言内核、实时协作与交互式可视化,适用于机器学习、数据分析和跨语言项目开发。告别环境配置烦恼,享受流畅编码体验,值得收藏。

QuickSolve的博客 358

【数据科学家必备工具链】:为什么Polyglot Notebooks正在重塑你的编码方式?

提升多语言编程效率,VSCode 的 Jupyter Notebook 扩展(Polyglot Notebooks)支持Python、R、Julia等混合编码,适用于数据科学、AI开发与教学场景。无缝集成开发环境,实现实时协作与可视化分析,提升迭代速度。值得收藏

CodeNexus的博客 1022

多语言笔记系列:Polyglot Notebooks 多种使用方式

NET Interactive生态,大约由:前端UI(Jupyter、VSCode等)、交互协议(PMP、JMP)、执行器(.net interactive)和语言服务组成。有多种组合方式,来使用。最常用的还是 VS Code(Polyglot Notebooks插件)充当前端UI,调用 .net interactive 执行器。VS Code。

bicijinlian的专栏 749
上一篇: 容器生态巨变:Docker兼容模式下Podman 5.0性能反超的3个核心技术点
下一篇: 【专业级开发环境搭建】:从零配置VSCode支持PowerShell 7.4与Zsh 5.9
DebugLoom
博客等级 码龄1年 176粉丝 2107原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值