SAS有什么语法高亮显示器吗?

时间:2013-08-03 14:50:18

标签: syntax-highlighting sas

我需要在我的网站上发布SAS代码。但是,如果我写HTML以突出显示SAS鳕鱼,我需要很长时间。

如何将SAS代码转换为漂亮的HTML对应物?

13 个答案:

答案 0 :(得分:5)

我只需将您的编辑器复制/粘贴到能够生成HTML文件的富文本编辑器(即MS Word或类似文件)中。或者,像UltraEdit这样的一些文本编辑器能够进行SAS标记。

答案 1 :(得分:3)

我刚刚发现Gist实际上支持SAS语法突出显示!

如果您在Gist上创建hello_world.sas文件,则会看到这一点。

enter image description here

如果你想将SAS代码嵌入(比如说)一篇Wordpress.org博客文章(比如我自己),我通常这样做的方式是:

  1. Gist上创建Markdown文件。例如,请参阅this Gist Markdown file that I created)。请注意,为您创建了“嵌入链接”:
  2. enter image description here

    1. 在您的Wordpress.org网站上,已经安装了插件oEmbed Gist

    2. 当您在Wordpress中创建新的博客帖子时,在正文字段中(您通常会在其中输入博客文章的内容),只需将Gist嵌入式链接复制并粘贴到正文中即可。

    3. enter image description here

      1. 发布那篇博文,你会看到它呈现得很漂亮!
      2. enter image description here

        (或者,如果您希望正常编写Wordpress博客文章,并嵌入多个Gist SAS代码,只需将gist文件保存为.sas个文件(而不是一个.md文件),嵌入多个嵌入的URL(对应于每个代码博客)。

        更多信息请参阅this stackoverflow forum - 我在那里了解了令人敬畏的Gist和Wordpress Gist oEmbed组合!

答案 2 :(得分:2)

SAS Entreprise Guide v5.1开始,您可以右键单击编辑器窗口并选择“将HTML源复制到剪贴板”。

然后,您可以将HTML直接粘贴到网页的HTML源代码中。

请注意,这甚至可以在早期版本的SAS Entreprise Guide中使用 - 版本5.1恰好是我安装的版本。

感谢 @otto 提供了使用企业指南的原始想法。

答案 3 :(得分:1)

我找不到很棒的解决方案。任何javascript荧光笔似乎都不支持SAS。

我知道至少有三位文本编辑器可以将彩色HTML导出到剪贴板(以及您的页面,或Word或PowerPoint)。

  1. 的Ultraedit
  2. 记事本++
  3. Emacs(ESS)(在Mac上我使用Aquamacs)
  4. (可能)SAS增强编辑器......对此不确定。
  5. 另一种可能性是Mac上的TextWrangler,可以使用SAS语法着色文件。但我没试过这个。 [更新:它不是很好。许多关键字缺失。

    第五种可能性是SublimeText 3.它有一个很棒的语法着色插件。它甚至得到了     y = X * z;     *但这确实是一个评论; 颜色正确。 默认情况下不包括SAS着色包,但可以从implementing-vdw.blogspot.ch/2012/10/new-sublime-text-package-available-for.html

    下载

    试用版是免费的,ST是跨平台的]

    有些偏离主题 - 但是下一个问题是: - )

    为了准备论文和文档,有一个LaTeX软件包列表(如果你使用BeraMono而不是Courier,它可以工作)和一个基于它的新软件包叫做SASnRdisplay。这些包产生了很好的输出,并且很容易添加关键字。同样对于列表,您需要允许使用sensitive = false选项的小写关键字。

答案 4 :(得分:1)

您可以使用企业指南吗?

当我从EG编辑窗口复制并粘贴到支持富文本(word,Outlook电子邮件等)的内容时,我会获得所有颜色并突出显示。

从这里开始,您只需抓取HTML并将其粘贴在线即可。它可能不是最漂亮的HTML(WYSIWYG输出很少),但它的工作原理。在Outlook 2010中,您可以右键单击和"查看源代码"在已发送/接收的任何邮件上(或作为一种技巧,您可以将其粘贴到空白电子邮件中,然后关闭它并在"草稿"文件夹中查看来源)。

