zoukankan      html  css  js  c++  java
  • Sublime Text 3 配置Java开发

    Sublime Text 3 配置Java开发

    内嵌模式

    在Sublime内部输出面板显示执行过程

    配置JavaC - INSET.sublime-build

    1. 打开Sublime的包目录(选择菜单:Perferences > Browse Packages),进入User文件夹,

    2. 新建文件JavaC - INSET.sublime-build

      {
          "cmd": ["C:/Users/AA/AppData/Roaming/Sublime Text 3/Packages/User/JavaC - INSET.cmd", "$file"],
          "file_regex": "^(...*?):([0-9]*):?([0-9]*)",
          "selector": "source.java",
          "shell": true,
          // Windows 中文版支持的编码格式是GBK,这条配置是通知Sublime Text 2以系统环境的编码格式输出,如果不加这一条配置,在编译运行时就会提示Decode error - output not utf-8错误
          "encoding":"GBK"
      }
      
    
    ### 配置JavaC - INSET.cmd
    1. 在User文件夹(`C:/Users/final/AppData/Roaming/Sublime Text 3/Packages/User/`)
        新建`JavaC - INSET.cmd`:
    
        ```batch
        @ECHO OFF
        cd %~dp1
        ECHO Compiling %~nx1...
        IF EXIST %~n1.class (
            DEL %~n1.class
        )
    
        rem javac %~nx1
        rem javac -encoding GBK %~nx1
        javac -encoding UTF-8 -d . %~nx1
    
        IF EXIST %~n1.class (
            ECHO ^>^>^>^>^>^>^>^>^>^>^>^>^>^>^>^>^>^>^>^>^>^>^>^>^>^>^>^>^>^>^>^>^>^>^>^>^>^>^>^>^>^>^>^>^>^>^>^>^>^>^>^>^>^>^>^>^>^>^>^>^>^>^>^>^>^>^>^>^>^>
            rem ECHO.
            java %~n1
            rem ECHO.
            ECHO ^>^>^>^>^>^>^>^>^>^>^>^>^>^>^>^>^>^>^>^>^>^>^>^>^>^>^>^>^>^>^>^>^>^>^>^>^>^>^>^>^>^>^>^>^>^>^>^>^>^>^>^>^>^>^>^>^>^>^>^>^>^>^>^>^>^>^>^>^>^>
        )
        ```
    
    ### 配置默认编译系统JavaC - INSET 
    1.  选择菜单:`Tools > Build System > JavaC - INSET`。
        ![「JavaC - INSET」被勾选](http://images2015.cnblogs.com/blog/689465/201604/689465-20160402225418566-1131067841.png)
    
    ### 测试配置结果
    1. 新建`Demo.java`:
        
        ```java
        public class Demo {
            public static void main(String[] args) {
                System.out.println("This is my test program.");
                int a = 10;
                int b = 30;
                int c = a + b;
                System.out.println("结果 Result : " + c);
            }
        }
        ```
    2. 编译&运行
        按<kbd>Ctrl+B</kbd>/<kbd>Ctrl+Shift+B</kbd>,进行编译并执行程序。
        ![运行结果](http://images2015.cnblogs.com/blog/689465/201604/689465-20160402225506848-1353598310.png)
    
    
    ## 外调模式
    在Sublime外部调用系统控制台显示执行过程
    
    ### 配置JavaC - OUTSET.sublime-build
    1.  打开Sublime的包目录(选择菜单:`Perferences > Browse Packages`),进入`User`文件夹,
    2.  新建文件`JavaC - OUTSET.sublime-build`:
    
        ```json
        {
            // 命令和参数,未指定路径则在PATH环境变量中找
            "cmd": ["javac","-encoding","UTF-8","-d",".","$file"],
            // 可选。获取cmd的错误输出
            "file_regex": "^(...*?):([0-9]*):?([0-9]*)",
            // 可选。`工具`菜单中`编译`为`自动`时生效
            "selector": "source.java",
            // 可选。输出"cmd"的编码。必须是合法的Python编码,缺省为"UTF-8"
            "encoding":"UTF-8",
            // variants 可选。用来替代主构建系统的备选。如果构建系统的"selector"与激活的文件匹配,变量"name"则会出现在 Command Palette 中。
            "variants":
                [
                    {
                         // 仅在"variants"中是合法的 (详见 variants)。用来标识系统中不同的构建系统。如果"name"是"Run" ,则会显示在Tools | Build System 菜单下,并且可以使用Ctrl + Shift + B调用
                        "name": "Run",
                        // 可选。如果该选项为"true" ,"cmd"则可以通过shell运行。
                        "shell": true,
                        "cmd" :  ["start","cmd","/c", "java ${file_base_name} &echo. & pause"],
                        // /c是执行完命令后关闭cmd窗口,
                        // /k是执行完命令后不关闭cmd窗口。
                        // echo. 相当于输入一个回车
                        // pause命令使cmd窗口按任意键后才关闭
                        // 可选。在运行首行的"cmd"前会切换到该目录。运行结束后会切换到原来的目录。
                        "working_dir": "${file_path}",
                        "encoding":"UTF-8"
                    }
                ]
            // 还有:
            // line_regex 可选。当"cmd"的错误输出中,file_regex与该行不匹配,如果line_regex存在,并且确实与当前行匹配, 则遍历整个缓冲区,直到与file regex匹配的行出现,并用这两个匹配决定最终要跳转的文件或行。
            // target 可选。运行的Sublime Text命令,缺省为"exec" (Packages/Default/exec.py)。该命令从 .build-system中获取配置数据。用来替代缺省的构建系统命令。注意,如果你希望替代构建系统的缺省命令,请在.sublime-build 文件中专门设置。
            // env 可选。在环境变量被传递给"cmd"前,将他们封装成词典。
            // path 可选。该选项可以在调用"cmd"前替换当前进程的PATH 。原来的 PATH 将在运行后恢复。使用这个选项可以在不修改系统设置的前提下将目录添加到 PATH 中。
        }
        ```
    
    ### 配置默认编译系统JavaC - OUTSET 
    1.  选择菜单:`Tools > Build System > JavaC - OUTSET`。
    
    ### 测试配置结果
    1. 新建`Demo.java`:
    
        ```java
        public class Demo {
            public static void main(String[] args) {
                System.out.println("This is my test program.");
                int a = 10;
                int b = 30;
                int c = a + b;
                System.out.println("结果 Result: " + c);
            }
        }
        ```
    2. 编译&运行
        + 编译
        按<kbd>Ctrl+Shift+B</kbd>,选中`JavaC - OUTSET`进行编译;
        ![选中「JavaC - OUTSET」进行编译](http://images2015.cnblogs.com/blog/689465/201604/689465-20160402225549879-129595249.png)
        + 运行
        按<kbd>Ctrl+Shift+B</kbd>,选中`JavaC - OUTSET - Run`执行程序。
        ![运行结果](http://images2015.cnblogs.com/blog/689465/201604/689465-20160402225621926-1192860721.png)
    
    
    ## 附录
    
    ### Demo - HelloJava8
    ```java
    import java.util.*;
    
    public class HelloJava8 {
        public static void main(String[] args) {
        List<String> names = Arrays.asList("春", "夏", "秋", "冬");
        names.stream()
            .filter(name -> name.length() >= 5)
            .forEach(name -> System.out.println(name));
        }
    }
    

    搭建AutoHotkey开发环境

    安装AutoHotKey插件

    Ctrl+Shift+P,输入pci后回车,选中AutoHotKey进行安装。

    配置AutoHotKey插件

    1. 打开Sublime的包目录(选择菜单:Perferences > Browse Packages),进入AutoHotkey文件夹,阅读README.md
    2. 根据Advanced Configuration这一节介绍进行配置:
      选择 Preferences > Package Settings > AutoHotkey > AutoHotkey Settings - User
      建议拷贝AutoHotkey Settings - Default内容到AutoHotkey Settings - User,进行更改配置AutoHotkey/Ahk2Exe/帮助文档的路径。
      最终AutoHotkey Settings - UserC:UsersfinalAppDataRoamingSublime Text 3PackagesUserAutoHotkey.sublime-settings)的内容如下:
      {
      
          // Set here path to AutoHotkey.exe executable to use for the build and ahkrunpiped command.
          // AutoHotKeyExePath and Ahk2ExePath are a list of string paths - starting from the beginning of the list if a path is not found then the subsequent path will be attempted.
      
          "word_separators": "./\()"'-:,.;<>~!@#$^&*|+=[]{}`~?",
      
          "AutoHotKeyExePath": [ "D:\programmer\util\AHK\AutoHotkey.exe" ],
      
          "Ahk2ExePath": [  "D:\programmer\util\AHK\Compiler\Ahk2Exe.exe" ],
      
          "AhkHelpPath": [  "D:\programmer\util\AHK\AutoHotkey.chm" ]
      
      }
      

    配置默认编译系统AutoHotKey

    1. 选择菜单:Tools > Build System > AutoHotKey

    测试配置结果

    1. 新建HelloWorld.ahk

      MsgBox,  ,TEST, Hello World
      

      在编辑文件时,选中MsgBox文本/光标放在MsgBox文本中,

      • F1,会跳往CHM帮助文档的MsgBox章节;
      • Ctrl+Alt+H,会弹出MsgBox的函数参数提示。
    2. 编译&运行
      Ctrl+B/Ctrl+Shift+B,进行编译并执行程序。
      运行结果

    参考

    https://www.zybuluo.com/king/note/47271
    http://zhuanlan.zhihu.com/p/19745335

  • 相关阅读:
    windows命令行下导入excel数据到SQLite数据库
    Android Studio如何提示函数用法
    在不root手机的情况上读取Data目录上的文件
    OSI七层模型
    设计模式之代理模式
    Android中Javascript中的调用
    cf #205 B Codeforces Round #205 (Div. 2) B. Two Heaps
    uva 10600 次小生成树
    防2B && 图论模板 && 7788
    最大匹配 && 最佳完美匹配 模板
  • 原文地址:https://www.cnblogs.com/final/p/5348350.html
Copyright © 2011-2022 走看看