您可以使用view.meta_info('shellVariables', 0) 来获取为当前文档的语法定义的shellVariables 数组。
(第二个参数,我指定0,表示要查询的视图中的位置(a.k.a point in official terminology),这对于包含嵌入语法的视图(即PHP/HTML/JS)很有用)
示例:
在 Python 文件中返回:
[{'name': 'TM_COMMENT_START', 'value': '# '}, {'name': 'TM_LINE_TERMINATOR', 'value': ':'}]
在它返回的 XML 文件中:
[{'name': 'TM_COMMENT_END', 'value': ' -->'}, {'name': 'TM_COMMENT_START', 'value': '<!-- '}]
在 JavaScript 文件上:
[{'name': 'TM_COMMENT_END_2', 'value': '*/'}, {'name': 'TM_COMMENT_START', 'value': '// '}, {'name': 'TM_COMMENT_START_2', 'value': '/*'}]
如您所见,数组中的相关字典项有TM_COMMENT_START 的name,对于块cmets,也会有TM_COMMENT_END。支持单行 cmets 和块 cmets 的 JavaScript 等语法也可以具有相同的名称,带有 _2 后缀。
因此,让字符开始评论的代码可能如下所示:
comment_characters = [var['value'] for var in view.meta_info('shellVariables', 0) if var['name'] == 'TM_COMMENT_START'][0]