标签: code-generation

当XML文件发生更改时,如何强制Visual Studio 2008从T4模板重新生成代码?

我从单个XML文件生成了相当多的代码,但模板组织在两个不同的T4模板中.每当我更改XML文件时,我都要记得打开这两个*.tt文件,简单地更改它们(添加/删除空格)并再次保存它们以确保生成代码.

这不是正确的方法!

理想情况下,如果XML文件已更改,我希望Visual Studio 2008对T4文件执行文本转换.我有点迷失,因为我不知道Visual Studio如何构建C#项目,所以指向这个方向的指针也会有所帮助(我可以尝试自己解决).

c# t4 code-generation visual-studio-2008

5
推荐指数
1
解决办法
2068
查看次数

如何自动将纯代码转换为使用可变数组提高效率的代码?

这是一个Haskell问题,但我也对其他语言的答案感兴趣.有没有办法自动翻译纯函数代码,编写处理列表或不可变数组而不进行任何破坏性更新,代码使用可变数组提高效率?

在Haskell中,生成的代码将在STmonad中运行(在这种情况下它将全部包装在runST或中runSTArray)或在IOmonad中运行,我假设.

我最感兴趣的是适用于任何元素类型的通用解决方案.

我以为我以前见过这个,但我不记得在哪里.如果它还不存在,我有兴趣创建它.

arrays optimization haskell code-generation mutable

5
推荐指数
1
解决办法
429
查看次数

为什么Go使用自己的Code生成器?

