500*_*500 12 wolfram-mathematica syntax-highlighting
如何用户定义的函数符号如f in
f[x_] = 2 x
或可变的符号,如乐透在
lotto = Table[2, {10}];自动着色?
在M8上的语法着色中,没有为此提供选项.
仅限本地变量或未分配值的全局符号.
Mr.*_*ard 15
这不是您要求的,但它可能对您有用.
您可以使用此方法按上下文突出显示符号:
SetOptions[$FrontEndSession,
AutoStyleOptions -> {"SymbolContextStyles" -> {"highlight`" -> Green}}
]
AppendTo[$ContextPath, "highlight`"];
Run Code Online (Sandbox Code Playgroud)
现在,当您在上下文中创建符号时highlight`,它将自动显示为绿色:
highlight`lotto ;
Run Code Online (Sandbox Code Playgroud)

并且由于highlight`附加了$ContextPath,之后符号可以明显地使用:
lotto
Run Code Online (Sandbox Code Playgroud)

如果您希望自动突出显示您创建的所有符号,请设置:
$Context = "highlight`"
Run Code Online (Sandbox Code Playgroud)
之后,您创建的所有新符号都将属于上下文highlight`并将接收颜色.
新的意味着以前没有在会话中使用过的,或已经过Removed.
在我看来,实现这一点的更好方法是避免可能的"阴影"问题,可能是为Global`上下文本身设置突出显示.我没有考虑过这种情况的影响,但仅凭这一点就可以做到:
SetOptions[$FrontEndSession,
AutoStyleOptions -> {"SymbolContextStyles" -> {"Global`" -> Green}}
]
Run Code Online (Sandbox Code Playgroud)
上下文highlight`完全是任意的,您可以使用不同的颜色突出显示多个上下文.
您可以为包的上下文着色,Units`以区分哪些符号属于该包.
为这些变量赋值后,这些变量会自动着色.在默认的Mathematica设置下,lotto分配值后,颜色会立即从蓝色变为黑色.严格地说,未分配的变量根据您在"首选项/外观/语法着色/其他/全局"符号中找不到的值设置而着色.
如果你正在寻找的是一种为全局符号分配不同颜色的方法,那么它的唯一定义就是自己的值,那么我相信你运气不好.据我所知,语法着色机制不区分自身值("变量赋值"),下值("函数定义")和上升值("表达式部分定义").
| 归档时间: |
|
| 查看次数: |
3554 次 |
| 最近记录: |