正如我所说,它是一些丑陋的HTML(并且都在一行上),但我认为任何javascript荧光笔的输出也相当丑陋:

<b><span style='font-family:"Courier New";color:navy;background:white'>data</span></b><span style='font-family:"Courier New";color:black;background:white'> test;<o:p></o:p></span></p><p class=MsoNormal style='mso-layout-grid-align:none;text-autospace:none'><span style='font-family:"Courier New";color:black;background:white'><span style='mso-spacerun:yes'>&nbsp; </span></span><span style='font-family:"Courier New";color:blue;background:white'>set</span><span style='font-family:"Courier New";color:black;background:white'> test;<o:p></o:p></span></p><p class=MsoNormal style='mso-layout-grid-align:none;text-autospace:none'><span style='font-family:"Courier New";color:black;background:white'><span style='mso-spacerun:yes'>&nbsp; </span></span><span style='font-family:"Courier New";color:blue;background:white'>length</span><span style='font-family:"Courier New";color:black;background:white'> fakevar $</span><b><span style='font-family:"Courier New";color:teal;background:white'>16</span></b><span style='font-family:"Courier New";color:black;background:white'>;<o:p></o:p></span></p><p class=MsoNormal><b><span style='font-family:"Courier New";color:navy;background:white'>run</span></b><span style='font-family:"Courier New";color:black;background:white'>;</span><o:p></o:p></p><p class=MsoNormal><o:p>&nbsp;</o:p></p>

你可以看到它呈现在这里: http://rendera.heroku.com/usercode/9e1bfaeb9bceb4c052d6747e8e73c1846bad433b

答案 5 :(得分:1)

我认为你可以做到以下几点:

&#13;
&#13;
<script src="https://gist.github.com/AlyssonJalles/b22bc10a707ef909024b.js"></script>
&#13;
&#13;
&#13;

*也许这不是一个100%的解决方案,但是很好,因为当您在Gist上更新代码时,代码将在您的网站中更新。此外,如果您使用wordpress.com,只需复制URL并粘贴到页面编辑器中即可查看代码。

答案 6 :(得分:1)

如果您正在创建自己的HTML页面(并找到不合需要的解决方案),请检查CodeMirror。

http://codemirror.net/mode/sas/index.html

var editor = CodeMirror.fromTextArea(document.getElementById("code"), {
  mode: 'sas',
  styleActiveLine: true,
  lineNumbers: true,
  readOnly: true
});
<link rel="stylesheet" type="text/css" href="https://cdnjs.cloudflare.com/ajax/libs/codemirror/5.18.2/codemirror.min.css">
<script src="https://cdnjs.cloudflare.com/ajax/libs/codemirror/5.18.2/codemirror.min.js"></script>

<!-- sas language mode -->
<script src="https://cdnjs.cloudflare.com/ajax/libs/codemirror/5.18.2/mode/sas/sas.min.js"></script>

<!-- optional plugins -->
<script src="https://cdnjs.cloudflare.com/ajax/libs/codemirror/5.18.2/addon/selection/active-line.min.js"></script>

<form><textarea id="code" name="code">
libname foo "/tmp/foobar";
%let count=1;

/* Multi line
Comment
*/
data _null_;
    x=ranuni();
    * single comment;
    x2=x**2;
    sx=sqrt(x);
    if x=x2 then put "x must be 1";
    else do;
        put x=;
    end;
run;

/* embedded comment
* comment;
*/

proc glm data=sashelp.class;
    class sex;
    model weight = height sex;
run;

proc sql;
    select count(*)
    from sashelp.class;

    create table foo as
    select * from sashelp.class;

    select *
    from foo;
quit;
</textarea></form>

答案 7 :(得分:0)

第六个答案是pspad。其中有一个SAS插件可以获得构建功能。

http://www.pspad.com/