Go的当前官方编译器(http://code.google.com/p/go/)目前使用手工制作的,可以说是神秘的代码生成器,其中包括将自定义部分注入ELF二进制文件.

这种方法产生了很多与直接读取和/或写入ELF信息的实用程序相关的错误,例如ldd,objdump或strip.

我相信这可以通过使用经过良好测试的跨平台代码生成器(例如LLVM)来防止,然后只使用OS附带的链接工具,例如ld在Unix/Linux(或ld.exe在Windows link.exe上使用MinGW),或在Windows上使用视觉工作室.

那么为什么Go使用它自己的代码生成器呢?它真的只是重新发明轮子吗?或者背后有更重要的原因吗?

code-generation elf go

5
推荐指数
1
解决办法
1047
查看次数

Visual Studio 2010设计器代码模板

就像标题所说:有没有办法改变VS用来创建设计器文件的模板?例如控件或其事件的命名约定.我做了一些研究,但只能找到一些较旧的帖子,基本上说"不是不是",也许在过去几个月左右有些变化......

我能够识别用于创建类的默认模板的文件夹,该模板在开头"C:\ Program Files(x86)\ Microsoft Visual Studio 10.0\Common7\IDE\ItemTemplates\CSharp\Windows Forms\1033"中创建.但我仍然在寻找生成事件方法等的模板......

编辑:对不起,如果我混淆了我的问题.正如Basti所说,我确实寻找两者,更改类模板(你可以通过改变模板文件,在VS目录C:\ Program Files(x86)\ Microsoft Visual Studio 10.0\Common7\IDE\ItemTemplates中找到)并且还更改了生成字段,事件名称等的命名约定.

code-generation visual-studio-2010 windows-forms-designer

5
推荐指数
1
解决办法
1282
查看次数

如何为Pharo或Squeak中的类自动生成getter/setter代码?

我有一个很长的实例变量列表要为我想要生成代码的类创建,而不是手工完成.该列表来自现有的SQL数据库.我的目的是首先使用Smalltalk以纯面向对象的方式完成所有操作,并且随着我了解更多,将数据保存回数据库并直接从中进行工作.

有没有办法将名称列表传递给将生成它们的方法并将它们添加到类定义中?

实际上有一种在Smalltalk中动态添加或修改类定义的方法吗?我怀疑必须有,我想知道最佳实践方法.

更新:我想到的更像是将实例变量列表传递给将自动创建它们的方法.

它更像是:

addVariablesAndAccessors className: MyClass variablesList: ('aaaa', 'bbbb', 'cccc')

然后会调用

AddVariables className: MyClass variableList: ('aaaa' 'bbbb' cccc')

和

generateAccessors className: MyClass variableList: ('aaaa' 'bbbb' cccc')

code-generation smalltalk pharo getter-setter

5
推荐指数
2
解决办法
2516
查看次数

自修改C#(MSIL)代码?

如何使用C#/ .NET动态修改内存中的MSIL代码?

是的,我真的想要替换已经在内存中的现有代码.
具体来说,我不是:

  • 期待只生成新代码(通过表达模板,ILGenerator等)
  • 试图发出一个新的二进制模块,希望稍后将其加载到内存中

c# code-generation reflection.emit ilgenerator

5
推荐指数
1
解决办法
1350
查看次数

UML的泛化和实现

我对UML很新,所以我对泛化和实现有一些疑问.我正在模拟电子微控制器的行为,我需要从UML描述生成C++代码.

据我所知,一个类 实现了一个接口,这意味着它可以提供一个接口的实现.甲一般化关系可以两个类之间存在.在这种情况下,派生类继承基类的所有成员,并获得对公共成员和受保护成员的访问权限.

这是我的问题(我使用Visual Paradigm作为建模工具).我们假设我们有一个微控制器的模块,即Timer.我们有一组我们可以执行,说的操作initTimer(),startTimer(),stopTimer()等等.实际上这些函数定义了一种API.我们可能有不同类别的Timer,比方说TimerA,TimerB,TimerC继承(或实施?)所有的引用操作.这张照片可能会使情景更加清晰.[C]表示分类器.

                        +----------------------------------+   
                        |              <<SW>>              |
                        |           <<Singleton>>          |
         +--------------|              TimerA              |
         |              +----------------------------------+
         |              | -instance : TimerA* = null [C]   |
         |              | -instanceFlag : bool = false [C] |
         |              | -moduleAddress const = 0x0010    |
         |              +----------------------------------+
         |              | -TimerA()                        |
         V              | +getInstance() : TimerA* [C]     |
+---------------+       +----------------------------------+
| …
Run Code Online (Sandbox Code Playgroud)

uml code-generation class visual-paradigm generalization

5
推荐指数
1
解决办法
8818
查看次数

从纯Java生成jOOQ类

有没有办法从纯Java代码生成jOOQ类?如果没有,最接近的替代方案是什么?理想情况下,我想在gradle构建中执行此操作.

我找到了这个答案,链接到这篇博文.这篇文章的精髓是这样的:

  1. 从JPA模型开始
  2. 将其转换为DDL脚本(.sql文件中充满了CREATE语句)
  3. 创建一个新的HSQLDB文件,并通过在其上运行该DDL脚本来填充表.将生成的数据库保存到磁盘.
  4. 从磁盘加载该DB并在其上运行jOOQ代码生成
  5. 使用生成的生成的jOOQ类.

关于这种方法有三件事让我困扰:

  • 那篇博文在Maven(&Ant)中完成了所有工作.我想使用Gradle,但我可以解决这个问题.
  • 我必须从JPA开始.我更喜欢从我的架构的纯jOOQ定义开始.jOOQ是否有模式定义DSL/API?
  • 作为最终产品,不需要中间步骤(DDL脚本和HSQLDB创建).相反,他们只需要将JPA模型转换为jOOQ理解为输入的东西.应该有一个更整洁(仅限Java)的方式,即使jOOQ没有自己的架构定义API.有吗?

java ddl code-generation database-schema jooq

5
推荐指数
1
解决办法
2516
查看次数

使用JavaPoet注释代码Gen

我正在使用JavaPoet编写代码生成器,需要在类上添加注释

例如 :

@RequestMapping("/api")
public class SomeResource {
   // rest of the code elided
}
Run Code Online (Sandbox Code Playgroud)

我能够做到这一点:

TypeSpec spec = TypeSpec
   .classBuilder("SomeResource")
     .addAnnotation(AnnotationSpec.builder(RequestMapping.class)
     // what should go here?
     .build())
   .build();
Run Code Online (Sandbox Code Playgroud)

AnnotationSpec.Builder中有一个addMember方法,但似乎没有做我想要的.

java code-generation javapoet

5
推荐指数
1
解决办法
1115
查看次数

使用TextTransform.exe在sitecore中生成TDS代码

我正在使用Sitecore 8.2更新4中的TDS编写代码生成模板,我正在使用这些.tt文件https://github.com/HedgehogDevelopment/tds-codegen/tree/master/Sitecore.Master/Code%20Generation%20Templates.我想在批处理文件中使用TextTransform.exe生成代码,那么正确的方法是什么?请指导我..

t4 code-generation sitecore tds .net-standard

5
推荐指数
1
解决办法
88
查看次数