【发布时间】:2013-01-10 11:40:06
【问题描述】:
我正在寻找一种一键式检查预处理或汇编输出的方法。 打开文件属性,更改相应设置,编译,进入obj目录并手动打开生成的文件,这很乏味。
是否有人知道任何 Visual Studio 插件、宏或任何可以自动执行此任务的东西?
【问题讨论】:
标签: visual-studio-2010 visual-studio macros automation visual-studio-macros
我正在寻找一种一键式检查预处理或汇编输出的方法。 打开文件属性,更改相应设置,编译,进入obj目录并手动打开生成的文件,这很乏味。
是否有人知道任何 Visual Studio 插件、宏或任何可以自动执行此任务的东西?
【问题讨论】:
标签: visual-studio-2010 visual-studio macros automation visual-studio-macros
编辑:VS 11+ 的扩展可用@https://github.com/Trass3r/DevUtils
我通过创建一个不错的宏自己解决了这个问题。 它更复杂,但基本上是这样工作的:
Imports EnvDTE
Imports Microsoft.VisualStudio.VCProjectEngine
Dim doc As EnvDTE.Document = DTE.ActiveDocument
Dim prj As VCProject = doc.ProjectItem.ContainingProject.Object
Dim file As VCFile = prj.Files.Item(doc.Name)
Dim fileconfigs As IVCCollection = file.FileConfigurations
Dim fileconfig As VCFileConfiguration = fileconfigs.Item("Release|x64")
Dim tool As VCCLCompilerTool = fileconfig.Tool
Dim asmFile = System.IO.Path.GetTempFileName + ".asm"
tool.WholeProgramOptimization = False
tool.AssemblerOutput = asmListingOption.asmListingAsmSrc
tool.AssemblerListingLocation = asmFile
fileconfig.Compile(True, True)
Dim window = DTE.ItemOperations.OpenFile(asmFile, Constants.vsViewKindCode)
与AsmHighlighter结合使用非常有用。
可以类似地生成预处理文件
tool.GeneratePreprocessedFile = preprocessOption.preprocessYes
' there's no separate option for this, so misuse /Fo
tool.ObjectFile = System.IO.Path.GetTempFileName + ".cpp"
【讨论】: