Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/visual-studio-code/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Visual studio code 自动缩进不适用于SAS语言扩展_Visual Studio Code_Sas_Indentation_Vscode Extensions - Fatal编程技术网

Visual studio code 自动缩进不适用于SAS语言扩展

Visual studio code 自动缩进不适用于SAS语言扩展,visual-studio-code,sas,indentation,vscode-extensions,Visual Studio Code,Sas,Indentation,Vscode Extensions,我正在尝试将SAS for Atom的我的语言扩展端口连接到VScode。除了自动缩进之外,一切都正常(语法等) 我使用yocode为我的SAS语言扩展创建模板。我试图使用与Atom中相同的正则表达式,但它们似乎不起作用。我还尝试了一些非常简单的设置,例如“increaseIndentPattern”:“^\s*(data | proc)\s*;$,但它们似乎也不起作用 我目前安装了以下扩展:Python、远程SSH、TSLint、VisualStudioIntelliCode、明天颜色主题 这

我正在尝试将SAS for Atom的我的语言扩展端口连接到VScode。除了自动缩进之外,一切都正常(语法等)

我使用
yocode
为我的SAS语言扩展创建模板。我试图使用与Atom中相同的正则表达式,但它们似乎不起作用。我还尝试了一些非常简单的设置,例如
“increaseIndentPattern”:“^\s*(data | proc)\s*;$
,但它们似乎也不起作用

我目前安装了以下扩展:Python、远程SSH、TSLint、VisualStudioIntelliCode、明天颜色主题

这是我的
包.json
语言配置.json

{
    "name": "sas-language",
    "displayName": "SAS",
    "description": "SAS language support for Visual Studio Code",
    "version": "0.0.1",
    "engines": {
        "vscode": "^1.36.0"
    },
    "categories": [
        "Programming Languages"
    ],
    "contributes": {
        "languages": [
            {
                "id": "sas",
                "aliases": [
                    "SAS",
                    "sas"
                ],
                "extensions": [
                    ".sas"
                ],
                "configuration": "./language-configuration.json"
            }
        ],
        "grammars": [
            {
                "language": "sas",
                "scopeName": "source.sas",
                "path": "./syntaxes/language-sas.json"
            }
        ],
        "snippets": [
            {
                "language": "sas",
                "path": "./snippets/language-sas.json"
            }
        ]
    }
}

在以下两个问题中找到了问题的答案:&

问题在于忽略大小写修饰符
(?i:)
。显然,这是一种未记录的行为。请删除
(?i:)
修饰符,并将regex\u字符串替换为
{“pattern”:regex\u字符串;标志:“i”}
,而不是:

"increaseIndentPattern": "(?i)...your regex here..."
写:

"increaseIndentPattern": {"pattern": "(?i)...your regex here...", "flags": "i"}
你的缩进规则变成:

"indentationRules": {
    "increaseIndentPattern": {"pattern": "\\bdo\\b(.(?!end;))*$|\\bbegingraph\\b(.(?!endgraph;))*$|^\\s*(proc|data|%macro)\\s+.*;\\s*$", "flags": "i"},
    "decreaseIndentPattern": {"pattern": "^\\s*(%?end|endgraph|endsas|run|quit|%mend|((proc|data)\\s+.*))\\s*;", "flags": "i"}

}

在以下两个问题中找到了问题的答案:&

问题在于忽略大小写修饰符
(?i:)
。显然,这是一种未记录的行为。请删除
(?i:)
修饰符,并将regex\u字符串替换为
{“pattern”:regex\u字符串;标志:“i”}
,而不是:

"increaseIndentPattern": "(?i)...your regex here..."
写:

"increaseIndentPattern": {"pattern": "(?i)...your regex here...", "flags": "i"}
你的缩进规则变成:

"indentationRules": {
    "increaseIndentPattern": {"pattern": "\\bdo\\b(.(?!end;))*$|\\bbegingraph\\b(.(?!endgraph;))*$|^\\s*(proc|data|%macro)\\s+.*;\\s*$", "flags": "i"},
    "decreaseIndentPattern": {"pattern": "^\\s*(%?end|endgraph|endsas|run|quit|%mend|((proc|data)\\s+.*))\\s*;", "flags": "i"}

}

可能的重复不是重复。这是一个关于如何使用可用机制实现自动缩进的问题。另一个是关于实现一个比直接提供的更复杂的缩进。可能的重复不是重复。这是一个关于如何使用可用机制实现自动缩进的问题另一个是关于实施一个比直接提供的更复杂的方案。