7

Geany で構文の強調表示とビルド オプションを機能させようとしていますが、何かアドバイスはありますか?

4

5 に答える 5

8

このページに気づきました: http://go-lang.cat-v.org/text-editors/geany/

必要なものはすべて揃っているようです。

于 2012-04-06T00:04:02.783 に答える
3

$GOROOT/misc およびhttp://go-lang.cat-v.org/text-editors/で、他のエディターの構文ファイルを調べて、アイデアを得ることができます。

それを除けば、C または C++ から始めてgo<-func、 などを追加/減算します。

于 2010-09-03T15:17:42.783 に答える
3

これは、Steve Horsley が golang-nuts に投稿した Geany の書式設定手順です。

  1. Geany で、Tools->Configuration Files->filetype_extensions.conf に移動し、次の新しい見出しを追加します。

    Go=*.go;
    
  2. C 定義 filetypes.c を filedefs/filetypes.Go.conf にコピーします。

    cp /usr/share/geany/filetypes.c ~/.config/geany/filedefs/filetypes.Go.conf
    
  3. filetypes.Go.conf を編集し、設定セクションとキーワード セクションを次のように変更します。

    [settings]
    # default extension used when saving files
    extension=go
    lexer_filetype=C
    
    [keywords]
    # all items must be in one line
    primary=break case chan const continue default defer else fallthrough for func go goto if import interface map package range return select struct switch type var
    secondary=byte int int8 int16 int32 int64 uint uint8 uint16 uint32 uint64 float32 float64 complex64 complex128 uintptr string
    
于 2012-04-28T01:46:32.580 に答える
1

Jaybill McCarthy が提供するリンクの指示を自動化する Python スクリプトを作成しました。

import shutil, re, os

HOME = os.environ['HOME']

shutil.copy('/usr/share/geany/filetype_extensions.conf', HOME +'/.config/geany/')
with open(HOME + '/.config/geany/filetype_extensions.conf', 'r') as f:
    fileData = f.read()
fileData = re.sub(r'Haskell=.*;', r'Go=*.go;\nHaskell=*.hs;*.lhs;', fileData)
fileData = re.compile('(\[Groups\][^\[]Programming=.*?$)', re.DOTALL|re.MULTILINE).sub(r'\1Go;', fileData)
with open(HOME + '/.config/geany/filetype_extensions.conf', 'w') as f:
    f.write(fileData)


textSettings = """[settings]
extension=go
lexer_filetype=C
comment_single=//
comment_open=/*
comment_close=*/
comment_use_indent=true
"""
textKeywords = """[keywords]
primary=break case chan const continue default defer else fallthrough for func go goto if import interface map package range return select struct switch type var
secondary=byte int int8 int16 int32 int64 uint uint8 uint16 uint32 uint64 float32 float64 complex64 complex128 uintptr string"""

shutil.copy('/usr/share/geany/filetypes.c', HOME + '/.config/geany/filedefs/filetypes.Go.conf')
with open(HOME + '/.config/geany/filedefs/filetypes.Go.conf', 'r') as f:
    fileData = f.read()
fileData = re.compile(r'\[settings\].*?^\[', re.DOTALL|re.MULTILINE).sub('%s\n\n[' %textSettings, fileData)
fileData = re.compile(r'\[keywords\].*?^\[', re.DOTALL|re.MULTILINE).sub('%s\n\n[' %textKeywords, fileData)
with open(HOME + '/.config/geany/filedefs/filetypes.Go.conf', 'w') as f:
    f.write(fileData)

print "Complete!"

これが私が怠け者であることを意味するのか、それともその逆なのかはわかりません... oO

于 2013-02-22T05:21:01.640 に答える
1

~/.config/geany/filetype_extensions.conf で Go ファイルタイプを定義しましたか?

[Extensions]
...
Go=*.go
...

conf ファイルがまだ存在しない場合は、/usr/share/geany からコピーして、その行を「拡張機能」の下に追加します (または、[ツール] > [構成ファイル] の下で探します)。

于 2010-12-01T19:31:33.013 に答える