配置 Sublime Text 3 作为Python R LaTeX Markdown IDE

配置 Sublime Text 3 作为Python R LaTeX Markdown IDE

配置 Sublime Text 3 作为Python IDE

IDE的基本功能:代码提醒、补全;编译文件。
Sublime Text3的插件

  • Anaconda提供代码提示、补全等功能。也提供编译方式。
  • SublimeREPL在新标签页生成一个(可交互的)控制台:
    • Tools -> SublimeREPL ->Python ->Python
      在新开的标签页“*REPL*[python]”中运行Python
    • Tools -> SublimeREPL ->Python ->Python - RUN current file
      在新开的标签页“*REPL*[python]”中编译文件。
    • Tools -> SublimeREPL ->Python ->Python - PDB current file
      在新开的标签页“*REPL*[python]”中交互。

可设定快捷键实现上述操作。此外,也有其他的编译方式设定,此处只讨论Windows系统,插件Anaconda、SublimeREPL编译方式的设定

如果已经有安装好的Python,插件的配置基本没有什么问题。以下记录的信息基于如下2个假设。
假设1:已经安装插件:Anaconda、SublimeREPL。
假设2:使用现有的Anaconda环境(不是ST3中的插件)中的Python做解释器!

配置 Anacoda 插件编译 Python

安装 Anacoda 插件并配置后,要使用Anaconda(不是ST中的插件!)中的Python编译文件,需要先激活虚拟环境。

激活 Anaconda 中的 Python 虚拟环境

如果没有新建虚拟环境,Anaconda的安装目录即为默认的虚拟环境。比如我的Anaconda安装在D:\ProgramFiles\Coding\Anaconda3,在CMD中,不同的激活方式如下:

  • C:\Windows\System32\cmd.exe "/K" D:\ProgramFiles\Coding\Anaconda3\Scripts\activate.bat D:\ProgramFiles\Coding\Anaconda3
  • chcp 936 call D:\ProgramFiles\Coding\Anaconda3\Scripts\activate D:\ProgramFiles\Coding\Anaconda3
  • D:\ProgramFiles\Coding\Anaconda3\condabin\conda activate D:\ProgramFiles\Coding\Anaconda3
  • D:\ProgramFiles\Coding\Anaconda3\condabin\conda activate base
  • D:/ProgramFiles/Coding/Anaconda3/Scripts/activate.bat

激活方式的chcp 936设定控制台的CMD以简体中文gbk编码。如果是UTF-8编码,使用chcp 65001。不设定代码页,控制台可能会乱码!
conda的使用说明见https://conda.io/projects/conda/en/latest/user-guide/tasks/manage-environments.html#activating-an-environment
在ST3中,虽然无法直接使用上述激活方式,但提供了一种配置思路!

Anacoda 插件的配置

Anacoda 插件的配置参照上述的激活方式。下列操作中,Anaconda的安装目录为D:\ProgramFiles\Coding\Anaconda3E:\pytemp是另一个目录,都不在Windows的路径中。

  1. 新建一个批处理文件,如E:\pytemp\actENV.bat,内容如下:

    @call D:\ProgramFiles\Coding\Anaconda3\Scripts\activate.bat D:\ProgramFiles\Coding\Anaconda3  
    
    @python %1 %2 %3 %4 %5  
    

    上面第二个命令也可使用@python %1 %2 %3 %4 %5 %6 %7 %8 %9。或简化为

    @path D:\ProgramFiles\Coding\Anaconda3;D:\ProgramFiles\Coding\Anaconda3\Scripts;D:\ProgramFiles\Coding\Anaconda3\Library\bin;%PATH%  
    @call activate.bat D:\ProgramFiles\Coding\Anaconda3  
    @python %1 %2 %3 %4 %5  
    
  2. 配置 Anacoda 插件Preferences -> Package settings -> Anaconda -> settings - user,输入(主要是第一条):

    {
        "python_interpreter":"F:/pytemp/actENV.bat",
        "suppress_word_completions":true,
        "suppress_explicit_completions":true,
        "comlete_parameters":true,
        "swallow_startup_errors":true,
        "anaconda_linting":false
    }
    

    如果只是将解释器的路径设为D:/ProgramFiles/Coding/Anaconda3/python而不激活虚拟环境,在导入一些库,如numpy,pandas时,会报错(错误2)

  3. 选择Tools -> Build -> Anacoda Python Builder。所有用ctrl+b编译的,都要在该处选择适当的语言编译工具!

  4. 测试。新建test.py:

    import numpy as np
    import pandas as pd
    
    print(pd.Series([1,2,3,4]))
    

    按ctrl+b,下方控制台显示编译的结果。

配置 SublimeREPL 插件编译 Python

简介

