问题标签 [dsl-tools]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
517 浏览

visual-studio - Visual Studio DSL 工具和服务器资源管理器

是否可以让用户将表格从 Visual Studio Server Explorer 拖放到我自己的 DSL 图上?

我可以删除我创建的自定义域类,但想利用内置功能。

我在 Visual Studio 2010 中工作。

0 投票
3 回答
632 浏览

visual-studio-2008 - “DSL 工具”和“奥斯陆”有什么区别?

我刚刚开始使用特定领域的工具开发,并且正在使用 Visual Studio SDK DSL 工具。但是,我听说微软在特定领域的开发方面有另一项举措,称为“奥斯陆”。

我的印象是 DSL Tools 专注于图形领域特定语言,而 Oslo 专注于文本语言,但我不确定。

有人可以指出“DSL 工具”和“奥斯陆”之间有什么区别吗?

0 投票
1 回答
372 浏览

visual-studio - 如何修复 DSL 工具上模糊的图标装饰器?

我遇到了这个问题,经过广泛的研究,我发现了它的根本原因和一种对其他人有用的解决方法。

图标装饰器变得“模糊”,因为它在形状上的定位以及从像素到英寸的转换。

通常域特定语言的绘图表面具有 96dpi 的分辨率,并且图标装饰器使用 0.06 英寸的偏移量定位。将其转换为像素,它在绘图表面中变为 5.76 像素的偏移量。由于无法在屏幕上绘制“半像素”,GDI+ 会调整图像以尝试模拟“半像素”定位。这就是图像变得模糊的原因。

作为解决方法,我的建议是使用 Icon 装饰器类的 Horizo​​ntal Offset 和 Vertical Offset 属性来修复“半像素”装饰器的位置。如果您使用“0.0025”英寸作为垂直和水平偏移量,当图像定位从英寸转换为像素时,它将变为 6 像素,而不是 5.76。发生这种情况是因为现在的偏移量是默认值 0.06 英寸加上您设置的偏移量 0.0025 = 0.0625。

我还发现使用具有透明度的 png 图像会导致图像模糊,即使使用我在此处建议的偏移解决方法也是如此。将图像转换为位图格式可以解决问题。

如果有人对解决问题也有任何建议,请添加您的解决方案或解决方法。

0 投票
2 回答
485 浏览

dsl - DSL 将根元素添加到序列化

我正在寻求帮助以实现以下目标

该图代表一辆汽车,用户可以添加引擎和颜色

当我查看 XML 时,它看起来像这样:

我想做的是将汽车包裹在“车辆”内,即

我不确定实现这一目标的最佳方法。我希望将模型浏览器和生成的 XML 包装在“车辆”中,但对于所有其他意图和目的,用户仅使用汽车

信息:Visual Studio 2010、C# 和 DSL SDK for 2010

0 投票
3 回答
1442 浏览

c# - 帮助学习使用 Irony for .net

我正在努力跟上Irony的速度。我不断看到一些我还不理解的术语:终端、非终端、令牌、状态机、关联性、抽象语法树

有人可以给其中一些术语一些含义吗?我一直在阅读有关 Irony 的精彩内容,因此您可以在学习如何使用它方面提供任何帮助。

粗体字编辑

0 投票
1 回答
113 浏览

dsl - 域属性作为元素并隐藏默认值属性

我有两个问题

  1. 如何实现以下目标,我有一个名为“Property”的域类-Property 有两个属性“Type”和“Value”,它目前被序列化如下:

我需要它格式化为

但我不确定如何?我已将 Value 设置为表示一个元素,这确实解释了为什么它拥有自己的标签但我不想要它们。

  1. 我有另一个类 - Parameter - 它有一个 IsCollection (a bool) 的属性,我希望 IsCollection 属性只有在设置为 true 时才被序列化,这可能吗?

IE

除此以外

谢谢菲尔

0 投票
2 回答
460 浏览

c# - DSL 自定义构造函数 - 仅在创建时调用而不加载

信息:VS2010、DSL 工具包、C#

我的一个域类上有一个自定义构造函数,它添加了一些子元素。我有一个问题,因为我只希望在创建域类元素时运行它,而不是每次打开图表时(调用构造函数)

0 投票
1 回答
545 浏览

visual-studio - 对 VSIP 开发版中的 Visual Studio 包的 Plk 验证进行故障排除

我有一个自定义域特定语言项目,该项目是不久前开发的,已部署并在普通 Visual Studio 配置单元内的同一台机器上运行,没有任何问题。

服务器已重新安装,我正在尝试再次设置环境,以便普通配置单元(它是 Visual Studio VSIP Edition SP1,带有 Visual Studio 2008 SDK)可以使用 DSL。

但是 VSPackage 没有加载。包负载分析器给我一个“Plk 验证”错误。“无法读取包 {guid} 的以下值之一 - 公司名称、包 Guid、产品名称、产品版本、最低版本。”

现在我知道如果我要部署到非 VSIP 版本(或使用 /noVSIP 运行 devenv),我需要从 Microsoft 获得 Plk,但由于我在开发 DSL 的同一台开发机器上运行,应该有一个发展Plk。Visual Studio 在开始时也告诉我:

如果我启动 DSL 项目并在实验性配置单元中对其进行调试,那么一切正常,包被加载并显示所有自定义编辑器。

关于如何进一步解决此问题的任何想法?

问题是否可能在于 DSL 项目是在不同的服务器上创建的,即使我已经在新服务器上重新编译了所有内容,但开发密钥在某种程度上与服务器相关并且附加在项目文件中的某处?如果是这样,知道在哪里吗?

0 投票
1 回答
105 浏览

c# - DSL Beta 2 - 连接器名称 - 为什么它不在图表文件中?

我正在创建一个 DSL,我想将两个实体与一个连接器相关联,但我不希望 EntityMoniker 位于底层 XML 中,我需要它位于图表文件中。我不确定为什么它不会自动出现在图表文件中,因为这似乎是保存所有“关于”图表的信息的地方。

如果我手动删除元素,那么显然当我再次打开图表时,连接就消失了。

IE

0 投票
2 回答
204 浏览

user-interface - 我的 .NET DSL 的最佳 IDE/GUI 是什么?

作为一项学习练习,我正在构建一个基于 .NET 的基本科学计算环境。我希望应用程序的 GUI 很像 matlab,因为我有一个交互式窗口、一个对象窗口和生成可视化窗口的工具。我的命令窗口中的 Intellisense 会非常好。似乎视觉工作室本身几乎可以以这种方式使用,这是一个可行的选择吗?在 VS 环境中创建可视化似乎是唯一的障碍。我能在这里做什么?

我想 Eclipse 也是一个选项,但如果可能的话,我更愿意完全使用 .NET。

还有其他建议吗?