Linha de Comando de dentro do Texto Sublime

5

Eu recentemente mudei do Notepad ++ para o Sublime Text 2, e é incrível. Há uma coisa que eu aprecio e que está compilando meus arquivos do mesmo ambiente. O texto sublime tem um console e um palete de comando, mas nenhum deles pode executar comandos normais do Windows.

Por exemplo, eu simplesmente gostaria de executar javac program.java e java program de um console de dentro do Sublime Text.

Tal coisa é possível ainda? Se sim, como fazer isso?

    
por Darren 30.09.2013 / 09:03

4 respostas

2

O botão "Show Console" mostra o console do Python que está embutido no Sublime Text e não no terminal normal do SO. Se você quiser abrir um terminal na pasta que contém o arquivo editado, tente o pacote Sublime Terminal .

EDIT: @Darren: se for assim, então procure na Internet como executar comandos de terminal do shell python, o Google tem muitos links para eles.

    
por 30.09.2013 / 09:34
2

Se você estiver procurando principalmente compilar e executar programas Java, um sistema de criação (Veja referência completa aqui ) é o que você está procurando. No menu Preferences , selecione Browse Packages... , navegue até a pasta Packages/Java e abra o arquivo JavaC.sublime-build :

{
    "cmd": ["javac", "$file"],
    "file_regex": "^(...*?):([0-9]*):?([0-9]*)",
    "selector": "source.java"
}

Isso pressupõe que javac esteja no PATH usado pelo Sublime, talvez seja necessário editá-lo para se ajustar à configuração do seu sistema. Você pode executar esse sistema de compilação salvando primeiro o arquivo .java , selecionando Tools -> Build System -> JavaC ou Tools -> Build System -> Automatic e pressionando Ctrl B ( B no Mac).

Para executar o arquivo .class resultante, modifique JavaC.sublime-build para o seguinte:

{
    "cmd": ["javac", "$file"],
    "file_regex": "^(...*?):([0-9]*):?([0-9]*)",
    "selector": "source.java",
    "working_dir": "${project_path:${file_path}}",

    "variants": [

        { 
            "name": "Run",
            "cmd": ["java", "$file_name"],
            "shell": true,
            "env": {"CLASSPATH": "/path/to/jar/files:/path/to/more/jars"}
        }
    ]

}

Você pode então usar a tecla Ctrl Deslocar B ( Deslocar < kbd> B no Mac) combinação de teclado para executar a variante Run do sistema de compilação. A linha "working_dir": "${project_path:${file_path}}" executa a compilação a partir do diretório que contém o arquivo .sublime-project , se você não tiver um, o diretório padrão que contém sua .java source é o padrão. "shell": true executa o "cmd" por meio do shell, seja cmd.exe , bash ou o que você escolher. Caso contrário, apenas sai através do console do Sublime. O dicionário "env" permite que você adicione pares chave: valor de variáveis de ambiente que você pode querer definir apenas para a sessão de construção. Pode estar na seção "Variants" ou na principal, dependendo das suas necessidades.

Para muitos detalhes, confira os dois links que forneci no começo - juntos eles contêm uma tonelada de informações e alguns exemplos úteis de sistemas de compilação. Você também pode navegar pelas subpastas do diretório Packages e verificar os arquivos .sublime-build que encontrar para obter ideias - seus nomes estão listados em Tools -> Build System (ou seja, o sistema de compilação "Python" é encontrado em Packages/Python/Python.sublime-build ). / p>

Em resposta à sua pergunta original, o Sublime não é arquitetado para suportar um emulador de terminal completo. Embora você possa executar comandos arbitrários usando o subprocess.Popen() do Python, eu prefiro usar o fantástico SublimeREPL (disponível através do Controlo de pacotes ) junto com IPython . Há um monte de dependências , mas easy_install ipython[all] deve cuidar da maior parte disso para você , como seria a instalação através de um gerenciador de pacotes como MacPorts , yum , apt-get , etc. Para o Windows, os binários pré-compilados estão disponíveis em Pacotes de Extensão Python para o repositório do Windows , que inclui links para todas as dependências necessárias e opcionais. Verifique se você está usando a instalação do python python.org .

Uma vez que você tenha o Python e o IPython instalados no seu sistema e no PATH do Sublime, e o SublimeREPL instalado, vá para Tools -> SublimeREPL -> Python -> Python - IPython e você deverá estar pronto e funcionando momentaneamente. Para executar um comando shell, simplesmente prefixe-o com ! - por exemplo:

In [1]: !ls

listará o conteúdo do diretório de trabalho atual, enquanto

In [2]: files = !ls

atribuirá esses nomes a uma variável. Esteja ciente, no entanto, que comandos como !cd .. não irão realmente alterar o diretório de trabalho atual, você precisará executar:

In [3]: import os
In [4]: os.chdir('..')

para fazer isso. A documentação para as funções de arquivos e diretórios do módulo os é muito útil aqui (altere o 2 na URL para um 3 se você estiver usando o Python 3) - o que traz outro ponto strong desse sistema: Você pode ter várias versões do Python em seu sistema e não depender a versão simplificada do 2.6 que acompanha o Sublime Text 2. Salve o seguinte em Packages/User/SublimeREPL/config/Python/Main.sublime-menu e personalize para o seu gosto:

[
    {
        "id": "tools",
        "children":
        [{
            "caption": "SublimeREPL",
            "mnemonic": "r",
            "id": "SublimeREPL",
            "children":
            [
                {
                    "caption": "Python",
                    "id": "Python",
                    "children":[
                        {
                            "command": "repl_open",
                            "caption": "Python 3",
                            "id": "repl_python3",
                            "mnemonic": "p",
                            "args": {
                               "type": "subprocess",
                               "encoding": "utf8",
                               "cmd": ["/opt/local/bin/python3", "-i", "-u"],
                               "cwd": "/Users/YourNameHere/Development/python",
                               "syntax": "Packages/Python/Python.tmLanguage",
                               "external_id": "python3",
                               "extend_env": {"PYTHONIOENCODING": "utf-8"}
                            }
                        },
                        {
                            "command": "repl_open",
                            "caption": "IPython 3",
                            "id": "repl_ipython3",
                            "mnemonic": "p",
                            "args": {
                                "type": "subprocess",
                                "encoding": "utf8",
                                "cmd": ["/opt/local/bin/ipython", "-i", "--pylab=osx", "--colors=NoColor"],
                                "cwd": "/Users/YourNameHere/Development/python",
                                "syntax": "Packages/Python/Python.tmLanguage",
                                "external_id": "Ipython",
                                "extend_env": {"PYTHONIOENCODING": "utf-8"}
                             }
                        }
                    ]
                }
            ]
        }]
    }
]

Agora você pode ter opções de menu personalizadas que sobreviverão a SublimeREPL de upgrades do Package Control e executará REPLs com diferentes opções, diretórios de trabalho, o que você tem.

Espero que algumas delas sejam de alguma utilidade para você, por favor, deixe-me saber como isso funciona para você.

    
por 01.10.2013 / 18:12
0

É possível agora. Você pode compilar e executar seu código inteiramente em ST, e é muito rápido / simples. Há um pacote recente do ST chamado Javatar que pode fazer isso. link

    
por 22.07.2014 / 17:26
0

Experimente Cola , é um terminal dentro de um texto sublime aba. Você pode executar todos os comandos do console, iniciar o programa etc a partir de uma linha de comando, a saída é mostrada na janela.

    
por 22.06.2015 / 09:44