web-dev-qa-db-fra.com

notepad ++ régions définies par l'utilisateur avec repliement

Je n'arrive pas à comprendre comment configurer Notepad ++ pour afficher les régions pour les mots-clés définis par l'utilisateur.

J'ai un gros fichier de trace qui indique le début et la fin d'une procédure . Le fichier de trace ressemble à ceci:

Beginn abc.def;
   ...
   Beginn ghi.jkl;
   ...
   Ende ghi.jkl;
   ...
Ende abc.def;

Je voudrais plier ces régions comme ceci:

[+] Beginn abc.def;

ou

[-] Beginn abc.def;
       ...
[+]    Beginn ghi.jkl;
       ...
    Ende abc.def;

Comment configurer mon notepad ++ pour afficher ceci . Est-ce possible? Avez-vous d'autres suggestions?

62
Stephan Schielke

Pour les versions 6.5.5 et supérieures:

Dans le menu "Langue", vous trouverez un menu appelé "Définir votre langue ...".

 enter image description here

Dans l'onglet "Dossier & Par défaut" se trouve un groupe appelé "Code de pliage" dans lequel vous pouvez saisir un mot clé "Ouvrir" et un mot clé "Fermer".

 Folding in code

Pour les versions antérieures à 6.5.5:

Dans le menu "Voir", vous trouverez un menu appelé "Dialogue défini par l'utilisateur ...".

View Define your language

Dans l'onglet "Dossier & Par défaut", vous pouvez saisir un "Mot clé Ouvrir le dossier" et un "Mot clé Ouverture du dossier".

Folder Open Close Keyword

47
Stephan Schielke

Un autre moyen simple consiste simplement à ajouter un marqueur de commentaire suivi d'un bloc ouvert pour commencer un bloc et d'un marqueur de commentaire suivi d'un bloc final pour terminer un bloc. En C, C++, Java, Javascript, etc., cela ressemble à ceci:

//{

//}

J'ai le même problème. Je souhaite ajouter une balise personnalisée telle que #region/#endregion pour créer des points de repliement arbitraires dans des langues qui ne le prennent pas en charge. Plus précisément, j'essaie de le faire pour php.

Après une recherche d'une heure ou deux, il semble assez difficile de modifier une langue existante en raison du scintilla lexer sous-jacent, et l'écriture d'un plugin peut être le seul moyen d'y parvenir.

J'ai toutefois découvert une solution de contournement décente:

Enveloppez le code que vous souhaitez incorporer dans des commentaires tels que:

#{ 
...
#}

Puis déplacez votre curseur devant l’accolade ouverte et appuyez sur CTRL+ALT+b pour mettre en évidence le bloc entier, suivi de ALT+h pour le cacher.

C'est une opération différente du pliage, mais cela fonctionne à la rigueur.

12
Kevin Jhangiani

J'ai utilisé la réponse de Marcelo pour résoudre cela moi-même (en Perl), avec un changement ...
Si j'incluais un espace entre le symbole de commentaire et le crochet, cela ne fonctionnerait pas. Il devait être placé immédiatement après:

#START example
################{

print "Hi there! ";
print "How are you?\n";

#}END example

Notez que si je le fais:

#END example }

avec le support après le texte, cela ne fonctionnera pas non plus 

4
user1881282

!! Clause de non-responsabilité: Noob total à PHP !!

En supposant que vous encapsulez votre PHP dans du code HTML, vous pouvez définir des sections personnalisées à l'aide de <?php and?>.

Ex:

<html>
<head></head>
<body>
<?php 
$cities[1] = "Phoenix";$cities[2] = "Tucson";$cities[3] = "Flagstaff";  
$capitals['CA'] = "Sacramento";$capitals['TX'] = "Austin";$capitals['OR'] = "Salem";    
$cities[] = "Phoenix";$cities[] = "Tucson";$cities[] = "Flagstaff"; 
echo "Here are cities: $cities[1]";echo nl2br("\n");
?>
</br>
<?php
$cities = array( "Phoenix","Tucson","Flagstaff");   
$capitals = array( "CA" => "Sacramento","TX" => "Austin","OR" => "Salem",);
echo $capitals['TX'];echo nl2br("\n");  
?>
<body>
</html>

Notepad ++ vous permettra ensuite de réduire les sections arbitrairement et vous pourrez les étiqueter avec "#" . Juste apprendre PHP, donc mon code pourrait ne pas être génial; C'est toujours un processus en cours.

0
ITGuyOU