Re: [Notes2-team] Boas vindas aos novos noteiros!!!
Brought to you by:
andersonrb
From: Anderson R. B. <no...@ig...> - 2003-10-19 15:07:37
|
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <meta http-equiv="content-type" content="text/html; charset=ISO-8859-1"> <title>pla-n2</title> </head> <body> <font face="Helvetica, Arial, sans-serif"><big style="font-family: helvetica,arial,sans-serif; font-weight: bold;"><big>Planejamento do Notes 2</big></big><span style="font-family: helvetica,arial,sans-serif; font-weight: bold;"> </span><br style="font-family: helvetica,arial,sans-serif;"> <br style="font-family: helvetica,arial,sans-serif;"> <br style="font-family: helvetica,arial,sans-serif;"> <span style="font-family: helvetica,arial,sans-serif;"><big><span style="font-weight: bold;">Editando texto</span></big><br> Para poder atender a todas as sugestões feitas pelos usuários, a Equipe do Notes decidiu construir um componente (controle) de edição próprio (baseado no famoso componente de edição SynEdit). Este componente de edição funcionara no Windows e no Linux exatamente da mesma forma. As capacidades dele são discutidas abaixo:<br> <br> <big><small style="font-weight: bold;">Coloração de código</small><br> <small>Este é o pedido mais frequente dos usuários e, com a construção do novo componente, poderemos atendê-lo. O componente usará definições que ficarão <span style="font-style: italic;">todas </span>em arquivos XML. Isto significa que a coloração de código será altamente flexível, podendo ser configurada em detalhes pelo usuário inclusive permitindo que a comunidade adicione ao Notes suporte a linguagens não suportadas pela distribuição padrão.<br> <span style="font-weight: bold;"><br> <small style="color: rgb(0, 0, 102);">Implementação:</small></span><small style="color: rgb(0, 0, 102);"> a implementação da coloração de código se dará de forma semelhante a de um editor para Linux chamado Kate. Assim, o texto seria dividido em blocos definidos através de arquivos XML (por exemplo: comentário, string, inteiro, etc.) e não por simples tokens separados por espaços em branco. Para evitar que o parser fique lento, sugere-se que, como no Kate, existam regras pré-prontas para detectar alguns tipos de blocos: inteiros, hexadecimais, octais, ponto flutuante, keyword (pré-definindo que uma keyword é uma string sem espaços, iniciada por uma letra e que permite além de letras, número e o caracter "_"; as keywords são fornecidas pelo arquivo xml). Regras para diferenciar bloco de textos poderão ser facilmente criadas tanto usando expressões regulares como tags que permitem procurar por strings exatas, por um único caracter, </small></small></big></span><span style="font-family: helvetica,arial,sans-serif; color: rgb(0, 0, 102);"><big><small><small>por</small></small></big><big><small><small>dois caracteres, </small></small></big><big><small><small>por </small></small></big></span><span style="font-family: helvetica,arial,sans-serif;"><big><small><small style="color: rgb(0, 0, 102);">qualquer um dos caracteres listados, e pelo intervalo entre uma string/caracter e outra. Este modelo foi escolhido por se encaixar perfeitamente nas idéias da equipe e por que o modelo é altamente flexível podendo ser usado para definir a coloração de qualquer linguagem de programação - seja de script, de marcação, etc.</small><span style="font-weight: bold;"><br> <br> <br> </span><big>Analisador e corretor de erros / auto-completar</big><span style="font-weight: bold;"><br> </span>O editor poderá detectar erros no código enquanto o usuário digita dispensando o uso de compiladores e debugers para a localização e correção de erros simples de programação. Além de detectar os erros, o editor poderá sugerir correções baseado nas estruturas padrões da linguagem que o usuário estiver usando. O corretor poderá ser usado pelo usuário para completar certas construções. Por exemplo, um usuário poderá digitar "if (x==y" e pedir para o editor auto-completar o código, o que o deixaria semelhante a "if (x==y) { }".<br> <br> <small style="color: rgb(0, 0, 102);"><span style="font-weight: bold;">Implementação:</span>o analisador buscaria por estruturas chaves (principalmente aquelas de controle, como if, while, for, etc.) que estariam definidas em um arquivo XML da linguagem. Por exemplo, ao encontrar a palavra-chave if, ele testaria o bloco de código para ver se ele está de acordo com os modelos que ele conhece. Se o modelo não estiver de acordo com a estrutura que o analisador conhece ele marcará o trecho de código como errado. O usuário poderá corrigir o erro manaulmente ou através de sugestões dadas pelo analisador. As sugestões serão feitas de forma a transformar o bloco reconhecido como errado na estrutura que ele conhece que for mais parecida com o bloco de código.</small><span style="font-weight: bold;"><br> <br> Debugando<br> </span></small></big></span><big style="font-family: helvetica,arial,sans-serif;"><small>O editor teria a capacidade de setar breakpoints quando informado de que a linguagem pode ser debugada pelo Notes. Além disto, erros de compilação seriam marcados, quando possível, de forma semelhante aos erros marcados pelo analisador. </small></big><br> <span style="font-family: helvetica,arial,sans-serif;"><big><small><span style="font-weight: bold;"><br> Folding</span><br> Alguns dos editores mais novos permitem que o usuário esconda certas partes do código. É semelhante a usar o Windows Explorer (ou o Konqueror/Nautilus no linux) só que no lugar de poder navegar certas pastas e arquivos, pode-se navegar pelas partes do seu código. O folding poderá ser controlado pelo usuário. Bastará selecionar algumas linhas de código que um pequeno ícone aparecerá: clicando nele aquela parte do código será escondida, bastando clicar nele novamente para mostrar a parte escondida novamente. As áreas de folding poderão ser marcadas também manualmente: bastará adicionar "{{{" para iniciar uma área de folding e "}}}" para fechá-la (sem as aspas). Selecionando as linhas e clicando no ícone para esconder o trecho o Notes adicionará estes marcadores automaticamente.<br> <br> <small style="color: rgb(0, 0, 102);"><span style="font-weight: bold;">Implementação:</span> será usado como base o código para folding do editor JediEdit, já que ele não difere muito das especificações de folding desejado pela equipe. Modificações serão feitas conforme necessário para que o comportamento descrito acima seja alcançado.</small><br> <br> </small></big><span style="font-weight: bold;"><br> Intellisense/Code completion, ToolTip com argumentos e Templates</span><br> O editor poderá completar nomes de classes, constantes, etc. como nas IDEs da Microsoft® e da Borland®.<br> Além disto, mostrará tooltips (dicas) mostrando os parâmetros de métodos e funções quando o usuário teclar "(" (ou outro caracter dependendo da linguagem). Para completar, o editor suportará templates. Estes são palavras especiais definidas pelo usuário que são transformadas pelo editor (quando invocado) em uma string maior. Por exemplo, será possível definir a palavra "class" e então invocar a função para que o editor substitua class pela definição de classe da linguagem que estiver sendo editada. <br> <br> <small><span style="font-weight: bold; color: rgb(255, 0, 0);">Implementação: ?????????????</span></small><br> <br> <b>Favoritos</b><br> O Notes 2 usará um modelo de bookmakers diferente do usado em algumas IDEs (como o Delphi, Context, etc.). Ao invés de limitar o usuário a nove bookmakers nomeados simplesmente com números de 0 a 9 - que forçam o usuário a lembrar a correspondência entre nome do bookmaker e parte do código de cabeça - a equipe optou por usar um modelo semelhante ao usado pelo editor jEdit. O usuário simplesmente dirá ao Notes 2 (clicando no menu, usando atalhos, etc.) em que linha do código ele quer que o Notes 2 crie o bookmaker. O Notes 2 criará um bookmaker para aquela linha e permitirá ao usuário voltar a aquela linha de várias formas: ele poderá seleciona-lo na lista de bookmakers - cada item da lsita terá o formato [número da linha]: "[início da linha]"... (por exemplo: 42 : "if (x==y){ // fechamos o prog"...) - ou usar itens como "próximo bookmaker" e "bookmaker anterior". Os bookmakers de cada arquivo serão salvos no arquivo que contém o projeto que está sendo editado. Assim o usuário terá eles sempre à mão, mesmo após fechar e abrir o arquivo.<br> <br> <br> <b>TaskList</b><br> As tarefas ficarão anotadas diretamente no código fonte, através de comentários iniciados por certas palavras chaves (como "TODO:" por exemplo). Estes comentários serão coletados e mostrados no gerenciador de tarefas. Como as tarefas ficarão no próprio código, as tarefas poderão ser facilmente compartilhadas pela equipe mesmo que alguém da equipe resolva não usar o Notes 2. <br> <br> <b>Clipboard History</b><br> O Notes guardar os últimos trechos de código copiados para a área de transferência, permitindo ao usuário colar estes trechos ou reenviá-los para a área de transferência.<br> <br> </span><big style="font-family: helvetica,arial,sans-serif;"><small style="font-weight: bold;">Split</small><br> </big><span style="font-family: helvetica,arial,sans-serif;">O velho edit do DOS e outros editores atuais permitem que o componente de edição seja dividido em 2. <br> No Notes 2 está capacidade estará presente, podendo dividir o editor tanto horizontalmente quanto verticalmente, quantas vezes o usuário quiser.<br style="font-family: helvetica,arial,sans-serif;"> </span><br> <span style="font-weight: bold; color: rgb(255, 0, 0);">Implementação: ????????????</span><br> <br> <span style="font-family: helvetica,arial,sans-serif;"><big><span style="font-weight: bold;">Navegando no Código</span></big></span><br> <br> <b>ClassView</b><br> Permitirá ao usuário visualizar a estrutura do código e navegar por ela. O ClassView mostrará todas as classes do arquivo que estiver sendo editado, com todos os métodos, propriedades, campos, etc.<br> <br> <b>Barra com combos para navegação</b><br> O usuário poderá navegar pelo código usando uma barra de navegação. Esta barra terá dois bombos - um listando todas as classes do código e outro mostrando os métos/propriedades da classe selecionada no primeiro combo. Selecionando os itens de cada combo o usuário poderá pular rapidamente para os trechos do código que quiser editar.<br> <br> <b> Incremental search</b><br> O Incremental Search será um localizar diferente: permitirá ao usuário ver os resultados da localização enquanto digita o que quer localizar. Por exemplo, se o usuário quiser localizar "int", quando digitar "i" o Notes 2 mostrará visualemnte todas as ocorrências de "i" no texto; quando o usuário digitar o próximo carater ("n") o Notes 2 mostrará todos os "in" existentes no texto; e assim por diante.<br> <br> <b>Indo e vindo nos locais editados</b><br> Com o Notes 2 o usuário poderá voltar para as partes do código que recém editou. Toda vez que o usuário começar a editar uma parte de código muito distante daquela que ele estava editando anteriormente, o Notes guardará a localização da região que ele estava editando. Se o usuário precisar voltar para ela, bastará clicar numa opção do menu - ele não precisará lembrar em que linha que ele estava. O Notes guardará a localização de todas as últimas partes editadas permitindo ao usuário trabalhar em partes diferentes do código sem se perder.<br> <br> <br style="font-family: helvetica,arial,sans-serif;"> <span style="font-family: helvetica,arial,sans-serif;"><big><span style="font-weight: bold;">A Interface</span></big><br> A interface do Notes 2 será altamente configurável. Isso ocorrerá por que menus e toolbars serão criados a partir de arquivos XML, ao invés de estarem definidos dentro do binário. Além disto, o Notes 2 suportará skins (temas) que poderão alterar os controles (botões, campos de edição, combos, etc.) e os ícones padrões. Apesar de altamente configurável, continuará simples de usar, pois sua organização seguirá a forma a qual os programadores já estão acostumados. <br> <br> <small style="color: rgb(0, 0, 153);"><span style="font-weight: bold; color: rgb(0, 0, 102);">Implementação:</span><span style="color: rgb(0, 0, 102);"> existirão dois arquivos xml, um que define os menus e outro que define as toolbars. As ações dos itens dos menus/toolbars serão definidas pela tag "onClick" de cada um dos itens. Dito de outra forma, a string definida em onClick é que dirá ao notes o que ele deve fazer quando o usuário clicar no item. O Notes trará muitos métodos pré-definidos. Estes métodos poderão ser chamados usando uma string contendo "Notes." seguido do nome do método. Por exemplo, ao detectar um click no primeiro item do primeiro menu, o Notes lê a string contida na tag onClick do item (seria bom guardar esta string no próprio intem). Digamos que a string é esta: "Notes.New()". Este método faz o Notes abrir o diálogo para novos arquivos e projetos - que é o que ocorre depois de um parser interno entender o que significa a string. Este mesmo parser será usado para enteder todos os métodos onClick. Além dos métodos providos pelo Notes, estarão disponíveis os métodos das extensões instaladas pelo usuário. A extensões serão sempre responsáveis por adicionar itens a menus/toolbars usando as opções do Notes eXtension Installer. Digamos que o usuário queira usar uma extensão chamada "SuperSearch" que adiciona ao Notes um diálogo para fazer pesquisa de milhões de formas diferentes. O usuário não terá muitos problemas para isto: basta chamar o Notes eXtension Installer e escolher que extensão ele quer instalar. De acordo com o script xml de instalação da extensão, o eXtension Installer adicionará itens aos menus, aos toolbars, ao ToolBox, etc. Estes itens também terão a tag onClick, exatamente como os itens que chamam os métodos do Notes. Mas as strings onClick começarão com "Extension." ao invés de "Notes." e serão seguidas de sua categoria (comandos, diálogos, etc.), de seu nome e, por último, do método contido na extensão a ser chamado. (Nem todas as extensões poderão ser chamadas deste modo, pois algumas delas não adicionam novos métodos ao notes, mas sim coloração de syntaxe para alguma nova linguagem, templates, etc.) Um exemplo seria um comando, implementado na forma de um script em PHP, que formata o código Java de acordo com os estilos recomendados pela Sun®. A string para chamar esta extensão seria a seguinte: "Extension.Command.PhpJavaFormater.Execute()". Todas as extensões que adicionam métodos ao Notes poderão ser chamadas pelo método "Execute()". Em scripts este método não existe, mas o Notes entende que a extensão é um script e o executa. No caso de plugins (DLLs, DSOs, BPLs), este método deverá ser implementado ou ele deverá usar o arquivo extension.xml para pedir ao Notes que chame outro método no lugar dele. As complexidades ficam sempre a cargo do Notes, pois os usuários e os desenvolvedores de extensões podem sempre usar um método padrão para chamar as extensões.</span><br> </small><br> <br> <big>Como será a interface?<br> <small>Num programa tão configurável quanto o Notes 2, esta é uma pergunta difícil de responder. Temos pensando em uma estrutura assim (de cima para baixo): menus; barra de ferramentas; tabs (para mudar entre os arquivos abertos) e um botão seletor de projetos (no Notes 2 você poderá abrir vários projetos ao mesmo tempo, clique no botão para mudar de um para outro); na esquerda um painel vertical onde ficaram várias ferramentas (gerenciador de projetos, gerenciador CVS, etc.) e na direita a área de edição; um painel horizotal (abaixo do editor, mas não abaixo do painel vertical) com outras ferramentas (saída de compiladores, gerenciador de tarefas, etc.); e, por último, a barra de status.<br> <br> <small style="color: rgb(255, 0, 0);"><span style="font-weight: bold;">Implementação: </span>??? aguardando sugestões sobre como os temas poderão ser implementados ???</small><br> </small> </big></span><br> <span style="font-family: helvetica,arial,sans-serif;"><big>Dando poder ao teclado<br> <small>A maioria dos programadores usa muito mais o teclado que o mouse - o que difere uma IDE como o Notes 2 de outros aplicativos. Então prometemos desde já dar uma atenção especial a ele. No caso do editor, AutoIndent, SmartIndent, SmartHome, SmartEnd, SmartPaste ajudarão a diminuir o tempo que um programador gasta escrevendo e formatando o código. Além disto, o editor poderá usar features normalmente só encontradadas em editores da Borland®, como as setas que podem se movimentar livremente no texto. Além disto tudo, as teclas de atalho poderão ser totalmente configuradas. Pensamos até em permitir que algumas delas mudem conforme a linguagem que se está editando!!!<br> <br> <small style="color: rgb(0, 0, 102);"><span style="font-weight: bold;">Implementação:</span> algumas destas características já vem implementadas no SynEdit, componente que modificaremos para construir o controle de edição. No caso do SmatIndent deveremos permitir que seja configurado, como todo o resto, através de um arquivo XML para cada linguagem. O arquivo poderá conter até diferentes estilos de indentação que poderão ser escolhidos pelo usuário como aquele que ele quer usar. No caso das teclas de atalho, bastará reusarmos o parser das tags onClick referido na descrição da implementação da interface para que façamos elas altamente configuráveis. </small><br> </small></big></span><br> <big style="font-family: helvetica,arial,sans-serif;"><span style="font-weight: bold;">Integração<br> </span><small>Sendo programadores, estamos cientes de que um editor de código não é a única ferramenta necessária durante o desenvolvimento. Por isto o Notes 2 terá uma boa integração com compiladores, debugers, CVS, FTP, etc. Outros IDEs fazem isto construindo novas ferramentas (quase sempre proprietárias) diferentes daquelas que os programadores estão acostumados a usar. Queremos que o Notes 2 se integre com as ferramentas que estão aí e que você já sabe usar. Nada de inventar a roda e obrigá-lo a aprender algo que você não quer.<br> <br> <small><span style="font-weight: bold; color: rgb(0, 0, 102);">Implementação:</span><span style="color: rgb(0, 0, 102);"> a implementação depende em larga escala aqui de uma classe ou procedures que nos permitam ler e escrever em programas de modo texto - ou seja, comunicarmos através de pipes. É isto que precisaremos para nos integrarmos com CVS, compiladores e debugers. Alguns aplicativos (como o cvs e o jdb, debuger do java) exigem que você além de ler sua sáida (stdout) possam também escrever nela (stdin). A partir deste código será necessário criar o suporte para cada ferramenta de forma separada, já que cada um deste possui comandos completamente diferentes. No caso de debugers e compiladores este suporte poderia ser feito através de extensões: além de possibilitar que suporte a novos compiladores/debugers seja facilmente adicionado, isto diminuiria o número de forms linkados diretamente no binário. As extensões usariam APIs do Notes para que pudessem se comunicarem com os aplicativos por pipes de forma mais fácil e multi-plataforma. No caso do CVS, o suporte poderia ser interno, já que trata-se de algo amplamente usado. O mesmo com o FTP - mas neste a implementação não precisaria de um programa externo para rodar (existe uma biblioteca SL chamada Synapse para Delphi/Kylix que nos permitirá fazer isto facilmente).</span></small><br> </small></big><br style="font-family: helvetica,arial,sans-serif;"> <big style="font-family: helvetica,arial,sans-serif;"><small style="font-weight: bold;">Compiladores e debugers<br> </small><small>O Notes suportaria por padrão os compiladores mais usados no windows (vc++, delphi, free pascal, gcc, java, etc.) e no linux (gcc e suas variações, java, kylix, etc.). Para cada compilador (o compilador do projeto será escolhido pelo usuário nas propriedades do projeto) o Notes exibirá um diálgo diferente, permitindo que o usuário configure todas as opções do compilador como se estivesse usando uma IDE específica para a sua linguagem. Quanto aos debugers, </small></big><big style="font-family: helvetica,arial,sans-serif;"><small>seriam suportados aqueles mais usados, como o GNU Debuger, o jdb, etc. </small><small style="font-weight: bold;"><br> </small></big><big style="font-family: helvetica,arial,sans-serif;"><small style="font-weight: bold;"><br> </small><small style="font-weight: bold;"><br> CVS<br> </small><small>O gerenciado de CVS do Notes permitirá que você use esta ferramenta de maneira fácil e sem sair da IDE. O gerenciador estará integrado ao resto do Notes, permitindo por exemplo que um novo projeto seja criado a partir do downlod (checkout) de fontes de um servidor local ou remoto. Assim você podecom facilitade começar a participar de um dos muitos projetos de software livre existentes!</small><small style="font-weight: bold;"><br> <br> <br> Sites dinâmicos e Linguagens de Script<br> </small><small>Os desenvolvedores de sites dinâmicos (php, jsp, asp, etc.) não foram esquecidos. Você poderá publicar o projeto para um ftp ou para uma pasta local e ver o resultado em um dos seus browser - tudo isto sem sair da IDE. Da mesma forma, os desenvolvedores de script poderão rodar seus aplciativos facilmente. No caso de linguagens de script muito usadas e que possuam um debuger padrão, este será suportado da mesma forma que os debugers para linguagens compiladas.</small><small style="font-weight: bold;"><br> <br> <br> </small><span style="font-weight: bold;">Extensibilidade<br> </span><small>Por mais que nos esforcemos, nunca poderemos oferecer tudo o que um usuário precisa. Há ferramentas que são muito específicas, isto é, úteis apenas para uma linguagem ou para alguns poucos usuários. Há linguagens que não existem ainda ou outras, mais antigas, que poderão não ser suportadas por padrão quando o Notes 2 for lançado. E além disto, todos os membros da equipe são humanos! Para resolver o problema, o Notes 2 será altamente extensível: você poderá adicionar suporte a novas linguagens, criar novos comandos na sua linguagem de script preferida para fazer pequenas modificações no código ou, até mesmo, escrever novos diálogos e ferramentas - plugins - em C/C++, Object Pascal, etc. Além de tudo isto, as extensões poderão ser instaladas através do Notes e farão todas as modificações necessárias para que você possa sair usando elas sem precisar ler manuais complicados.<br> <br> <big>Plugins<br> <small>Os plugins serão as extensões mais poderosas no Notes 2. Isto por que os plugins terão acesso a uma API do Notes, feita especialmente para eles. Com isto poderão conseguir todo tipo de informações que precisarem, poderão alterar certos comportamentos, capturar eventos, usar bibliotecas do Notes (como a de expressões regulares ou a de configurações), etc. Um plugin poderá implementar "serviços" (um novo comportamento, como inserir uma quebra de linha toda vez que você digitar "{"), diálogos, novas ferramentas que podem ser dockadas aos painéis do Notes 2, etc.<br> <br> <small style="color: rgb(0, 0, 102);"><span style="font-weight: bold;">Implementação:</span> o código para a implementação dos plugins já existe, então não há tanto trabalho pela frente. Talvez a maior dificuldade seja o que incluiremos na API - pois precisamos saber extamente de que métodos temos para poder permitir que plugins usem eles. </small><br> </small> <br> Scripts<br> <small>No Notes 2 você poderá usar a sua linguagem de scripts preferida para adicionar novas ferramentas ao Notes (claro que você precisará ter o interpretador já instalado, não dá para querer que o Notes aprenda a interpretar todas as linguagens de scripts existentes). Outra novidade é que você poderá ter interfaces simples para o seus scripts - usando apenas a sua linguagem de script e um pouco de XML (que é fácil). Com isto você poderá adicionar, por exemplo, um botão na barra de ferramentas que, quando acionado, mostre ao usuário um diálogo com várias opções permitindo a ele criar uma tabela HTML em poucos segundos. <br> <br> </small></big></small></big><big style="font-family: helvetica,arial,sans-serif;"><small><big><small><small style="color: rgb(0, 0, 102);"><span style="font-weight: bold;">Implementação:</span> relativamente simples. O Notes lê primeiro o arquivo XML que define a gui. Cada membro da gui possui o nome de uma variável anexado a ele. Conforme o usuário manipula a GUI, estes valores são armazenados nas variáveis. Por exemplo, se a GUI possui um campo de texto e o usuário preenche nele "Isto é o valor da variável" e a variável associada ao campo chama-se MinhaVariável, MinhaVariável armazena a string </small></small></big></small></big><small style="color: rgb(0, 0, 102); font-family: helvetica,arial,sans-serif;"><big><small>"Isto é o valor da variável". Quando o usuário clcia OK na GUI, o Notes abre o arquivo de script e substituí nele as variáveis pelo valor que o usuário deu para elas. Por exemplo, achando %MinhaVariável% no script, o Notes a substituirpa por </small></big></small><small style="color: rgb(0, 0, 102); font-family: helvetica,arial,sans-serif;"><big><small>"Isto é o valor da variável". Depois disto, o Notes executa o script. O script cria então alguns arquivos: um com a sua saída (normalmente é o texto modificado); outro com erros, quando necessário; e um terceiro que definirá o que o Notes fará com a suas saída.</small></big></small><br> <big style="font-family: helvetica,arial,sans-serif;"><small><big><br> Suporte a novas linguagens<br> </big>Através das extensões será possível também adicionar suporte a outras linguagens e melhorar o suporte as linguagens que são suportadas no Notes 2 por padrão. Uma extensão poderá conter templates, o arquivo de coloração de código para a linguagem, snippets, scripts, plugins, etc. </small><span style="font-weight: bold;"><br> <br> </span><b>A ajuda do Notes 2</b><br> <small>A ajuda do Notes 2 trará todas as informações sobre como operar o Notes 2, tutoriais para os novos usuários e ferramentas que facilitarão a resolução de dúvidas ligadas as linguagens suportadas pelo Notes. A ajuda estará totalmente integrada a IDE, não tendo nenhuma dependência de sistemas exteriores e/ou proprietários. Em um painel - organizado de forma semelhante ao toolbox - o usuário terá acesso a três ferramentas: "NotesStart"; "Ajuda do Notes 2"; e "Ajuda das linguagens". O NotesStart será um painel que trará links para aquilo que quem está iniciando a usar o Notes precisa - permitindo abrir os trechos mais importantes da documentação e realizar as tarefas mais comuns. A "Ajuda do Notes" possuirá um índice de toda a documentação do Notes 2 e dará ao usuário a possibilidade de procurar na documentação. A "Ajuda das linguagens" permitirá ao usuário procurar por informações nos sites mais importantes sobre a linguagem que está usando e trará links para fórums, listas de discussão, etc. Em resumo: a Ajuda do Notes trará várias ferramentas permitindo ao usuário ir muito além do acesso a documentação, procurando guiá-lo as melhores soluções para as suas dúvidas de forma rápida e intuitiva.</small><br> </big><big style="font-family: helvetica,arial,sans-serif;"><span style="font-weight: bold;"><br> </span><span style="font-weight: bold;">Mais detalhes</span><br> <br> ToolBox<small><br> O Notes SE incluia o menu inserir. Apesar de ser altamente funcional, ele tinha um problema: você tinha que navegar pelos submenus até achar o que queria inserir. Para solucionar este problema, a equipe do Notes incluirá um ToolBox no painel vertical, que facilitará o acesso aos códigos do menu inserir.<br> <br> <big>Ferramentas para SQL e XML<small><br> O Notes 2 incluirá também ferramentas para que você possa manipular banco de dados, construir querys SQL com facilidade e editar visualmente arquivos XML.</small></big></small></big></font> </body> </html> |