SAS utils:http://www.pspad.com/en/pspad-extensions.php?stranka=3

答案 8 :(得分:0)

答案 9 :(得分:0)

Emacs可以使用Emacs Speaks Statistics(ESS)执行此操作。我认为有两种情况可用于编辑SAS代码。第一个是sas-mode用于编辑整个SAS文件,第二个是使用org-mode内的源块进行文字编程。

我强烈建议您阅读Emacs教程。如果您刚刚安装了Emacs,只需打开它并按Enter(在'Emacs Tutorial'链接上)。否则,请按C-h t

<强> 1。安装ESS

M-x list-packages并通过C-s emacs speaks statistics搜索Emacs Speaks Statistics。按i标记要安装的包。按x安装所有标记的包。

<强> 2。加载ESS

加载ESS运行M-: (require 'ess-site)。有关更多详细信息,请参阅install instructions

SAS模式

通过M-x sas-mode在当前缓冲区内加载SAS模式。这会根据您当前的主题提供语法突出显示。例如,这是一个轻松的主题。

sas-mode with a light theme

组织模式

通过M-x org-mode加载组织模式。通过键入<s并按TAB自动完成来创建源块。这会创建一个源代码块:

#+BEGIN_SRC 

#+END_SRC

然后输入sas以让Org Mode知道源代码是SAS代码。

#+BEGIN_SRC sas

#+END_SRC

要在源块中切换语法突出显示,请运行M-: (setq org-src-fontify-natively t)

然后,块中的任何代码都会采用SAS的语法高亮显示。着色取决于您的主题。这是一个黑暗主题的例子:

org-mode example with dark theme

组织模式允许使用C-c C-e h o导出为HTML。使用htmlize时,语法突出显示也将被导出。

答案 10 :(得分:0)

如果仅出于编程目的突出显示代码,则上面突出显示的最佳选择是文本编辑器。我在跨平台和组织的SAS领域工作了近十年。我发现旧的crimson editor是最好的,因为它是免费软件,非常轻巧,并且支持许多通常需要的功能。

要确保突出显示SAS特定语法,您需要选择sas关键字和语法文件。这些文件仅随安装提供。 请按照以下步骤 1.安装深红色编辑器(我正在使用3.70版) 2.单击工具->首选项->文件->语法类型 3.在语法类型中,选择右下角带有三个点的按钮。它将弹出一个对话框,然后选择sas.spc 4.在“关键字”中,选择右下角带有三个点的按钮。它将弹出一个对话框,然后选择sas.key 5.在描述中输入SAS 6.在右上框架/面板中,从最后一个选项中选择SAS。 而且你很好走

编辑:深红色编辑器可以从http://www.crimsoneditor.com/

获得

答案 11 :(得分:0)

一个古老的问题和一种古老的编程语言,但也许有人(例如我)仍然对另一个答案感兴趣:

如何使用记事本++生成SAS代码突出显示

  1. 有一个[https://blogs.sas.com/content/sasdummy/2017/08/25/npp-with-sas/](SAS自己的博客条目),说明了如何在Notepad++中的SAS代码中使用语法突出显示。它基本上是指https://github.com/cjdinger/sas-npp

  2. 上免费提供的Notepad ++插件。
  3. 下一步是可选的:您可以使用NppExport插件将突出显示的代码从Notepad ++导出到HTML,请参见例如https://www.addictivetips.com/windows-tips/nppexport-for-notepad-export-highlighted-code-in-html-rtf-format/

如何在VIM中突出显示SAS代码

关于如何使用VIM编辑来自SAS社区的SAS代码有很好的介绍:http://www.sascommunity.org/planet/blog/category/vim/

基本思想是,获取VIM的语法定义文件并进行安装,请参见 https://www.vim.org/scripts/script.php?script_id=1999

答案 12 :(得分:-1)

要在宏输入中突出显示以下行中的文字:

%macro __enable_eg_syntax_highlight; %mend __enable_eg_syntax_highlight;

所以一切都只是黑色,上面的行将带回SAS格式。

关心特里