Tools菜单的SublimeREPL项中提供了多种语言的标签页控制台,标签的名称为“*REPL*[语言名]”。如:

  • "Tools -> SublimeREPL ->Python ->Python",在新开的标签页“*REPL*[python]”运行Python。
  • "Tools -> SublimeREPL ->Python ->Python - RUN current file",在新开的标签页“*REPL*[python]”运行当前文档。
  • "Tools -> SublimeREPL ->Python ->Python - PDB current file",在新开的标签页“*REPL*[python]”交互式运行当前文档。
  • "Tools -> SublimeREPL ->R",在新开的标签页“*REPL*[r]”运行R。比R自带的命令行好用。

Preferences -> Browse Packages -> SublimeREPL -> config -> Python -> Main.sublime-menu是编译命令设定。

Preferences -> Browse Packages -> SublimeREPL -> Main.sublime-menu中设定了工具栏和首选项中的SublimeREPL。
Tools -> SublimeREPL -> Eval in REPL(或Transfer to REPL)有4项:Selection, Lines, File, Block,分别表示执行“选中的、当前代码行、整个文件、代码块”。

设定快捷键

Preferences->Key Bindings(注意大小写,设定中区分大小写!)。

[
    {
    "keys": ["f5"],
    "caption": "SublimeREPL: Python - RUN current file",
    "command": "run_existing_window_command",
    "args": {
        "id": "repl_python_run",
        "file": "config/Python/Main.sublime-menu"}
    },
    {
    "keys": ["ctrl+f5"],
    "caption": "SublimeREPL: Python - PDB current file",
    "command": "run_existing_window_command",
    "args": {
        "id": "repl_python_pdb",
        "file": "config/Python/Main.sublime-menu"}
    },  
]

按下f5,在新标签页显示程序运行的情况。按下ctrl+f5,新标签页变为交互窗口。

SublimeREPL 插件的配置

  1. 编辑“Preferences -> Browse Packages -> SublimeREPL -> config -> Python -> Main.sublime-menu”

  2. 找到所有的"cmd"段,将其后的python全部替换为F:/pytemp/actENV.bat,保存。

  3. 测试。新建test.py:

    import numpy as np
    import pandas as pd
    
    print(pd.Series([1,2,3,4]))
    

    f5ctrl+f5,新标签页显示控制台和编译的结果。

  4. 评估测试:发送代码块参考错误3的解决方案。没有Rstudio的好用!调试还是选择Spyder方便。

由于直接指定了编译时的Python解释器,本配置不需要额外的设定,如在“Preferences -> Package Settings -> SublimeREPL -> Settings - User”中指定Python路径等。
可以配置jupyter-book.bat或jupyter-qtconsole实现交互。

常见问题及解决

错误1FileNotFoundError(2, '系统找不到指定的文件。', None, 2)(error: [winerror 2] the system cannot find the file specified python)
解决Preferences -> Package settings -> SublimeREPL -> Settings - User,添加
{"default_extend_env": {"PATH":"D:/ProgramFiles/Coding/Anaconda3"},}

错误2ImportError: DLL load failed: 找不到指定的模块(the given module is not found)
解决:需要先激活虚拟环境!在CMD输入python,提示"This Python interpreter is in a conda environment, but the environment has not been activated. Libraries may fail to load. To activate this environment please see https://conda.io/activation"。 见Anacoda 插件的配置

:使用VScode,“启动调试(F5)”时正常运行。“在不调试的情况下启动(ctrl+F5)”会有错误2发生。如果先F5,在不重新启动VSc的情况下,ctrl+F5不会报错误2。配置文件launch.json/default.launch.jsondefault.launch.json也是VSc打开目录中所生成的配置文件模板,具体说明见https://code.visualstudio.com/docs/editor/debugging#_launch-configurations

错误3:使用sublimeREPL的Eval in REPL/transfer to时,提示"can't find REPL for 'python'"
解决:必须先有一个正在运行的REPL。先启动控制台:Ctrl+Shift+P ->repl python(可以alt+shift+2先开一个小窗口),然后再使用"Eval in REPL/transfer to REPL"。"Eval in REPL"只能顺序执行一次,只显示结果。

后记

  • 新建文件(不想保存的临时文件),没有命名,要以某种语法编辑文件。如用markdown语法:Ctrl + Shift +P -> set syntax markdown(或ssm)
  • Windows中建立目录.test需要输入.test.(前后各有一个空格)。
  • VirtualEnv 插件有激活虚拟环境的功能,但是没有测试成功!
  • Anaconda在注册表中位置HKEY_LOCAL_MACHINE\SOFTWARE\Python
  • 显示空格 tab换行等不可见字符。Preferences -> Settings -User增加:"draw_white_space": "selection",
  • Sublime Text 的中文断行、使用的简便性不如VS code,就是这种丝滑的感觉特别好,这种感觉最早是在使用Firefox时,然而现在一直在用Chrome。
  • shift+鼠标右键列选择,要拖着鼠标下行,如果要选择的部分太长就比较麻烦了。Synwrite中先在选择的起点点击,ctrl+shift,左键点击终点位置就可进入列编辑。

配置 Sublime Text 3 作为 R IDE

