{"id":349,"date":"2022-01-07T18:28:06","date_gmt":"2022-01-07T21:28:06","guid":{"rendered":"https:\/\/gladiston.net.br\/?page_id=349"},"modified":"2022-07-13T16:04:57","modified_gmt":"2022-07-13T19:04:57","slug":"atalhos-uteis","status":"publish","type":"page","link":"https:\/\/gladiston.net.br\/en\/programacao\/lazarus-ide\/atalhos-uteis\/","title":{"rendered":"Useful shortcuts"},"content":{"rendered":"\n<p>Todo sistema ou programa tem seus atalhos considerados \u00fateis, no Lazarus IDE n\u00e3o \u00e9 diferente. Os atalhos para o Delphi s\u00e3o praticamente os mesmos para o Lazarus IDE. Mas h\u00e1 algumas diferen\u00e7as, Ctrl+Shift+N \u00e9 um deles.<\/p>\n\n\n\n<p>Se deseja ser produtivo com o Lazarus \u00e9 bom aprend\u00ea-los. H\u00e1 alguns atalhos que considero essenciais para sobreviver com o Lazarus:<\/p>\n\n\n\n<p><strong>F11:<\/strong>&nbsp;Invoca o editor de propriedades<\/p>\n\n\n\n<p><strong>F12:<\/strong>&nbsp;Troca entre o editor de c\u00f3digo e editor de formul\u00e1rios<\/p>\n\n\n\n<p><strong>ALT+F1<\/strong>: Adiciona uma <em>unit <\/em>do projeto a se\u00e7\u00e3o <em>interface <\/em>ou <em>implementation<\/em>.<\/p>\n\n\n\n<p><strong>Ctrl+ALT+P:<\/strong>&nbsp;Invoca a paleta de componentes.<\/p>\n\n\n\n<p><strong>Ctrl+Espa\u00e7o<\/strong>: Invoca o &#8216;<em>code complete<\/em>&#8216;, ele tenta descobrir a fun\u00e7\u00e3o que tenta usar e mostra os par\u00e2metros requeridos conforme voc\u00ea avan\u00e7a na digita\u00e7\u00e3o.<\/p>\n\n\n\n<p><strong>Ctrl+Shift+C<\/strong>: Criar o c\u00f3digo vazio para os procedimentos declarados por\u00e9m cuja implementa\u00e7\u00e3o ainda n\u00e3o exista. Geralmente usamos apenas quando estamos fazendo o prot\u00f3tipo, isto \u00e9, criando as declara\u00e7\u00f5es de objeto na se\u00e7\u00e3o private, public ou published e depois vamos criar m\u00e9todos vazios apenas para que a compila\u00e7\u00e3o funcione e mais tarde implementaremos o c\u00f3digo. Uma s\u00fatil diferen\u00e7a, se voc\u00ea alterar os par\u00e2metros sem alterar o nome da identifica\u00e7\u00e3o, o Ctrl+Shift+C vai alter\u00e1-lo tamb\u00e9m na chamada correspondente mesmo que ela j\u00e1 tenha sido criada. As vezes, voc\u00ea muda o nome ou tipo do par\u00e2metro e o c\u00f3digo n\u00e3o compila porque a declara\u00e7\u00e3o t\u00e1 diferente, ent\u00e3o voc\u00ea usa Ctrl+Shift+C e a implementa\u00e7\u00e3o estar\u00e1 como na declara\u00e7\u00e3o e agora seu c\u00f3digo compila sem voc\u00ea burocraticamente opiar e colar a declara\u00e7\u00e3o no inicio da unit.<\/p>\n\n\n\n<p><strong>F9<\/strong>: Roda o programa com o BuildMode selecionado, geralmente o BuildMode inclui o debugger.<\/p>\n\n\n\n<p><strong>Ctrl+Shift+F9<\/strong>: Roda o programa com BuildMode selecionado, mas sem o debugger.<\/p>\n\n\n\n<p><strong>Ctrl+ALT+Setas:<\/strong>&nbsp;Invoca o modo de edi\u00e7\u00e3o de colunas (Column Mode).<\/p>\n\n\n\n<p><strong>Ctrl+Num+ e Ctrl+Num-<\/strong>: Aumenta ou diminui as fontes de letras no editor de c\u00f3digo, mas preste aten\u00e7\u00e3o, o &#8220;+&#8221; e o &#8220;-&#8221; devem ser do teclado num\u00e9rico.<\/p>\n\n\n\n<p><strong>Ctrl+Shift+N<\/strong>: Quando voc\u00ea quiser enclausurar um c\u00f3digo dentro de um try..except, begin..end,while, until&#8230; qualquer tipo de bloco, use esse atalho e ent\u00e3o o editor lhe perguntar\u00e1 que tipo de bloco voc\u00ea quer para a parte selecionada. Geralmente para economizar tempo eu crio a fun\u00e7\u00e3o rapidamente, mas uma vez que ela tenha funcionado, eu marco o trecho de c\u00f3digo e com Ctrl+Shift+N e pe\u00e7o para a IDE embuti-la num try..except.<\/p>\n\n\n\n<p><strong>Ctrl+J:<\/strong>&nbsp;Invoca o \u2018Code template\u2019. Blocos de c\u00f3digo repetitivos que n\u00e3o precisam ser digitados ou \u2018colado\u2019 todas as vezes. Crie um template(modelo) e o invoque com Ctrl+J toda vez que precisar.<\/p>\n\n\n\n<p><strong>Ctrl+K+E<\/strong>: Muda o texto selecionado para min\u00fasculo(caixa baixa). Ao mudar para o lazarus, este atalho n\u00e3o funcionava, me fez falta, por um tempo, at\u00e9 que voltou a funcionar.<\/p>\n\n\n\n<p><strong>Ctrl+K+F<\/strong>: Muda o texto selecionado para mai\u00fasculo(caixa alta). <\/p>\n\n\n\n<p><strong>ALT+G:<\/strong>&nbsp;Invoca a lista de procedimentos no seu c\u00f3digo(eventos, procedures e functions), da\u00ed voc\u00ea escolhe para onde deseja ir. \u00c9 o fim do Ctrl+F ou ir para o inicio do c\u00f3digo s\u00f3 para dar Ctrl+Click do Mouse:<br><img decoding=\"async\" src=\"https:\/\/gladiston.github.io\/hello_lazarus\/assets\/productivity_shortcuts1.png\"><\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Debugger<\/h2>\n\n\n\n<p>Aqui, n\u00e3o h\u00e1 diferen\u00e7as entre o Delphi e Lazarus IDE. Mas convenhamos eles tamb\u00e9m s\u00e3o muitos similares tamb\u00e9m no vscode e eclipse afinal \u00e9 aqui que os programadores passam muito do seu tempo n\u00e3o importando a linguagem. S\u00e3o eles:<\/p>\n\n\n\n<p><strong>F8 <\/strong>: Conhecido como <em>Step Over<strong>,<\/strong><\/em> executa o procedimento na linha selecionada e vai para a pr\u00f3xima e para e ent\u00e3o voc\u00ea vai dando consequentes F8 e vai acompanhando linha a linha.<\/p>\n\n\n\n<p><strong>F7<\/strong>: Conhecido como <em>Step Into<\/em>, ele vai entrar no procedimento e parar na primeira linha de execu\u00e7\u00e3o seguinte que pode ser uma linha de c\u00f3digo ou uma express\u00e3o. \u00c0s vezes combino ele com Shift+F7 para prosseguir para a pr\u00f3xima linha pulando par\u00eanteses ou express\u00f5es que o <em>Step Into<\/em> vai parar.<\/p>\n\n\n\n<p><strong>F4<\/strong>: Roda o programa at\u00e9 onde o cursor estiver posicionado.<\/p>\n\n\n\n<p><strong>Ctrl+F5<\/strong>: Selecione uma vari\u00e1vel ou express\u00e3o e d\u00ea Ctrl+F5 e a sele\u00e7\u00e3o ser\u00e1 inclu\u00edda na janela Watches e voc\u00ea acompanhar\u00e1 a vari\u00e1vel ou express\u00e3o modificando-se ao longo da execu\u00e7\u00e3o do programa.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Modificar ou consultar atalhos<\/h2>\n\n\n\n<p>Todas as teclas de atalho no Lazarus IDE podem ser modificadas em<strong> Tools &gt; Options &gt; Editor &gt; Key Mappings<\/strong>:<\/p>\n\n\n\n<figure class=\"wp-block-gallery has-nested-images columns-default is-cropped wp-block-gallery-1 is-layout-flex wp-block-gallery-is-layout-flex\">\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"802\" height=\"532\" data-id=\"1518\" src=\"https:\/\/gladiston.net.br\/wp-content\/uploads\/2022\/06\/lazarus_ide-options-key_mapping.png\" alt=\"\" class=\"wp-image-1518\" srcset=\"https:\/\/gladiston.net.br\/wp-content\/uploads\/2022\/06\/lazarus_ide-options-key_mapping.png 802w, https:\/\/gladiston.net.br\/wp-content\/uploads\/2022\/06\/lazarus_ide-options-key_mapping-300x199.png 300w, https:\/\/gladiston.net.br\/wp-content\/uploads\/2022\/06\/lazarus_ide-options-key_mapping-18x12.png 18w\" sizes=\"auto, (max-width: 802px) 100vw, 802px\" \/><\/figure>\n<\/figure>\n\n\n\n<p>Note que h\u00e1 at\u00e9 mesmo a possibilidade de usar esquemas pr\u00e9-definidos que podemos usar e at\u00e9 criar.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">CONCLUS\u00c3O<\/h2>\n\n\n\n<p>Creio que os atalhos que eu mencionei s\u00e3o os mais pr\u00e1ticos que lhe \u00e9 conveniente usar, mas claro que h\u00e1 muitos outros que podem melhorar a sua produtividade que voc\u00ea descobrir\u00e1 com o tempo. Os atalhos para o sistema MacOS s\u00e3o um pouco diferentes por causa da aus\u00eancia da tecla ALT e tamb\u00e9m porque algumas combina\u00e7\u00f5es s\u00e3o usadas pelo sistema operacional, se deseja descobrir quais s\u00e3o as diferen\u00e7as ent\u00e3o clique <a href=\"https:\/\/wiki.freepascal.org\/Lazarus_IDE_Shortcuts\" target=\"_blank\" rel=\"noreferrer noopener\" title=\"aqui\">aqui<\/a> .<\/p>\n\n\n\n<p>Ainda falando sobre produtividade, o link abaixo menciona 10 coisas que voc\u00ea [provavelmente] n\u00e3o sabe sobre o Lazarus que tr\u00e1s algumas dicas:<\/p>\n\n\n\n<p><a href=\"http:\/\/lazplanet.blogspot.com\/2015\/06\/10-things-you-did-not-know-about-lazarus.html\">10 Things you did not know about Lazarus<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Todo sistema ou programa tem seus atalhos considerados \u00fateis, no Lazarus IDE n\u00e3o \u00e9 diferente. Os atalhos para o Delphi s\u00e3o praticamente os mesmos para o Lazarus IDE. Mas h\u00e1 algumas diferen\u00e7as, Ctrl+Shift+N \u00e9 um deles. Se deseja ser produtivo com o Lazarus \u00e9 bom aprend\u00ea-los. H\u00e1 alguns atalhos que considero essenciais para sobreviver com [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":159,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"templates\/template-full-width.php","meta":{"footnotes":""},"class_list":["post-349","page","type-page","status-publish","hentry"],"aioseo_notices":[],"_links":{"self":[{"href":"https:\/\/gladiston.net.br\/en\/wp-json\/wp\/v2\/pages\/349","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/gladiston.net.br\/en\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/gladiston.net.br\/en\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/gladiston.net.br\/en\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/gladiston.net.br\/en\/wp-json\/wp\/v2\/comments?post=349"}],"version-history":[{"count":16,"href":"https:\/\/gladiston.net.br\/en\/wp-json\/wp\/v2\/pages\/349\/revisions"}],"predecessor-version":[{"id":1541,"href":"https:\/\/gladiston.net.br\/en\/wp-json\/wp\/v2\/pages\/349\/revisions\/1541"}],"up":[{"embeddable":true,"href":"https:\/\/gladiston.net.br\/en\/wp-json\/wp\/v2\/pages\/159"}],"wp:attachment":[{"href":"https:\/\/gladiston.net.br\/en\/wp-json\/wp\/v2\/media?parent=349"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}