问题标签 [macros]

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 投票
6 回答
336 浏览

c++ - 在 C++ 文件中查找语句模式

我有一个看起来像这样的宏:

其中 ods() 是一个行为类似于 cout 的类,而 VERBOSITY_SETTING 是一个全局变量。其中有一些用于不同的详细设置,它允许代码看起来像这样:

并且在这个框架中有设置详细程度等的功能。但是,当不使用大括号时,明显的模式会中断,如下所示:

因为宏,会变成这样:

这不是 if 语句的预期功能。

现在,我了解了一种正确修复此宏的方法,因此它不会导致此问题,但我想对代码进行审核并找到任何具有“if (...) coutError < < ...; else" 以查明是否有任何其他情况发生这种情况,以确保在修复宏时,它确实是正确的功能。

我可以使用任何语言/工具来找到它,我只想知道最好的方法。

0 投票
1 回答
575 浏览

text - Komodo 编辑:通过键绑定与工具栏运行宏

问题:有没有人足够熟悉 Komodo Edit 来了解这个宏?当通过工具面板调用宏时,我需要弄清楚如何在宏中进行缓冲区文本选择。

问题:我在 Komodo Edit javascript 中有一个非常简单的宏,它可以按预期工作,但仅在通过自定义键绑定调用时。如果用户试图从标准的“工具面板”调用它,那么 selectWordLeft 调用什么也不做。我的猜测是失败是由于编辑缓冲区没有焦点引起的,但人们会认为告诉宏明确将焦点放在缓冲区上会起作用。

背景: Komodo Edit,版本 5.0.2,build 2604,平台 win32-x86。建于 2008 年 11 月 19 日星期三 18:33:41。

0 投票
1 回答
2073 浏览

editor - Komodo 编辑:如何进行这些基本的宏和代码段操作?

我想知道如何在 Komodo Edit 中对这些基本的宏和片段操作执行(或在哪里找到文档)。

  • 1) FILE/IO:从 komodo javascript 宏中将字符串写入临时文件

  • 2) FILE/IO:将文本文件的内容读入 komodo javascript 宏中的字符串

  • 3) INCLUDES:在宏中交叉引用本地 javascript“包含”库,或等同于 #script src="~/mylocal_javascript_addons.js" 的东西所以我可以合并宏代码。

  • 4)SNIPPET_OUTPUT:创建一个片段插值占位符,它返回用户定义的javascript函数或宏的输出。

    例如:

    [[%(myscript:SayHelloWorld())]]

    [[%(foomacro-MyAgeInMilliseconds)]]

  • 5) MACRO_OUTPUT:宏,在当前缓冲区中进行多行选择并将其传递给本地脚本或批处理文件,然后将选择替换为输出结果。(需要一种在 MSFT Windows 中执行此操作的方法,而不仅仅是 linux)。

如果您可以使用 Python 而不是 Javascript 回答其中的一个或多个问题,那就太好了,但请包含示例代码或指向它的链接,因为 Python 文档似乎非常 TODO。

0 投票
5 回答
117669 浏览

c++ - 错误:宏名称必须是使用 #ifdef 0 的标识符

我有一个用 C++ 编写的应用程序的源代码,我只想使用以下方法评论一些东西:

我得到这个错误

错误:宏名称必须是标识符

为什么会这样?

0 投票
3 回答
780 浏览

php - PHP 和宏(lisp 风格)?

嗨,我正在学习 LISP,好吧,我整天编程 php 为生,所以我在 php.net 上乱搞,发现了 eval 函数……所以我开始玩了!

我很想知道更多关于如何使用 eval 来做疯狂的事情,我知道你可以用这个和所有东西来制作函数......但我想问为什么下一个代码不起作用:

eval 还有什么其他有趣的东西!

0 投票
2 回答
124 浏览

asp.net - ASP.net 异常默认页面中的“在 Visual Studio 中打开”链接

当我的 ASP.NET 应用程序崩溃时(当它显示默认异常页面时),我希望能够在浏览器中单击调用堆栈的一行,Visual Studio 将在给定行打开代码文件。

你认为有可能吗?也许使用宏/加载项?

0 投票
2 回答
2456 浏览

c - 用函数调用覆盖变量赋值的 C 宏

呼叫所有 C 宏大师...

有什么方法可以编写一个 C 宏来代替这样的东西:

有了这个:

换句话说,我是否可以编写一个 C 宏来覆盖特定变量(在上面的示例中为 my_var)的赋值,并将其传递给一个函数,该函数的工作是设置该变量?如果可能的话,我希望能够挂钩特定变量的分配。


编辑:在考虑了更多之后,我不确定它是否可以完成。即使你能想出一个宏来做到这一点,setVar 也不一定知道它设置的变量的类型,那么它的第二个参数的类型是什么?


编辑:我想挂钩特定变量的赋值的原因是为了在一些专门的嵌入式 C 代码的原始调试器中使用。能够拥有一个“监视列表”会很好,就像您在 IDE 中一样。我的第一直觉是尝试用 C 宏挂钩变量赋值,这样您就可以将宏放入代码中并“监视”该变量,但话说回来,我以前从未真正编写过调试器,所以也许我要去关于这一切都错了。

0 投票
3 回答
6017 浏览

emacs - Emacs:如何编译(运行make)而不按回车进行编译命令查询?

使用 (x)emacs,如何在不单独按 Enter 接受默认命令的情况下运行“编译”命令?(我可以将“编译”绑定到一个键,但我希望整个事情发生而无需单独按 Enter)

当然,使用其他命令的类似行为也可以。

0 投票
9 回答
3802 浏览

python - Pythonic 宏语法

我一直在为 Python 开发一个替代编译器前端,其中所有语法都通过宏进行解析。我终于明白了它的发展,我可以开始研究 Python 语言的超集,其中宏是一个不可或缺的组件。

我的问题是我无法提出 pythonic 宏定义语法。我在下面的答案中以两种不同的语法发布了几个示例。谁能想出更好的语法?它不必以任何方式构建我提出的语法——我在这里完全开放。任何评论、建议等都会有所帮助,显示我发布的示例的替代语法也会有所帮助。

关于宏结构的注释,如我发布的示例所示: MultiLine/MLMacro 和 Partial/PartialMacro 的使用告诉解析器如何应用宏。如果是多行,宏会匹配多行列表;一般用于构造。如果它是部分的,宏将匹配列表中间的代码;一般用于操作员。

0 投票
2 回答
767 浏览

c# - 有人如何在 C# 中编写“宏”?

我对宏有所了解。我不是指 ASSEMBLY 语言类型。我说的是那些你可以用来在另一个程序上执行重复动作的程序。我说的是那些您可以用来在计算机上记录一系列事件的程序,例如鼠标移动和按钮单击,然后您可以回放它们。其中一些非常精细,只能在您指定的特定应用程序上运行。

我曾经写过一种。它是一个启动 Excel 会话的程序,然后使用某种动态数据交换管道来提供 Excel 会话脚本命令。有效。

但我想,操作系统层面的事情是完全不同的故事。

有人如何在 C# 中编写“宏”?

我认为我将采用的方法是使用开发环境附带的 spy 例程来获取正确消息和参数的列表(例如 wm_lbuttondown),然后使用动态数据交换将这些消息发送到应用程序。

所以我有三个问题。

  1. 这是最好的方法吗?
  2. 如何获取已经运行的应用程序的句柄?
  3. 如何向已经运行的应用发送类似用户的消息?