R已经安装并加入系统路径。

  • 安装ST3插件:

    • R-IDE插件
    • SendCode for sending R code to Terminal / R GUI / RStudio.
    • Terminus for running R Console in Sublime Text.
    • Whitespace for cleaning whitespaces.
  • 安装R包languageserver:在R中执行install.packages(languageserver)

  • 安装python包radian:类似ipython的R控制台,支持多线编辑和语法高亮。

  • 编译/交互

    • Tools -> Build -> R/R Markdown/R Sweave,ctrl+b编译
    • Tools -> SublimeREPL -> R在弹出的控制台交互。
    • 先启动一个R控制台:Tools -> SublimeREPL -> RCtrl+Shift+P ->repl Rctrl+,l发送当前行。参考错误3的解决方案。
  • 要考虑的问题:R Sweave生成的临时文件的处理?

配置 Sublime Text 3 作为 LaTeX IDE

已经安装了TeXLive 2018,并将LaTex.exe所在路径加入系统路径;Sumatrapdf为默认PDF阅读器。

  • 安装插件LaTeXTools

  • 生成用户配置文件:Preferences -> Package Settings->LaTeXTools-> Reconfigure and migrate settings

  • 修改设置:Preferences -> Package Settings->LaTeXTools->Settings – User,可修改的设置:

    • General, Preview, Temporary file, Platform, Output Directory settings, Build engine, Build panel and phantoms, Viewer, Opening files included into the tex source code, Bibliographic references, Cache options,
  • "Platform settings"段的"windows":选项中的"Sumatrapdf:"后填入:
    "D:\\ProgramFiles\\ReadTools\\SumatraPDF\\SumatraPDF.exe",

  • PDF逆向搜索。SumatraPDF中:菜单->设置->选项,根据ST的路径,填入"D:\ProgramFiles\FileMan\Sublime Text\sublime_text.exe" "%f:%l".

  • 编译设置。在"Build engine settings"段落。

    • "builder": "script",

    • "builder_settings" :选项中的windows处(我的系统是Windows 7 X64)

      "windows" : {  
          "script_commands":[
              "pdflatex -synctex=1 -interaction=nonstopmode",
              "bibtex",
              "pdflatex -synctex=1 -interaction=nonstopmode",
              "pdflatex -synctex=1 -interaction=nonstopmode"
          ],          
      },
      
  • 测试。新建test.tex

    %!TEX program = xelatex  
    \documentclass[UTF8]{ctexart}  
    \begin{document}  
    This is a Test file. \\  
    配置 Sublime Text 3 作为 LaTeX IDE。   
    \end{document}
    
    • tools -> build -> LaTeX,ctrl+b编译,SumatraPDF打开生成的PDF。
    • ctrl+l backspace删除临时文件。"temp_files_exts"增加临时文件扩展名。
    • %!TEX program = xelatex表示选择xelatex引擎编译。

配置 Sublime Text 3 作为 Markdown 编辑器

快捷键 ctrl+r列出文档的各级标题(header)(大纲视图)--配合Markdown Editing效果更好。

默认的效果已经很好了,主要是预览!

预览

安装插件OmniMarkupPreviewer
Preferences -> Package Settings->OmniMarkupPreviewer->Settings – User设置:

{
    "server_host": "127.0.0.1",
    "server_port": 56000,
    "refresh_on_modified": false,
    "renderer_options-MarkdownRenderer": {
        "extensions": ["tables", "fenced_code", "codehilite"]
    }
}

ctrl+shift+p输入"preview",选择"preview current markup in browser"或者ctrl+alt+o在浏览器中预览。

Markdown Editing

Markdown Editing的众多功能已经与ST3重复,但是也有许多调整,比如浏览标题的结构等

修改Markdown Editing主题Preferences -> Package Settings -> Markdown Editting -> Markdow GFM Settings - User,添加如下内容:

{
  "color_scheme": "Packages/Color Scheme - Default/Monokai.tmTheme",
  "draw_centered": false,  //去除左侧空白
  "word_wrap": true, 
  "wrap_width": 120,      //每行最大字数
  "rulers": [],
  "line_numbers": true,   //显示行号
  "highlight_line": false,
  "line_padding_top": 2,
  "line_padding_bottom": 2,
}

问题:安装Markdown Editing后:"Error loading syntax file "Packages/Markdown/Markdown.sublime-syntax": Unable to read Packages/Markdown/Markdown.sublime-syntax"
方案1:删除掉./Data/Local/Session.sublime_sessionAuto Save Session.sublime_session
方案2(测试无效):下载 Markdown.sublime-syntax
ST > Preferences > Browse Packages 新建Markdown文件夹
将下载好的Markdown.sublime-syntax 拷贝到Markdown文件夹中,然后重启ST3

markdownediting问题1

工具下载

Sublime Text 3
PDF xchange pro 2.5.322.8

https://www.lanzous.com/b697267
密码:123

参考文章

SublimeText3 使用anaconda包配置python环境
Python虚拟环境-使用指南(含Sublime Text 3如何使用Virtualenv插件)
问题3:sublimeREPL
SublimeREPL说明

posted @ 2019-04-09 17:04  hzworld  阅读(2006)  评论(0编辑  收藏  举报